필터 지우기
필터 지우기

I want to plot with the value of an Edittext

조회 수: 2 (최근 30일)
Mo_B
Mo_B 2017년 1월 13일
댓글: Mo_B 2017년 1월 28일
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])

채택된 답변

Nirav Sharda
Nirav Sharda 2017년 1월 24일
편집: Nirav Sharda 2017년 1월 24일
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 !

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Text Data Preparation에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by