将值传递给MatLab中的函数

tho*_*s87 0 matlab function

可能重复:
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)

我怎样才能做到这一点?任何帮助将不胜感激.谢谢

3le*_*gos 5

您可以将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)