変数の作成について

以下のような変数があります。
TEST = 'set';
A = 1;
この 'set' を変数名にしてAを代入することはできますか?
%何かやり方
A = 1;
set = A;
= 1

 Accepted Answer

Shunichi Kusano
Shunichi Kusano on 21 Feb 2019

2 votes

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

2 votes

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!