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

6 Ansichten (letzte 30 Tage)
Ian Hanken
Ian Hanken am 27 Mär. 2015
Kommentiert: Adam am 28 Mär. 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)

Akzeptierte Antwort

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by