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

6 visualizaciones (últimos 30 días)
Ian Hanken
Ian Hanken el 27 de Mzo. de 2015
Comentada: Adam el 28 de Mzo. de 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)

Respuesta aceptada

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

Iniciar sesión para comentar.

Más respuestas (0)

Community Treasure Hunt

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

Start Hunting!

Translated by