reshapeについてのエラーに関して

ZN=482;
DOD=csvread('RDOD.csv');
DOD=permute(reshape(DOD,[ZN ZN 3]),[2 1 3]);
この際にエラーが生じて「要素数をRESHAPEするためにへんこうしてはいけません。」と表示され、解決できませんでした。この原因を教えてほしいです。

답변 (1개)

michio
michio 2020년 11월 4일

0 개 추천

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 ではないことを意味しています。

카테고리

도움말 센터File Exchange에서 Logical에 대해 자세히 알아보기

제품

릴리스

R2015b

태그

질문:

2020년 11월 2일

답변:

2020년 11월 4일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!