我正在编写一个小的MATLAB包,我想要求函数的用户输入。因此,如果用户输入:
x.^2 + sin(x)
我想使用此用户输入显示在代码的其他位置,但x
已经定义,因此上面的表达式将是一个向量(如果length(x)
为1,则为标量)。< / p>
答案 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)