我有一个返回三个值[A,B,C]=ABC(x)
的函数。
是否可以以优雅的方式定义函数A(x)
,以便返回第一个值ABC(x)
,B(x)
作为第二个值,等等?
由于
答案 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