I want to plot with the value of an Edittext

1 view (last 30 days)
Hi guys,
I'm currently working on a Guide, I have two Edittextboxes and two Pushbuttons. In the Edittextboxs I want to type in a value and plot some functions with one of the Pushbuttons. So I have to variables, in edittextbox input1 is x and in input2 is g. The range of g is between 0.1 and 1, but x is between 40 and 90.
I hope it's understandable. Thank you very much!
% --- Executes on button press in button1.
function button1_Callback(hObject, eventdata, handles)
% hObject handle to button1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
x = str2num(char(get(handles.input1, 'String'))); %I want to get the edittext (input1)
y1=(0.02049/0.4)*x;
y2=(g*60./(1+(1.331./(sqrt(0.0631*x./(83.17-x))).^3)));
y3=(g*60./(1+(1.331./(sqrt(0.0631*x./(83.17-x))).^3)))-(0.02049/0.4)*x;
y4=(0.02049/0.4)*x-(g*60./(1+(1.331./(sqrt(0.0631*x./(83.17-x))).^3)));
plot(x,y1,'r','LineWidth',2)
hold on
plot(x,y2,'c','LineWidth',2)
plot(x,y3,'g','LineWidth',2)
plot(x,y4,'b', 'LineWidth',2 )
title('metabolisches Profil','FontSize', 15)
xlabel('VO2', 'FontSize', 15)
ylabel('dLak/dmin','FontSize', 15)
legend( 'func.1','func.3','func.4','func.5','FontSize', 12)
axis([0 100 0 5])

Accepted Answer

Nirav Sharda
Nirav Sharda on 24 Jan 2017
Edited: Nirav Sharda on 24 Jan 2017
I used guidata to achieve this. I am attaching some sample code here for your reference.
This is the callback function for the first edit text box.
function edit1_Callback(hObject, eventdata, handles)
% save the data from the edit text box in the handles structure in double format.
handles.in1 = str2double(get(hObject,'String'));
% Store the handles structure in hObject.
guidata(hObject,handles);
You will have a similar callback for the second edit box. Now the following is the code snippet for the push button callback.
function pushbutton1_Callback(hObject, eventdata, handles)
% get the previously stored data in myh variable.
myh = guidata(hObject);
% get the values of in1 and in2 in variables x and y. These values come from edit text boxes.
x = myh.in1;
y = myh.in2;
figure;
plot(x,y,'r','LineWidth',2);
I hope this helps !

More Answers (0)

Community Treasure Hunt

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

Start Hunting!