2012-04-04 4 views
2

Betrachten Sie eine Funktion varargout = foo(varargin). Ich weiß, wie man ein comma separated list formatiert, also können wir varargin automatisch erzeugen. Z.B. [x y z] = ndgrid(-1:1,-1:1,-1:1) entspricht:Zuweisen von Daten aus einer Variablenausgabe-Argumentliste

inp = repmat({-1:1},[1 3]); 
[x y z] = ndgrid(inp{:}); 

Meine Frage ist: Wie bekomme ich den Ausgang (x,y,z im Beispiel) automatisch? Das heißt,

out = ndgrid(inp{:}); 

PS: Ich möchte mit eval vermeiden.

Antwort

1

Es sieht aus wie das funktionieren sollte:

out = cell(size(inp)); 
[out{:}] = ndgrid(inp{:}); 
Verwandte Themen