声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1472|回复: 1

[编程技巧] matlab 程序的结构问题

[复制链接]
发表于 2011-9-11 14:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
本帖最后由 leison1982 于 2011-9-11 14:59 编辑

问题描述:对于一个matlab程序包含主程序和子程序,写在同一个m文件里.一般结构是这样的:

—function 主程序名
| 。。。主程序语句(需调用下面的子程序)

—function 子程序名
|。。。子程序语句

点“—”号可以把相应的部分收起来。主程序和子程序是分开的,相互独立
而现在我遇到一个程序的结构是这样的谁知道怎么弄的?

—function 主程序名
| 。。。主程序语句(需调用下面的子程序)
|
—function 子程序名
|。。。子程序语句
点第一个‘—’把所有的程序都收起来了,好像子程序是包含在主程序里的
自己试着写了一个,发现写子程序的‘function’,就自动与主程序分开了。
不知道描述清楚没有,谁看懂了请告诉我是怎么回事?
回复
分享到:

使用道具 举报

发表于 2011-9-12 15:43 | 显示全部楼层
本帖最后由 ChaChing 于 2011-9-12 15:48 编辑

回复 1 # leison1982 的帖子

重申下以往版规, "求助完整格式:出错代码和出错提示"! 没有这些都只得猜测! 不是吗!?
猜测可能是Nested Functions的差异吧! 请LZ比较下以下之间的不同!
知道原因后, 别忘记再与大家分享心得!
  1. function zza
  2. a=add7(3,2)+2;
  3. disp(a);
  4. function a=add7(b,c)
  5. a=b+c;
  6. disp(a);
复制代码
  1. function zza  %注意这个会报错!
  2. a=add7(3,2)+2;
  3. disp(a);
  4. function a=add7(b,c)
  5. a=b+c;
  6. disp(a);
  7. end
复制代码
  1. function zza
  2. a=add7(3,2)+2;
  3. disp(a);
  4. end
  5. function a=add7(b,c)
  6. a=b+c;
  7. disp(a);
  8. end
复制代码
  1. function zza
  2. a=add7(3,2)+2;
  3. function a=add7(b,c)
  4. a=b+c;
  5. disp(a);
  6. end
  7. disp(a);
  8. end
复制代码
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-16 06:01 , Processed in 0.058851 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表