在一个文件中清除许多MATLAB函数

时间:2014-12-18 11:59:06

标签: matlab

我在matlab中有很多小函数,是否可以将它们全部放在一个文件中,这样我的工作看起来会更清晰?

我尝试编写一个小脚本,然后添加功能但是没有用

关于怎么做的任何想法?

2 个答案:

答案 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)

如果您有一个功能文件,可以在该文件中添加其他功能。

如果您有脚本,则无法向其添加功能。

请注意,如果您将某个功能放入文件中,则无法直接从“主要”外部访问这些功能。功能范围。


一般情况下,我建议使用文件夹或正确的文件名来组织您的功能,而不是将其中的许多文件堆叠在一个文件中。

<强>附加

如果您的函数非常小而且无关紧要,那么您可以编写一个带有匿名函数声明的脚本,以便于重用。然而,这可能不是你想要的。