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

6 vues (au cours des 30 derniers jours)
Ian Hanken
Ian Hanken le 27 Mar 2015
Commenté : Adam le 28 Mar 2015
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)

Réponse acceptée

Image Analyst
Image Analyst le 27 Mar 2015
Try ezplot() instead of plot. For example:
ezplot('sinc(x)')
  4 commentaires
Ian Hanken
Ian Hanken le 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 le 28 Mar 2015
There's a big green thing that says "Accept Answer"!

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by