我在matlab中有很多小函数,是否可以将它们全部放在一个文件中,这样我的工作看起来会更清晰?
我尝试编写一个小脚本,然后添加功能但是没有用
关于怎么做的任何想法?
答案 0 :(得分:4)
不可能在一个文件中有多个功能,因为该功能是通过文件名访问的。这就是为什么函数必须与文件名具有相同的名称。
如果您只访问"小"函数在另一个函数内部,然后你可以将小函数放在另一个函数的文件中,但是它们只能被这一个函数访问。这在MATLAB中称为本地函数。例如,您有一个文件test.m
,其中包含:
function x=test(y,z)
x = add(y,z)
end
function a=add(b,c)
a = b + c;
end
然后,您只能在add
内使用test
,但您可以照常使用test
。
我通常做的是将函数放在子文件夹中。这有助于您保持路径清洁,没有任何限制。这也可以让您更好地封装您的软件。您唯一要做的就是使用
将文件夹添加到路径中addpath('subfolder');
答案 1 :(得分:1)
如果您有一个功能文件,可以在该文件中添加其他功能。
如果您有脚本,则无法向其添加功能。
请注意,如果您将某个功能放入文件中,则无法直接从“主要”外部访问这些功能。功能范围。
一般情况下,我建议使用文件夹或正确的文件名来组织您的功能,而不是将其中的许多文件堆叠在一个文件中。
<强>附加强>
如果您的函数非常小而且无关紧要,那么您可以编写一个带有匿名函数声明的脚本,以便于重用。然而,这可能不是你想要的。