インデックスの変更で​​、変数の値が変更さ​れ​る理由がわからず​困っ​ています。

3 visualizaciones (últimos 30 días)
kN
kN el 8 de Feb. de 2022
Comentada: kN el 8 de Feb. de 2022
インデックスの変更で​、変数の値が変更され​る理由がわからず困っ​ています。xの配列数​を増やすとエラーがな​くなります。最初に準​備すると配列数との関​係をどなたか教えてい​ただけないでしょうか​。実行すると、以下の​エラーが発生します。​”インデックスが配列​要素数 (12) を超えています。 エラー: p7_1_4 (line 10) F=x(ind); ”。
x=(1:12)*2;
ind=[1 3 5 7 9 11;2 4 6 8 10 12;3 5 7 9 11 13];
F=x(ind);

Respuesta aceptada

Atsushi Ueno
Atsushi Ueno el 8 de Feb. de 2022
数を減らして分かりやすく提示します。
x=(1:4)*2
x = 1×4
2 4 6 8
ind=[1 3;2 4]
ind = 2×2
1 3 2 4
F=x(ind) % xの1番目、2番目、3番目、4番目の数値がindの配置通りに選択される
F = 2×2
2 6 4 8
ind=[1 3;2 4; 3 5]
ind = 3×2
1 3 2 4 3 5
F=x(ind) % xの5番目(未定義)にアクセスしようとしたのでエラーが出る
Index exceeds the number of array elements. Index must not exceed 4.
  5 comentarios
Atsushi Ueno
Atsushi Ueno el 8 de Feb. de 2022
indのインデックスがxのインデックスになる訳ではありません。
indの値自体がxのインデックスになります。
kN
kN el 8 de Feb. de 2022
ご説明ありがとうございました。
勘違いしているポイントが分かりました。

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre 行列および配列 en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!