for文中で30行1列の関数から指定した要素を抜き出そうとすると「インデックスが配列要素数(1)を超えています」というエラーが出ます。
5 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
採用された回答
Atsushi Ueno
2021 年 12 月 9 日
編集済み: Atsushi Ueno
2021 年 12 月 9 日
> 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
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!