堆叠有堆叠的ndgrid(x1,..,xd)
d
输出到d+1
维阵列,而无需使用像周期多维阵列在Matlab
cgrid=cell(1,d);
[cgrid{:}]=ndgrid(x1, x2, ... , xd);
agrid=zeros([d, size(cgrid{1})]);
for jj=1:d
agrid(jj,:)=reshape(cgrid{jj},size(agrid(jj,:)));
end
agrid=reshape(cell2mat(cellfun(@(c) c{:},cgrid)),[d, size(cgrid{1})])
或任何变通方式短?
在我看来,即使是使用多维数组的简单操作也需要大量的低级命令。
检查这个职位。这可能会有所帮助。 http://stackoverflow.com/questions/14770081/create-a-multidimensional-array-in-matlab – vkrams