我的Matlab脚本.m文件变得越来越大。
我想通过将主文件中的函数移动到几个其他.m文件中,每个文件基于功能类别,从而将功能移动到多个.m文件中。
主.m文件如何“调用”这些其他新.m文件中的函数?
我的Matlab脚本.m文件变得越来越大。
我想通过将主文件中的函数移动到几个其他.m文件中,每个文件基于功能类别,从而将功能移动到多个.m文件中。
主.m文件如何“调用”这些其他新.m文件中的函数?
我的回答中提供的所有信息都可以在MATHWORKS的函数基础知识中找到。
如何在MATLAB中创建一个函数?您可以使用以下模板。另外,函数的名称和文件名应该是相似的。
% ------------------- newFunc.m--------------------
function [out1,out2] = newFunc(in1,in2)
out1 = in1 + in2;
out2 = in1 - in2;
end
%--------------------------------------------------
要使用多个函数,您可以将它们应用于单独的m-file
,也可以使用nested/local
结构:
单独的m文件:
在这种结构中,您将每个函数放入单独的文件中,然后通过其名称在主文件中调用它们:
%--------- main.m ----------------
% considering that you have written two functions calling `func1.m` and `func2.m`
[y1] = func1(x1,x2);
[y2] = func2(x1,y1);
% -------------------------------
本地函数:
在这个结构中,您有一个单独的m文件,在这个文件中,您可以定义多个函数,例如:
% ------ main.m----------------
function [y]=main(x)
disp('call the local function');
y=local1(x)
end
function [y1]=local1(x1)
y1=x1*2;
end
%---------------------------------------
嵌套函数:
在这种结构中,函数可以包含在另一个函数中,例如:
%------------------ parent.m -------------------
function parent
disp('This is the parent function')
nestedfx
function nestedfx
disp('This is the nested function')
end
end
% -------------------------------------------
您不能从m文件外部调用嵌套函数。要这样做,您必须使用每个函数单独的m文件,或使用类结构。
script
和function
之间的区别。然后更详细地查看function
部分,以了解如何在独立文件中编写独立函数。 - Hokim
文件中。 - Hoki