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

3 Ansichten (letzte 30 Tage)
kN
kN am 8 Feb. 2022
Kommentiert: kN am 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);

Akzeptierte Antwort

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu 行列および配列 finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!