2012-09-24 9 views
10

voglio scrivere una scorciatoia per fprintf(..).Matlab - Passa varargin a una funzione accettare numero variabile di argomenti

varargin è una matrice di celle. Così come posso passarlo al fprintf(..)? Quest'ultimo accetta solo un numero variabile di matrici.

Quanto segue non funziona:

function fp(str, varargin) 
    fprintf(str, varargin); 
end 

dando

Error using fprintf 
Function is not defined for 'cell' inputs. 

o

Error: Unexpected MATLAB expression. 

risposta

15

La soluzione è:

function fp(str, varargin) 
    fprintf(str, varargin{:}); 
end 
.210

La matrice di celle è espanso in un elenco separato da virgole utilizzando la sintassi {:}.

un collegamento utilizzando una funzione anonima è

fp = @(str, varargin) fprintf(str, varargin{:}); 
Problemi correlati