2013-11-20 36 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個參數。

相關問題