可能重复:
Matlab中的默认参数
我在Matlab,test1和test2中有两个函数,如下所示.
function [C,D] = test1(A,B)
A = 50;
B = 20;
C = A + B;
D = A - B;
end
Run Code Online (Sandbox Code Playgroud)
和
function test2
C = 1000;
D = 500;
[A,B] = test1(C,D);
display(A)
display(B)
end
Run Code Online (Sandbox Code Playgroud)
现在我想要做的是在函数test1中为A和B设置默认值,但也能够从函数test2等另一个函数传递函数test1不同的值.因此默认情况下,在函数test1中将A和B设置为50和20,但是函数test2能够用1000和500替换它们,并获得等效的C和D结果(在1000和500的情况下,得到结果)分别为C和D的1500和500)
我怎样才能做到这一点?任何帮助将不胜感激.谢谢
您可以将Matlab varargin用于此目的,例如
function [C,D] = test1(varargin)
A = 50;
B = 20;
if nargin > 0
A = varargin{1};
end
if nargin > 1
B = varargin{2};
end
C = A + B;
D = A - B;
end
Run Code Online (Sandbox Code Playgroud)