Plotting a concatenated function (GUI)

2 views (last 30 days)
Susan G
Susan G on 20 Jun 2019
Edited: Stephan on 21 Jun 2019
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!

Accepted Answer

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

More Answers (0)

Categories

Find more on Line Plots in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!