2

matlab eval/feval 関数を使用して変数を設定したい。ステートメント全体を文字列として記述し、= 記号を使用することは可能ですが、値を (文字列ではなく) 別の引数として渡したいと考えています。

matlab の算術演算子には同等の関数があるため、これらの関数名の文字列は eval および feval 関数で使用できます。= 演算子に相当する関数はありますか?

私が探しているメカニズムは次のようになります。

eval('set','x',5)

そして、変数 x の値を 5 に設定することを期待しています。

4

2 に答える 2

3

あなたは次のようなものを探しているようですassignin

于 2013-02-13T08:13:56.573 に答える
2

「ステートメント全体を文字列として記述することは可能です」と言ったので、文字列の一部を変数として渡したい場合は、次のようにします。

evalString = sprintf("most of the string with %s a placeholder", extraArg);
variableToSet = eval(evalString);

このようにして、「変数コンポーネント」から文字列を作成します。もちろんextraArg、文字列でない場合は、適切な書式設定を使用して、文字列から変換できます。

于 2013-02-11T17:46:59.627 に答える