我正在尝试定义一个简单的函数,然后调用它:
function p=MyExp(N);
p=[ 1 ]; % 0th order polynomial.
for k=1:N
pk=1/(factorial(k));
p=[pk,1];
end
end
poly3=MyExp(3);
disp (poly3)
MATLAB正在返回一条消息: 错误:文件:matlab_labIII_3_I.m行:10列:1 此声明不在任何函数内。 (它遵循END,终止函数的定义 " MyExp"。)
此脚本适用于OCTAVE!
由于
答案 0 :(得分:6)
如果在Matlab脚本中使用函数,则需要在函数内部包含所有代码,其中可以有多个函数。类似产品(Octave和Scilab)没有这个限制。
使用最少的代码更改可以轻松实现:将非功能代码包装到函数中,然后调用 。主要功能应首先出现在脚本中。
function MyProgram()
poly3=MyExp(3);
disp (poly3)
end
function p=MyExp(N);
p=[ 1 ]; % 0th order polynomial.
for k=1:N
pk=1/(factorial(k));
p=[pk,1];
end
end
此外,当您使用函数时,Matlab希望您的文件名与要调用的函数的名称相匹配。因此,该文件应命名为MyProgram.m
(或者您的主要函数的名称)。