根据我对matlab的理解,如果你想定义一个函数并在你的“主文件”中使用它,你需要在一个单独的文件中编写该函数,并在你的“主文件”的开头调用它。 addpath('...\myfunction.m')
。
现在假设我在f1
中使用f1.m
中定义函数main.m
,如果我想定义函数f2
(在另一个文件中)需要拨打f1
,我可以在addpath()...\f1.m
文件中使用f2.m
吗?或者在f1
中调用f2
的最佳方式是什么?
答案 0 :(得分:0)
您应该创建一个在开始时运行的startup.m文件。位于您当前的目录中。这应该包括您需要添加的所有路径。
所以你的m文件看起来像是:
startup
f1
f2
答案 1 :(得分:0)
最好的方法是将您的功能放在同一个文件夹中,或者您需要按文件夹添加文件夹。
因此,如果您将f1.m
,f2.m
,f3.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'中,您有f1
和f2
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在告知目录中搜索文件