我在Matlab上编写了一些程序。我在.m文件中做。现在它有300多个代码串,所以阅读起来不太舒服。我的想法是像在C++中一样使用它:我想在这个文件的末尾创建本地函数,并将代码放入其中。这将很容易阅读,它会包含一些逻辑部分。代码组织Matlab
但是我面临的事实是本地函数只能在其他函数体中创建!所以我不能创造这样的:
x = 1;
y = 2;
z = myLocalFnc(x,y);
function res = myLocalFnc (a,b)
res = a.*b;
end
此产生错误:
Function definitions are not permitted in this context.
我可以包括整个代码转换成一个功能做到这一点:
function myBigFcn
x = 1;
y = 2;
z = myLocalFnc(x,y);
end
function res = myLocalFnc (a,b)
res = a.*b;
end
但现在所有的变量变成本地变量,并且它不返回工作区。 修改此功能的输入/输出任何时候我创建一些变量 - 我不认为我走正确的方式... Here描述了这种方法的优点和缺点。
我知道我可以在附加的.m文件中创建函数,保存它并在我的脚本中使用 - 好吧,但其中很多是单操作的,我不想创建这么多的新文件。
我的问题是任何其他的代码组织方法?
@excaza我想我*唯一的原因是因为我们现在在2016b有一个* actual *解决方案,应该注意。 – Suever
@Suever所以添加它作为答案的愚蠢。没有理由在第一时间回答这个问题...... – excaza