MATLAB错误消息"此语句不在任何函数内."

icy*_*ypy 4 matlab function

我试图定义一个简单的函数,然后调用它:

   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)
Run Code Online (Sandbox Code Playgroud)

MATLAB返回一条消息:错误:文件:matlab_labIII_3_I.m行:10列:1此语句不在任何函数内.(它遵循END,终止函数"MyExp"的定义.)

这个脚本适用于OCTAVE!

谢谢

小智 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
Run Code Online (Sandbox Code Playgroud)

此外,当您使用函数时,Matlab期望文件的名称与要调用的函数的名称相匹配.因此,应该命名文件MyProgram.m(或者命名主函数).