You are on page 1of 9

THC HNH MATLAB C BN

1 Thi Duy Qu thaiduyquy@gmail.com



WORKSHEET 06: LP TRNH GIAO DIN TRONG MATLAB
--Thi Duy Qu ITFac thaiduyquy@gmail.com

Mc ch:
Worksheet ny gii thiu v cc lnh c bn trong lp trnh giao din ca MATLAB.
Yu cu:
- Sinh vin thc hnh bng phn mm Matlab trn phng my, c k phn luyn tp
trc khi lm bi tp.
- Kt qu c lu li trong th mc MSSV_HoTen
- Thi gian thc hnh: 4 tit.
Luyn tp:
1. Chng trnh Calculator
C rt nhiu cch to ra mt chng trnh "My tnh bm tay" hay Calculator. V d sau
y s hng dn to ra mt chng trnh my tnh bm tay n gin s dng k thut trng
"Callback" trong lp trnh giao din GUI.
S dng GUIDE, thit k giao din ca chng trnh nh sau:

t thuc tnh cho cc i tng nh sau:
THC HNH MATLAB C BN
2 Thi Duy Qu thaiduyquy@gmail.com

- Edit Text: Tag=edit1 (mc nh); FontSize=20; Enable=Inactive;
HorizontalAligment=right;...
- t thuc tnh Tag ca tt c cc nt l: pushadd (ngoi tr 3 nt: "=" v "%" v "C")
- Nt "=": Tag=pushequal
- Nt "%": Tag=pushpercent
- Nt "C": Tag=pushclear
iu chnh kch thc v s dng cng c "Align Objects" sp xp v tr cc nt nh hnh
trn.
Lu li fig-file vi tn mycalc.fig, trong file mycalc.m tm cc hm tng ng v thm vo cc
lnh sau:
% --- Executes on button press in pushadd.
function pushadd_Callback(hObject, eventdata, handles)
textstr = get(handles.edit1,'String');
addstr = get(hObject,'String');
newstr = strcat(textstr, addstr);
set(handles.edit1,'String', newstr)
% --- Executes on button press in pushequal.
function pushequal_Callback(hObject, eventdata, handles)
textstr = get(handles.edit1,'String');
try
set(handles.edit1,'String', eval(textstr))
catch err
set(handles.edit1,'String', err.message)
end
% --- Executes on button press in pushpercent.
function pushpercent_Callback(hObject, eventdata, handles)
textstr = get(handles.edit1,'String');
try
set(handles.edit1,'String', 100*eval(textstr))
THC HNH MATLAB C BN
3 Thi Duy Qu thaiduyquy@gmail.com

catch err
set(handles.edit1,'String', err.message)
end
% --- Executes on button press in pushclear.
function pushclear_Callback(hObject, eventdata, handles)
set(handles.edit1,'String','')
Lu li file mycalc.m v chy chng trnh. S dng chut click cc nt nhp vo mt php
tnh, sau Click nt "=" thu c kt qu:

Cui cng, Click nt "C" bt u mt php tnh khc.
Gii phng trnh bc 2
Chy Matlab, vo Menu File\New\GUI s thy hin ra hp thoi sau:
THC HNH MATLAB C BN
4 Thi Duy Qu thaiduyquy@gmail.com


Chn Blank GUI, nhn OK.
Trong hp thoi hin ra, ko th cc iu khin Push button, Edit Text v Static Text vo
figure nh giao din sau:

Mi iu khin u c nhiu thuc tnh, c 2 thuc tnh quan trng nht l: Tag,
String. Tag l thuc tnh ch a ch ca iu khin (dng gi khi cn). String l thuc tnh
cha ni dung (s c hin th ra ngoi) ca iu khin. Sau y ta t cc thuc tnh ny:
THC HNH MATLAB C BN
5 Thi Duy Qu thaiduyquy@gmail.com

- Push button 1:
+Tag : start
+String : Bat dau
- Push button 2:
+Tag : close
+String : Close
- Edit Text 1:
+Tag : heso_a
+String : (xa trng)
- Edit Text 2:
+Tag : heso_b
+String : (xa trng)
- Edit Text 3:
+Tag : heso_c
+String : (xa trng)
- Edit Text 4:
+Tag : nghiem_x1
+String : (xa trng)
- Edit Text 5:
+Tag : nghiem_x2
+String : (xa trng)


- Static Text 1: (i vi cc Static Text thuc tnh Tag khng quan trng, tr cc trng hp
c bit)
+ String : Giai phng trinh bac 2: ax2 + bx + c = 0
THC HNH MATLAB C BN
6 Thi Duy Qu thaiduyquy@gmail.com

- Static Text 2:
+String : a =
- Static Text 3:
+String : b =
- Static Text 4:
+String : c =
- Static Text 5:
+String : Ket luan
- Static Text 6:
+Tag : kl
+String : (xa trng)
- Static Text 7:
+String : x1 =
- Static Text 8:
+String : x2 =
- figure: (click p vo nn ca figure):
+Tag : fig1
+ Name : Giai phng trinh bac 2

Sau khi t cc thuc tnh, cn chnh (s dng chut hoc cng c Align Objecs)
c figure c dng nh sau:
THC HNH MATLAB C BN
7 Thi Duy Qu thaiduyquy@gmail.com


Lu li figure (Menu File\Save) di tn GPTB2.fig. Sau Matlab t sinh file
GPTB2.m; trong file ny tm hm start_callback v nh vo cc dng lnh sau:

Hm set l hm t thuc tnh cho iu khin.
Hm get l hm ly gi tr thuc tnh ca iu khin
Hm str2double l hm bin chui thnh s
THC HNH MATLAB C BN
8 Thi Duy Qu thaiduyquy@gmail.com

Cui cng ghi li file m (GPTB2.m) v chy chng trnh (nhn F5 hoc nt run hnh tam
gic mu xanh). Nhp vo cc h s a, b, c v click nt Bat dau xem kt qu.
Bi tp
Bi 1 :
To ra mt giao din GUI thc hin nhim v sau:
1. Tnh din tch ca mt a gic da trn cc cnh vi d liu X v Y.
2. T mu cho a gic vi d liu X, Y do ngi dng nhp vo v mu chn t popup menu.
(Gi : s dng lnh polyarea v fill)


Bi 2 :
Vit giao din thc hin nhng yu cu sau:
1) Cho php chn thc thi mt trong nhng hm sau: y=sin(x), y=cos(x), y=tg(x), y=cotg(x),
y=arcsin(x), y=arcos(x), y=arctg(x), y=arccotg(x), y=sinh(x), y=cosh(x), y=tgh(x), y=cotgh(x)
2) Cho php chn nhp/hin th theo hoc Radian.
3) Cho php nhp khong gi tr ca x
4) Hin th th ca hm c chn theo gi tr ca x nhp vo cu 3 ln giao din, c nt
cho php gi hoc xa hnh khi v hm mi.
THC HNH MATLAB C BN
9 Thi Duy Qu thaiduyquy@gmail.com


Bi 3:
Vit chng trnh cho php ngi dng nhp cc h s ca mt a thc bc n. V th hm
s ca a thc ny.
-- Ht --

You might also like