2013-11-20 63 views
0

我想用另一个函数调用Matlab中的函数,该输入和输出数相同。实际上,这些输入和输出具有相同的名称。调用具有相同输入和输出数的另一个函数

例子:

function [a,b] = gettwo(matrix,string,varargin) 
    [a,b] = getone(matrix,string,varargin{:}); 
end 

此代码产生以下错误:

Error in getone(line 3) 
aux = 'matrix(varargin{:})'; 

Output argument "b" (and maybe others) not assigned during 
call to "C:\Users\baister\Documents\MATLAB\soft\getone.m>getone". 

Error in results (line 4) 
[a,b] = getone(matrix,string,varargin{:}); 

我应该如何包装getone

(的权威函数将具有比在该交示出的那些更多的线。)

感谢。

+2

包装本身看起来是正确的 - 但'getone'似乎只产生一个输出,而不是两个。 – sebastian

+0

'getone'根据'string'产生一个或两个值。我想'gettwo'也这样做。我怎样才能做到这一点? – baister

回答

1

对于输出变量数一般应换工作是这样的:

function [varargout] = gettwo(matrix,string,varargin) 
    [varargout{1:nargout}] = getone(matrix,string,varargin{:}); 
end 

你虽然得到了同样的错误如上,如果你做

[a,b] = gettwo(...); 

只有getone回报1个参数。

相关问题