banditxue 发表于 2006-4-21 17:37

[求助]matlab自定义函数调用的问题!!

用matlab定义3个function,比如:function NO.1、function No.2、function NO3。然后写一个main.m函数,数据输入用data.m表示。调用过程为main调用NO.1,NO.1调用NO.2,NO.2调用NO.3。但是data中数据的读入在main.m文件中实现,运行之后错误提示为:调用NO.1的main程序有未定义变量,调用NO.3的NO.2函数有未定义变量,(当然这些变量在data中已经写入),但是没有提示调用NO.2的NO.1有未定义变量!<BR>问题是:一、function定义的函数是不是不能连续嵌套?二、main函数里feval进data.m怎么才能在下一级的函数中继续使用?三、就是我的问题该怎么解决?

补充一点吧,在NO1、NO2、NO3三个函数中同时使用了data.m定义的parameter1和parameter2,而且main函数中也使用了这两个参量。
这会不会是导致程序出错的问题呢?
如果真的是这样的话,不改变原来设定的情况下,如何实现正常的调用呢?
请大家赐教!

[ 本帖最后由 ChaChing 于 2010-6-17 16:28 编辑 ]

happy 发表于 2006-4-22 22:02

回复:(banditxue)[求助]matlab自定义函数调用的问题...

最好把具体程序贴出来,嵌套是可以的

flight 发表于 2006-4-22 22:32

不太明白,但是不是在所有的程序里都定义好了必要的全局变量呢?

happy 发表于 2006-4-23 11:38

回复:(flight)不太明白,但是不是在所有的程序里都...

<DIV class=quote><B>以下是引用<I>flight</I>在2006-4-22 22:32:22的发言:</B><BR>不太明白,但是不是在所有的程序里都定义好了必要的全局变量呢?</DIV>
<br>不一定要用全局变量,个人基本很少用,容易乱

buaalqq 发表于 2006-4-23 18:16

回复:(banditxue)补充一点吧,在NO1、NO2、NO3三个...

我看楼主自己的分析十有八九是对的,各个函数的工作空间是相互独立的,data里的变量其他函数肯定是不能调用的。

feichang61 发表于 2006-4-23 18:43

我也觉得是这样
页: [1]
查看完整版本: [求助]matlab自定义函数调用的问题!!