【问题标题】:How to write code after defining a function in matlab? [duplicate]matlab定义函数后如何写代码? [复制]
【发布时间】:2016-02-03 17:50:18
【问题描述】:

在matlab中定义函数后如何编写代码?

我会将它们分开,但我必须将我的作业作为一个整体提交,一个 .m 文件。

它给出以下错误“此语句不在任何函数内。”。我在网上尝试了答案,但它不起作用。

我的 .m 文件从定义函数开始,在 end 语句之后,在定义之后我开始编写代码。我在代码中使用上面定义的函数

非常感谢。

【问题讨论】:

  • 请将您的代码添加为minimal reproducible example,以便我们查看哪里出错了。虽然没有看到您的代码,但我已经可以说您必须在function 命令及其相关的end 之间编写。结束后的所有内容都不属于定义,因为您结束了该定义。

标签: matlab


【解决方案1】:

你应该反过来做。

只需将您的“普通”脚本包装在一个函数中。然后,您可以在文件末尾声明其他函数。例如,如果您的文件名为 myHomework.m

function myHomework() % Should match the filename!
    n=6;
    if n>5
       x = someFunction(n);
       disp(x);
    end
end % Although this 'end' can usually be omitted, not now!

function out=someFunction(in)
    ...
end

【讨论】:

  • 外部可用函数的文件名和函数名必须匹配。
  • '@Daniel 我会编辑它,谢谢。有时很容易忘记显而易见的事情。
  • Function end 语句可以省略,只要文件中没有函数具有它们并且没有nested functions。虽然是这种情况,但为了便于阅读,我更喜欢包含它们。
  • @excaza 完全正确。我发布这个答案的方式几乎可以保证不会破坏任何原始代码,并且无意的额外“结束”不会导致所有函数都被解释为嵌套函数。
猜你喜欢
  • 2021-03-18
  • 2017-07-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-20
  • 1970-01-01
相关资源
最近更新 更多