How can I use an edit text box to plot a function in a GUI?

Hello,
I've tried just about everything I can think of to take a function input from a text edit box in a GUI and plot it. Here's my code currently:
function edit1_Callback(hObject, eventdata, handles)
% hObject handle to edit1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit1 as text
% str2double(get(hObject,'String')) returns contents of edit1 as a double
fct1 = get(handles.edit1,'string');
axes(handles.axes1);
plot(fct1)
I've tried various things, such as using str2func, messing with eval, etc. but nothing seems to work. Can someone help me out with correct syntax to make this happen?
Thanks!
SOLVED
Image Analyst helped me out and solved the issue:
Do a "whos" on it to see what it is. If it's a cell array, do this
ca = get(handles.edit1,'string');
whos ca
fct1 = char(ca);
whos fct1
axes(handles.axes1);
ezplot(fct1)

 Accepted Answer

Try ezplot() instead of plot. For example:
ezplot('sinc(x)')

4 Comments

This is also not giving me the desired output. Based on the error I'm getting, it seems my input is not being converted to a string by the get function. Know of a way I could rectify that?
Do a "whos" on it to see what it is. If it's a cell array, do this
ca = get(handles.edit1,'string');
whos ca
fct1 = char(ca);
whos fct1
axes(handles.axes1);
ezplot(fct1)
Image Analyst, this solves my problem! Thanks. I don't know how to accept your answer, but I'll edit my top post!
There's a big green thing that says "Accept Answer"!

Sign in to comment.

More Answers (0)

Categories

Asked:

on 27 Mar 2015

Commented:

on 28 Mar 2015

Community Treasure Hunt

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

Start Hunting!