変数の作成について

202 visualizzazioni (ultimi 30 giorni)
qrqr
qrqr il 21 Feb 2019
Commentato: Shunichi Kusano il 22 Feb 2019
以下のような変数があります。
TEST = 'set';
A = 1;
この 'set' を変数名にしてAを代入することはできますか?
%何かやり方
A = 1;
set = A;
= 1

Risposta accettata

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

Accedi per commentare.

Più risposte (1)

madhan ravi
madhan ravi il 21 Feb 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')

Categorie

Scopri di più su プログラミング in Help Center e File Exchange

Prodotti


Release

R2013b

Community Treasure Hunt

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

Start Hunting!