【发布时间】:2016-11-13 09:58:02
【问题描述】:
我在 Matlab 写了一些程序。我在 .m 文件中执行此操作。现在有 300 多串代码,所以阅读起来不太舒服。我的想法是像在 C++ 中一样使用它:我想在这个文件的末尾创建本地函数并将代码片段放入其中。它很容易阅读,并且由一些逻辑部分组成。
但我面临一个事实,本地函数只能在其他函数的主体中创建!所以我不能创建这个:
x = 1;
y = 2;
z = myLocalFnc(x,y);
function res = myLocalFnc (a,b)
res = a.*b;
end
这会产生错误:
在此上下文中不允许函数定义。
我可以通过将整个代码包含在一个函数中来做到这一点:
function myBigFcn
x = 1;
y = 2;
z = myLocalFnc(x,y);
end
function res = myLocalFnc (a,b)
res = a.*b;
end
但是现在所有变量都变成了本地变量,它什么也没有返回到工作区。 每当我创建一些变量时修改此函数的输入/输出 - 我认为我走的路不对...Here 描述了这种方法的优点和缺点。
我知道我可以在额外的 .m 文件中创建函数,将其保存并在我的脚本中使用 - 好的,但其中很多都是单操作,我不想创建这么多新文件。
我的问题是还有其他的代码组织方法吗?
【问题讨论】:
-
@excaza 我想我 not 标记为骗子的唯一原因是我们现在在 2016b 有一个 actual 解决方案,应该注意这一点.
-
@Suever 所以将它添加为欺骗的答案。首先没有理由回答这个问题......
标签: performance matlab function