在单独的函数文件中调用函数 - matlab

时间:2017-07-07 13:23:48

标签: matlab function

根据我对matlab的理解,如果你想定义一个函数并在你的“主文件”中使用它,你需要在一个单独的文件中编写该函数,并在你的“主文件”的开头调用它。 addpath('...\myfunction.m')

现在假设我在f1中使用f1.m中定义函数main.m,如果我想定义函数f2(在另一个文件中)需要拨打f1,我可以在addpath()...\f1.m文件中使用f2.m吗?或者在f1中调用f2的最佳方式是什么?

3 个答案:

答案 0 :(得分:0)

您应该创建一个在开始时运行的startup.m文件。位于您当前的目录中。这应该包括您需要添加的所有路径。

所以你的m文件看起来像是:

startup
f1
f2

答案 1 :(得分:0)

最好的方法是将您的功能放在同一个文件夹中,或者您需要按文件夹添加文件夹。 因此,如果您将f1.mf2.mf3.m放在不同的文件夹中,则必须为每个功能调用addpath。 如果您有“myfunctions”文件夹,则只需addpath('...\myfunctions\')

即可

如果您的主题脚本位于同一文件夹中,并且您的文件名为“myfunctions”,则只需将该文件夹添加到路径即可。 E.g。

%Main script
addpath('myfunctions')
x = -0.5 + rand(100,1); 
y = -0.5 + rand(100,1);
[a,b] = f1(x,y);

在'myfunctions'中,您有f1f2

function [a,b] = f1(x,y)
a = x + y;
b = f2(a);
end

_

function b = f2(inp)
b = inp<0;
end

您不能将addpath与文件一起使用,它必须是文件夹

答案 2 :(得分:0)

将所有文件保存在打开matlab的文件夹中,并且您不需要addpath来明确告诉matlab在告知目录中搜索文件