我试图在Matlab中创建应用程序,将用户输入作为字符串,将其转换为数学函数并绘制它。
问题是,我不知道如何将字符串转换为数学函数。 这就是我的尝试:
f = get(handles.edit1, 'string');
n=0:length(f)-1;
func = str2func(f);
plot(n,func);
因此,如果用户输入sin(x)
,则应进行绘图。
答案 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)函数。