2

考虑一个函数varargout = foo(varargin)。我知道如何格式化逗号分隔的列表,以便我们可以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在示例中)?IE,

out = ndgrid(inp{:});

PS:我想避免使用eval.

4

1 回答 1

1

看起来这应该有效:

out = cell(size(inp));
[out{:}] = ndgrid(inp{:});
于 2012-04-04T17:24:52.557 回答