在MATLAB中将字符串转换为表达式

时间:2013-05-24 09:29:32

标签: string matlab

我正在编写一个小的MATLAB包,我想要求函数的用户输入。因此,如果用户输入:

x.^2 + sin(x)

我想使用此用户输入显示在代码的其他位置,但x已经定义,因此上面的表达式将是一个向量(如果length(x)为1,则为标量)。< / p>

2 个答案:

答案 0 :(得分:4)

您可以使用eval功能。例如:

>> x = 5

x =

     5

>> eval('x*3')

ans =

    15

答案 1 :(得分:2)

您可以创建一个函数句柄:

% some variable you already defined
myVar = 5;

% Create an anonymous function in some z 
f = str2func('@(z) z.^2 + sin(z)');

% Call function supplying the input
f(myVar)