Can I store multiple outputs of a function into a cell?
15 次查看(过去 30 天)
显示 更早的评论
I am using the function 'ndgrid' to construct a n-dimensional mesh. But I would like to generalize my programme for n-dimensions.
Is there any way where I could store the outputs of the function into a cell, as the number of outputs depends on the number of dimensions.
Something like :
X{:} = ndgrid(x{:})
4 个评论
Guillaume
2017-3-30
@Rik, KSSV, this is indeed commonly used with ndgrid when you want to generate the cartesian product of an unknown number of vectors:
function p = cartprod(c)
%returns the cartesian products of the vectors contained in cell array v
p = cell(size(c));
[p{:}] = ndgrid(c{:});
p = cell2mat(cellfun(@(x) x(:), p, 'UniformOutput', false));
end
采纳的回答
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrices and Arrays 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!