2015-12-01 40 views
1

我有一個函數,我正在接收參數作爲varargin參數的一部分。然而,在這個函數內是使用varargin的另一個函數調用。我如何將第一個varargin的內容傳遞給嵌套函數,而不是以單元數組的單元數組結束?將可變數量的字符串從MATLAB函數傳遞到函數

也就是說,給定以下代碼:

function foo(varargin) 
    bar(varargin) 
end 

function bar(varargin) 
    % Do something with varargin 
end 

foo('ab', 'cdef') 

bar(varargin)varargin是含有1×2單元陣列{'ab', 'cdef'}一個1x1單元陣列。

我想,而不是寫的東西,其中:

foo('ab', 'cdef') 

能給bar(varargin)調用其中varargin只是一個1x2的單元陣列{'ab', 'cdef'}

如何將foo調用中的varargin單元陣列的內容傳遞給bar調用中的單個參數?

+2

你可以做'條帶出單元陣列的元件(varargin {:});'? – houtanb

+0

是的。我可以。這很簡單。謝謝! – marcman

+0

沒問題。我會寫答案,以便您可以將其標記爲已接受 – houtanb

回答

5

只需通過使用{:}結腸參數

function foo(varargin) 
    bar(varargin{:}); 
end