変数の作成について

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

Accepted Answer

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

Sign in to comment.

More Answers (1)

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

Categories

Find more on プログラミング in Help Center and File Exchange

Products


Release

R2013b

Community Treasure Hunt

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

Start Hunting!