for文中で30行1列の関数から指定した要素を抜き出そうとすると「インデックスが配列要素数(1)を超えています」というエラーが出ます。
5 views (last 30 days)
Show older comments
H = [1:1:10]';
count_number = 1;
for loop = 0:10
H = H(count_number)
count_number = count_number + 1;
のようなプログラムを組んでいますが,エラーコードに「インデックスが配列要素数 (1) を超えています。」と表示されます。
for文内でH = H(count_number) のようにある特定の値を繰り返し次々と取り出すにはどうしたら良いでしょうか
0 Comments
Accepted Answer
Atsushi Ueno
on 9 Dec 2021
Edited: Atsushi Ueno
on 9 Dec 2021
> for文内でH = H(count_number) のようにある特定の値を繰り返し次々と取り出すにはどうしたら良いでしょうか
Hの要素にアクセスした結果H(count_number)をHに代入すると、Hがスカラ値として上書きされてしまうので、他の変数に結果を代入すればやりたい事が実現します。ここではHの代わりにGに代入しました。
またfor loop=0:10だと11回実行され、11回目にH(11)にアクセスする為エラーが発生します。
H = [1:1:10]';
count_number = 1;
for loop = 0:10
G = H(count_number) % ← 他の変数に結果を代入します
count_number = count_number + 1;
end
More Answers (0)
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!