Plotting a concatenated function (GUI)

1 次查看(过去 30 天)
I have created a GUI interface that allows a user to enter three different values (a, b, c) which are coefficients for a quadratic equation. I am trying to then plot the quadratic equation on axes1 in the GUI interface.
testa=(get(handles.a,'String'));
testb=(get(handles.b,'String'));
testc=(get(handles.c,'String'));
testfun=strcat(testa,'.*x.^2+',testb,'.*x+',testc);
x=-5:.5:5;
axes(handles.axes1)
plot(x,testfun)
I get the following error:
Error using plot
Error in color/linetype argument.
I know what the error is. Passing testfun as a string to plot doesn't work. I've tested the following through the command line:
x=-5:.5:5
funy1=1.*x.^2+5*x+6
funy2='1.*x.^2+5*x+6'
plot(x,funy1) worked and plot(x,funy2) did not work.
So....my question is if I have to concatenate inputs from the GUI (a,b,c) with the '.*x.^2+' and '.*x+" to get my equation to graph, how can I make it without the single quotes (i.e. not a string) so I can plot the equation that I created through the concatenation process?
Thanks for your time and feedback!

采纳的回答

Stephan
Stephan 2019-6-21
编辑:Stephan 2019-6-21
x=-5:.5:5
funy2=str2func('1.*x.^2+5*x+6')
plot(x,funy2(x))

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Surface and Mesh Plots 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by