変数の生成 for分

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

Risposta accettata

Naoya
Naoya il 25 Gen 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 Commento
洋生 福光
洋生 福光 il 27 Gen 2021
分かりやすい回答ありがとうございます。

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!