Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用matlab eval函数设置变量?_Matlab_Variables_Set_Eval - Fatal编程技术网

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

如何使用matlab eval函数设置变量?,matlab,variables,set,eval,Matlab,Variables,Set,Eval,我想使用matlab eval/feval函数设置一个变量。可以将整个语句编写为字符串并使用=sign,但我希望将值作为单独的参数(而不是字符串)传递 matlab中的算术运算符具有函数等价项,因此这些函数名的字符串可用于eval和feval函数。是否存在=运算符的等效函数 我正在寻找的机制如下: eval('set','x',5) 我希望它将变量x的值设置为5。既然您说过“可以将整个语句编写为字符串”,但您希望将字符串的一部分作为变量传入,那么以下方法是否可行: evalString = s

我想使用matlab eval/feval函数设置一个变量。可以将整个语句编写为字符串并使用=sign,但我希望将值作为单独的参数(而不是字符串)传递

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

我正在寻找的机制如下:

eval('set','x',5)
我希望它将变量x的值设置为5。

既然您说过“可以将整个语句编写为字符串”,但您希望将字符串的一部分作为变量传入,那么以下方法是否可行:

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

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

您似乎正在寻找类似的字符串。您可以举一个示例说明您正在尝试做什么。。。即使语法错误。解决这个问题比从你的描述中猜测要容易得多。我正在使用MatlabControl库使用java中的matlab。我可以使用eval/feval,通过将java类型的参数传递给相应的方法,它们将自动转换为matlab类型。在某些情况下,这是一个很好的解决办法。实际上,我目前正在一个简单的例子中做类似的事情,但是为每个例子编写一个字符串转换器有点麻烦。这正是我想要的。非常感谢。