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

3 visualizzazioni (ultimi 30 giorni)
kN
kN il 8 Feb 2022
Commentato: kN il 8 Feb 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);

Risposta accettata

Atsushi Ueno
Atsushi Ueno il 8 Feb 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 Commenti
Atsushi Ueno
Atsushi Ueno il 8 Feb 2022
indのインデックスがxのインデックスになる訳ではありません。
indの値自体がxのインデックスになります。
kN
kN il 8 Feb 2022
ご説明ありがとうございました。
勘違いしているポイントが分かりました。

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su 行列および配列 in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!