MATLAB - 将字符串转换为数学函数

时间:2014-06-13 16:06:30

标签: matlab

我试图在Matlab中创建应用程序,将用户输入作为字符串,将其转换为数学函数并绘制它。

问题是,我不知道如何将字符串转换为数学函数。 这就是我的尝试:

f = get(handles.edit1, 'string');
n=0:length(f)-1;
func = str2func(f);
plot(n,func);

因此,如果用户输入sin(x),则应进行绘图。

3 个答案:

答案 0 :(得分:3)

通常你需要指定你绘制函数的值,如果这不是问题那么我会用ezplot

替换plot

还假设该函数只需要一个变量

f = get(handles.edit1, 'string');
a = strfind(f,'(')-1;
func = str2func(f(1:a));
ezplot(func)

如果您需要一系列值来绘制函数,我将使用fplot代替

fplot(func,limits)

答案 1 :(得分:0)

使用eval

f = get(handles.edit1, 'string');
n=0:10;
plot(n,eval(f));

答案 2 :(得分:0)

我使用ezplot解决了我的问题:

f = get(handles.edit1, 'string');
ezplot(f)

此代码可以绘制任何y(x)函数。