変数の生成 for分

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

Respuesta aceptada

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

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Whos en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!