変数の生成 for分

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

Réponse acceptée

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

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!