2012-04-04 22 views
2

関数varargout = foo(varargin)を考えてみましょう。私はcomma separated listをフォーマットする方法を知っているので、vararginを自動的に生成することができます。例えば。 [x y z] = ndgrid(-1:1,-1:1,-1:1)は同等です:可変出力引数リストからのデータの割り当て

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

私の質問は:私は自動的に出力(例ではx,y,z)を得る方法を教えてください。たとえば、

out = ndgrid(inp{:}); 

PS:evalを使用しないでください。

答えて

1

これは動作するはずのようになります。

out = cell(size(inp)); 
[out{:}] = ndgrid(inp{:}); 
関連する問題