変数の生成 for分

79 views (last 30 days)
洋生 福光
洋生 福光 on 22 Jan 2021
Commented: 洋生 福光 on 27 Jan 2021
現在変数の作成を行っているのですが
part1 = a1;
part2 = a2;
part3 = a3;
part4 = a4;
・・・
と書いていくとプログラムの行数が多くなってしまうので、for文を使って簡略化しようと思っているのですが
for i = 1 : 1 :10
' part ' + i = 'a' + i
end
という風に書きたいのですがどの様に書けばよいのでしょうか?
初歩的な質問ですみません💦

Accepted Answer

Naoya
Naoya on 25 Jan 2021
変数の連番をループを使って定義する方法として eval , num2str を使う方法があります。
eval は 指定した文字列を実行する関数となります。
num2str は数字を文字列に変更するコマンドとなります。
<実行例>
for n = 1:5
str = ['part',num2str(n),'=a',num2str(n),';'];
eval(str)
end
※ なお、通し番号つきの変数(A1, A2,...,An)については、eval 関数を使って定義する方法よりも、構造体やセル配列などを用いて 1つの変数として管理する方法が推奨されています。
参考情報として以下記事が参照できます。
  1 Comment
洋生 福光
洋生 福光 on 27 Jan 2021
分かりやすい回答ありがとうございます。

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!