変数の作成について

78 ビュー (過去 30 日間)
qrqr
qrqr 2019 年 2 月 21 日
コメント済み: Shunichi Kusano 2019 年 2 月 22 日
以下のような変数があります。
TEST = 'set';
A = 1;
この 'set' を変数名にしてAを代入することはできますか?
%何かやり方
A = 1;
set = A;
= 1

採用された回答

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

サインインしてコメントする。

その他の回答 (1 件)

madhan ravi
madhan ravi 2019 年 2 月 21 日
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')

カテゴリ

Help Center および File Exchangeプログラミング についてさらに検索

製品


リリース

R2013b

Community Treasure Hunt

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

Start Hunting!