変数の作成について

95 vues (au cours des 30 derniers jours)
qrqr
qrqr le 21 Fév 2019
Commenté : Shunichi Kusano le 22 Fév 2019
以下のような変数があります。
TEST = 'set';
A = 1;
この 'set' を変数名にしてAを代入することはできますか?
%何かやり方
A = 1;
set = A;
= 1

Réponse acceptée

Shunichi Kusano
Shunichi Kusano le 21 Fév 2019
eval関数を使う方法があります。eval関数は中に入れた文字列が、あたかもコマンドとしてそのまま実行されるものです。
TEST = 'set';
A = 1;
command = [TEST, ' = A']; % 'set = A'
eval(command) % 'set = A' をコマンドとして実行する。
少し違いますが、構造体のフィールド名としてしまって、格納してしまうのも一つの手です。
your_struct.(TEST) = A;
  2 commentaires
madhan ravi
madhan ravi le 21 Fév 2019
Modifié(e) : madhan ravi le 21 Fév 2019
Shunichi Kusano
Shunichi Kusano le 22 Fév 2019
This is quite useful information. Thanks!

Connectez-vous pour commenter.

Plus de réponses (1)

madhan ravi
madhan ravi le 21 Fév 2019
I strongly don’t recommend using eval here in this situation ,https://www.mathworks.com/help/matlab/matlab_prog/generate-field-names-from-variables.html - refer this as a workaround.
A=1;
s.set=A;
s.('set')

Catégories

En savoir plus sur プログラミング dans Help Center et File Exchange

Produits


Version

R2013b

Community Treasure Hunt

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

Start Hunting!