Matlab中ndgrid的动态输出

时间:2012-06-26 14:13:58

标签: matlab dynamic

我想用 ndgrid 为n维数组生成索引。由于维度可能会改变,有没有办法包装ndgrid,以便ndgrid的输出数量是动态的?比方说,我希望2维数组的输出为:

 [output{1} output{2}]=ndgrid(1:5)

和3维数组的输出为:

 [output{1} output{2} output{3}]=ndgrid(1:5)

等等......

1 个答案:

答案 0 :(得分:3)

如果您想要不同尺寸的不同尺码,您可能需要考虑以下事项: creating adjacency matrix。 相关部分是:

ndim = numel(sz);
I=cell(ndim,1);
% construct the neighborhood
for di=1:ndim
    I{di}=1:sz(di);
end
[I{1:ndim}]=ndgrid(I{:});