質問: reshapeについてのエラーに関して zn=482; dod=csvread('rdod.csv'); dod=permute(reshape(dod,[zn zn 3]),[2 1 3]); この際にエラーが生じて「要素数をreshapeするためにへんこうしてはいけません。」と表示され、解決できませんでした。この原因を教えてほしいです。
回答: reshape は行列の形を変える関数ですので、変更前と変更後で要素の合計数が変わってしまう変更はできません。 例えば 1x10 のベクトルを 2x5 の行列に変更します。 x = 1:10; reshape(x,2,5) ans = 1 3 5 7 9 2 4 6 8 10 これは要素数がともに10で同じなので問題ないですが、例えば reshape(x,1,5) は x を 1x5 の行列に変更しようとしていますが、要素数が異なるのでエラーとなります。 reshape(dod,[zn zn 3]) でエラーが出ているという事は、dod という変数の要素数が znxznx3 ではないことを意味しています。