1

dサイクルのような回避策を使用せずに出力をndgrid(x1,..,xd)次元d+1配列にスタックする簡単な方法はありますか

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})])

多次元配列を使った単純な操作でさえ、多くの低レベルのコマンドを必要とするように私には思えます。

4

1 に答える 1