変数の作成について

91 Ansichten (letzte 30 Tage)
qrqr
qrqr am 21 Feb. 2019
Kommentiert: Shunichi Kusano am 22 Feb. 2019
以下のような変数があります。
TEST = 'set';
A = 1;
この 'set' を変数名にしてAを代入することはできますか?
%何かやり方
A = 1;
set = A;
= 1

Akzeptierte Antwort

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

madhan ravi
madhan ravi am 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')

Kategorien

Mehr zu プログラミング finden Sie in Help Center und File Exchange

Produkte


Version

R2013b

Community Treasure Hunt

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

Start Hunting!