お世話になっております。今,以下のコードを考えます。
= 1;b = 2;c = 3;
temp = [“一个”,“b”,“c”];
为k = 1:3
mem。(临时(k)) = eval(临时(k));
结束
まず先に変数a, b, cを定義し,それと同じ名前をもつ構造体memをうまく定義する(このようにできることに気づいて感動しました)。それと同時に,構造体memに含まれるmem.XXという変数について,同じ名前の変数XXの値を代入する,という流れであります。なお自分の状況ではもっと変数が多いのですが,簡単のためこうしました。
ここでmatlabのヘルプや他の答案を見ると“Eval邪恶!”と言われているほど嫌われている/非推奨なEval関数ですが,上のような状況だとEvalを使わない形で実行できるのでしょうか吗?個人的に字符串として定義された文字“a”から,“値が1である変数の名前“一个に結びつける方法が見つからなかったため,質問させていただいた次第です。
なお上の場合は
mem.a =一个;mem.b = b;mem.c = c;
としてもいいのですが,実際には変数が数百あるためこれは厳しいと考えます(簡単にできる方法があるのでしょうか?)
よろしくお願いいたします。