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

9 views (last 30 days)
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

Image Analyst
Image Analyst on 27 Mar 2015
Try ezplot() instead of plot. For example:
ezplot('sinc(x)')
  4 Comments
Ian Hanken
Ian Hanken on 28 Mar 2015
Image Analyst, this solves my problem! Thanks. I don't know how to accept your answer, but I'll edit my top post!
Adam
Adam on 28 Mar 2015
There's a big green thing that says "Accept Answer"!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!