"添字による代入の次元が一致しません" のエラーが発生するのはなぜですか?

自作のプログラムを実行すると、以下のエラーが発生します。原因を教えてください。
 
添字による代入の次元が一致しません。

 採用された回答

MathWorks Support Team
MathWorks Support Team 2017 年 5 月 19 日

0 投票

上記のエラーメッセージは、行列もしくはベクトルに対して、指定されたインデックスが示す値よりも、大きなサイズの値を代入(割り当て)しようとした場合に発生します。
例:
>> A = zeros(2,3)
A =
0 0 0
0 0 0
>> A(:,1) = ones(3,1)
添字による代入の次元が一致しません。
上記の例では、
左辺は、2x1 の要素
 
>> A(:,1)
ans =
0
0
ですが、右辺は、3x1 の要素
 
>> ones(3,1)
ans =
1
1
1
のため、エラーが発生しています。
エラーを回避するには、エラーが発生しているプログラム行において、左辺と右辺の割り当てのデータサイズが一致しているか、ご確認ください。
 

その他の回答 (0 件)

カテゴリ

製品

タグ

タグが未入力です。

Community Treasure Hunt

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

Start Hunting!