关于主程序与子程序写在一个m文件里
为了方便,我想把子程序都放在主程序里面。根据我搜到的帖子,说是写成下面形式即可,主要是在主程序也加上function
function zz
code...
function yy= fun(...)
code
return
但是我这样还是出错,错误出现在主程序的function处,显示为:
function definitions are not permitted at the prompt or in scripts.
希望帮忙,非常感谢。
回复 楼主 东山客 的帖子
个人水平专业有限, 建议楼主说清楚些!给出简化后的程序, 及怎呼叫! 我的意思是,我在主程序的第一行加了“function 文件名”命令,在后面的子程序开头也加了function。这样还是出错,
显示是function definitions are not permitted at the prompt or in scripts.
希望我说清楚了。谢谢。 楼主的意思是把主程序和子程序放在同一个m文件里,然后运行主程序的时候会调用子程序的内容?
这是可以的,看看这个测试文件,文件内容如下:
function zz()
disp('main function --> zz');
pp();
end
function fun=pp()
disp('Sub funciton pp called');
end
运行结果:
>> zz
main function --> zz
Sub funciton pp called
回复 板凳 东山客 的帖子
个人水平专业有限, 感觉还是没说明白!还好我试出LZ的错误讯息了!
LZ是否直接将程序复制至command win执行!? 那不行!
是要存成一m-function档案后, 再呼叫!
[ 本帖最后由 ChaChing 于 2009-11-20 22:33 编辑 ] 问题解决了。谢谢。
接着以上面例子为例
我错误的原因是function zz()上一行加了句clc;
这样就总是出错。加在function zz()下一行就没有问题。
这样看来,function zz()必须是第一行?
回复 6楼 东山客 的帖子
个人水平有限, 若LZ一开始给齐完整格式:出错代码和出错提示!可能大家较容易debug 不好意思。本人编程能力一般。确实没想到是那句clc的问题,看了上面的例子,对应着逐渐注释程序才找到的错误。
回复 8楼 东山客 的帖子
没关系! 大家互相从错误中学习经验!
页:
[1]