2012-04-04 3 views
2

함수를 생각해보십시오 varargout = foo(varargin). 나는 우리가 varargin을 자동으로 생성 할 수 있도록 comma separated list을 포맷하는 법을 알고 있습니다. 예 :변수 출력 인수 목록에서 데이터 할당

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

내 질문은 : 어떻게 자동으로 (예에서는 x,y,z)를 출력를 얻을 수 있습니까 [x y z] = ndgrid(-1:1,-1:1,-1:1)은 동등하다? 예 :

out = ndgrid(inp{:}); 

추신 : eval을 사용하지 않으려합니다.

답변

1

이것이 작동합니다 같습니다

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