heruisi 发表于 2009-7-8 21:10

MATLAB中主程序和子函数可以写在一个M文件中吗?

代码如下:
函数:
比如把主、子程序放一起的话就报错,分成两个文件就没问题了:
function y=G_function(A,fi,s,f)
   y=A.*exp(-((f-fi).^2)./(2*(s.^2)));
end

主程序:
fmax=10;
A1=(50/((18*pi).^0.5))./fmax;
f=-12:0.1:12;
S_G1=G_function(A1,-0.8.*fmax,0.05.*fmax,f)+G_function(A1./10,0.4.*fmax,0.1.*fmax,f);
plot(f,S_G1);

把主、子程序放一起的话就报错,分成两个文件就没问题了,想问一下能够实现二者合为一个M文件吗?

dtczhl 发表于 2009-7-8 21:21

你那个主程序不是函数吧。。。貌似只是脚本。。。。

主函数和子函数是可以放在一个M文件的。。。

heruisi 发表于 2009-7-8 21:27

原帖由 dtczhl 于 2009-7-8 21:21 发表 http://www.chinavib.com/forum/images/common/back.gif
你那个主程序不是函数吧。。。貌似只是脚本。。。。

主函数和子函数是可以放在一个M文件的。。。



就是说主函数和子函数可以放一起,
但脚本文件和其所调用的子函数不能放一起了对吧?
这样很麻烦……

ChaChing 发表于 2009-7-8 22:28

是的!
脚本文件和其所调用的子函数若一定要放一起, 只得script前加上function即变为m-function!
不麻烦吧!

heruisi 发表于 2009-7-8 22:40

原帖由 ChaChing 于 2009-7-8 22:28 发表 http://www.chinavib.com/forum/images/common/back.gif
是的!
脚本文件和其所调用的子函数若一定要放一起, 只得script前加上function即变为m-function!
不麻烦吧!


抱歉,能写详细点吗?不太懂这方面的东西!谢谢

ChaChing 发表于 2009-7-8 22:55

function zzz
fmax=10; A1=(50/((18*pi).^0.5))./fmax; f=-12:0.1:12;
S_G1=G_function(A1,-0.8.*fmax,0.05.*fmax,f)+G_function(A1./10,0.4.*fmax,0.1.*fmax,f);
plot(f,S_G1);

function y=G_function(A,fi,s,f)
   y=A.*exp(-((f-fi).^2)./(2*(s.^2)));
页: [1]
查看完整版本: MATLAB中主程序和子函数可以写在一个M文件中吗?