MATLAB错误消息”此语句不在任何函数中。”

您所在的位置:网站首页 matlab该语句不完整 MATLAB错误消息”此语句不在任何函数中。”

MATLAB错误消息”此语句不在任何函数中。”

2023-03-26 05:59| 来源: 网络整理| 查看: 265

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

1234567891011   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上效果很好!

谢谢

相关讨论 什么是matlab_labIII_3_I.m?它与MyExp有什么关系? matlab_labIII_3_I.m是我正在执行的文件名。

如果在Matlab脚本中使用函数,则应将所有代码包含在一个或多个函数内部,其中可以包含多个代码。类似产品(Octave和Scilab)没有此限制。

有一个简单的方法,只需很少的代码更改:将非函数代码package到函数中,然后调用该函数。主要功能应首先出现在脚本中。

123456789101112function 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(或任何主要函数名称)。

相关讨论 因此,您是说每个定义的函数都需要使用自己的脚本? 不,您可以在脚本中具有两个或多个函数。我说过,一旦有一个功能,所有功能都必须在某个功能内。 另外,我应该说主要功能应该是第一个功能。 这是非常不直观的,因为我来自Python世界,但是我在MATLAB中进行了数学分配。这种MATLAB约束非常令人失望。我喜欢在脚本的开头定义函数,以后再在同一脚本中使用它们(就像在python中一样)。感谢您提供快速而翔实的答案。 我也觉得这很不直观,也很令人失望。 :) Matlab的发展历程很长,并遵循80年代的一些惯例。许多用户将他们的任务分解为一堆.m文件,每个文件都包含一个功能... 这里的帮助与您矛盾。我不是说你错了...但是基本上,您只是在定义功能文件而不是脚本。 mathworks.com/help/matlab/matlab_prog/



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3