MATLAB中多变量函数的函数

时间:2014-03-08 19:30:20

标签: matlab return-value

我有一个返回三个值[A,B,C]=ABC(x)的函数。

是否可以以优雅的方式定义函数A(x),以便返回第一个值ABC(x)B(x)作为第二个值,等等?

由于

3 个答案:

答案 0 :(得分:2)

不完全清楚你是否真的意味着ABC返回一个向量,或者它返回三个值(每个值可能是任何对象)。如果你的意思是“向量”有三个元素,[A B C]。然后你可以这样做:

function a = A(x)
temp = ABC(x);
a = temp(1);

答案 1 :(得分:2)

当您编写函数([A,B,C]=ABC(x))时,它不会返回每个数据的向量,它会返回3个值。

如果你这样称呼你的功能

a = ABC(x)

a等于A

编辑:

function b = B(x)
[~, b, ~] = ABC(x)
end

答案 2 :(得分:0)

如果您可以接受,则可以包含第二个输入参数。您可以使用varargin接受可变数量的输入参数。

function outValue=ABC(varargin);

if nargin==0
   error('Need at least one argument');
elseif nargin==1
   %obtain result
   outValue=result;
elseif nargin==2
   %obtain result
   outValue=result(index);
else
   error('Function accepts maximum of 2 arguments');
end

end