次のコードがあります
o = ones(4,3,2)
c = cellfun(@squeeze,num2cell(o,[2 3]), 'UniformOutput', false)
これにより、予想どおり、それぞれが 3x2 の行列を含む 4 つのセルが得られます。
しかし、o の最後の次元を 1 に減らすと、動作はまったく期待どおりになりません。
o = ones(4,3,1)
c = cellfun(@squeeze,num2cell(o,[2 3]), 'UniformOutput', false)
出力は次のとおりです。
[1x3 double]
[1x3 double]
[1x3 double]
[1x3 double]
私が期待するのに対し:
[3x1 double]
[3x1 double]
[3x1 double]
[3x1 double]
正しい結果を得る方法はありますか?