如何使用matlab eval函数设置变量?

时间:2013-02-11 17:40:25

标签: matlab variables set eval

我想使用matlab eval / feval函数设置变量。可以将整个语句写为字符串并使用=符号,但我想将该值作为单独的参数传递(不在字符串中)。

matlab中的算术运算符具有函数等价物,因此这些函数名的字符串可用于eval和feval函数。是否有与=运算符等效的函数?

我正在寻找的机制如下:

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

我希望它将变量x的值设置为5。

2 个答案:

答案 0 :(得分:3)

您似乎正在寻找类似assignin

的内容

答案 1 :(得分:2)

既然你说“可以将整个语句写成一个字符串”,但是你想要将字符串的一部分作为一个变量传入,那么下面的工作是否可行:

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

通过这种方式,您可以从“变量组件”创建一个字符串。当然,如果extraArg不是字符串,您可以使用适当的格式将其转换为任何字符串。