我想使用 matlab eval/feval 函数设置一个变量。可以将整个语句写为字符串并使用 = 符号,但我想将该值作为单独的参数(而不是字符串)传递。
matlab 中的算术运算符具有函数等价物,因此这些函数名的字符串可以在 eval 和 feval 函数中使用。= 运算符是否有等效的功能?
我正在寻找的机制是:
eval('set','x',5)
我希望它将变量 x 的值设置为 5。
好像您正在寻找类似的东西assignin
既然您说“可以将整个语句写为字符串”,但是您希望将部分字符串作为变量传递,那么以下工作是否可行:
evalString = sprintf("most of the string with %s a placeholder", extraArg);
variableToSet = eval(evalString);
通过这种方式,您可以从“变量组件”创建一个字符串。当然,如果extraArg
不是字符串,您可以使用适当的格式将其转换为任何字符串。