从变量输出参数列表中分配数据

时间:2012-04-04 17:00:13

标签: function matlab arguments

考虑一个函数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 个答案:

答案 0 :(得分:1)

看起来这应该有效:

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