Professional Documents
Culture Documents
BI GING TM TT
MATLAB CN BN
Dnh cho sinh vin khi t nhin cng ngh
(Lu hnh ni b)
Lt 2013
Thi Duy Qu
LI NI U
Gio trnh Matlab cn bn c bin son theo chng trnh o to h thng tn ch
ca trng i Hc Lt. Mc ch bin son gio trnh nhm cung cp cho sinh vin
khi t nhin, c bit l sinh vin ngnh Vt l ht nhn nhng kin thc c bn v cc
phng php x l trn ngn ng Matlab.
y l hc phn ln u tin c trin khai, ging dy, tuy tc gi cng c nhiu c
gng trong cng tc bin son nhng chc chn gio trnh cn c nhiu thiu st. Tc gi xin
trn trng tip thu tt c nhng kin ng gp ca cc bn sinh vin, cc ng nghip
trong lnh vc ny hon thin gio trnh, phc v tt hn cho vic dy v hc cho sinh
vin.
Lt, Thng 08 nm 2013
Thi Duy Qu
Trang 2
Thi Duy Qu
MC LC
CHNG I. GII THIU MATLAB .......................................................................................................... 4
1. Gii thiu.......................................................................................................................................... 4
2. Khi ng v chun b th mc lm vic trong Matlab ...................................................................... 4
3. Qun l khng gian lm vic ca Matlab ........................................................................................... 5
4. Cc thnh phn ca Mathlab ............................................................................................................. 6
5. Cc phm tt c bn trong Matlab...................................................................................................... 7
6. Cc ton t c bn ca Matlab: ......................................................................................................... 8
CHNG 2. MATLAB C BN .............................................................................................................. 11
1. Nhp xut d liu t dng lnh....................................................................................................... 11
2. Nhp xut d liu t bn phm: ...................................................................................................... 11
3. Nhp xut d liu t file:................................................................................................................ 12
4. Cc hm ton hc: .......................................................................................................................... 13
5. Cc php ton trn ma trn v vector: ............................................................................................. 16
6. To s ngu nhin: ......................................................................................................................... 18
7. Cc lnh dng lp trnh: ................................................................................................................. 19
CHNG 3. X L TH TRONG MATLAB .................................................................................... 22
1. Khi nim chung ............................................................................................................................ 22
2. Cc lnh v .................................................................................................................................... 22
3. To hnh v .................................................................................................................................... 22
4. c t kiu ng v ..................................................................................................................... 23
5. c t mu v kch thc ng v ................................................................................................ 23
6. Thm ng v vo th c..................................................................................................... 25
7. Ch v cc im s liu .................................................................................................................. 25
8. V cc im v ng .................................................................................................................... 26
9. V vi hai trc y ............................................................................................................................ 26
10. V ng cong vi s liu 3D ........................................................................................................ 27
11. t cc thng s cho trc ............................................................................................................... 27
12. Ghi nhn ln cc trc to ........................................................................................................... 28
13. nh v vn bn trn hnh v........................................................................................................... 29
14. ho c bit .............................................................................................................................. 30
15. ho 3D ..................................................................................................................................... 37
16. V cc vect .................................................................................................................................. 40
CHNG 4. LP TRNH GIAO DIN NGI DNG (GUI) ................................................................. 44
1. Cch thc hin ............................................................................................................................... 44
2. Lp trnh giao din vi Blank GUI ................................................................................................. 45
3. Ko th v thit lp thuc tnh cho cc iu khin .......................................................................... 46
4. Vit lnh cho chng trnh ............................................................................................................. 47
5. Cc tnh cht ca cc iu khin trong GUIDE Matlab ................................................................... 49
6. Tng quan v hm Callback trong lp trnh GUI ............................................................................. 50
7. Chng trnh Calculator ................................................................................................................. 52
CHNG 5. MT S PHNG PHP X L TNH TON TRN MATLAB ..................................... 55
1. Tnh nh thc ca ma trn ............................................................................................................. 55
2. Nghch o ma trn bng cch dng Minor..................................................................................... 59
3. Nghch o ma trn bng thut ton gauss-Jordan. .......................................................................... 60
4. Lp trnh giao din: Gii phng trnh bc 2 .................................................................................. 61
PH LC .................................................................................................................................................. 66
Trang 3
Thi Duy Qu
Trang 4
Thi Duy Qu
Thi Duy Qu
Ca s son tho xut hin, g chng trnh cn thit vo file. Sau khi hon tt
hoc vo File\New\M-File:
lu vo th mc hin ti (D:\ThucHanh_Matlab).
Trang 6
Thi Duy Qu
Phm tt
Chc nng
CtrlP
Gi li lnh trc
CtrlN
Gi lnh sau
CtrlB
Li li mt k t
CtrlF
Tin ln mt k t
Ctrl
CtrlR
Sang phi mt t
Trang 7
Thi Duy Qu
Ctrl
CrtlL
Sang phi mt t
home
CtrlA
V u dng
end
CtrlE
V cui dng
esc
CtrlU
Xo dng
del
CtrlD
Xo k t ti ch con nhy ng
backspace
CtrlH
6. Cc ton t c bn ca Matlab:
Cc ton t c bn:
+
Cng
Tr
Nhn
Chia phi
Chia tri
Lu tha
Cc ton t quan h :
<
nh hn
<=
nh hn hay bng
>
ln hn
>=
ln hn hoc bng
==
bng
~=
khng bng
Cc ton t logic:
&
or
not
Cc hng:
s o
pi
3.14159265
tng t i
eps
sai s 252
realmax
inf
NaN
Not a number
v cng ln
Cc lnh c bn:
Trang 8
Thi Duy Qu
Lnh
Chc nng
Clear
clc
pause
Lnh gn
input
Lnh ly vo mt gi tr.
V d: x = input(Nhap gia tri cho x:);
help
Save
Lu bin vo b nh
V d: Save test A B C (lu cc bin A, B, C vo file test)
Load
SWITCH switch_expr
CASE case_expr,
statement,..., statement
CASE {case_expr1, case_expr2, case_expr3,...}
statement,..., statement
...
OTHERWISE,
Trang 9
Thi Duy Qu
statement,..., statement
END
Lnh lp For
Lnh lp While
WHILE expression
statements
END
Break
Continue
Return
lnh tr v
Chc nng
clf
xa hnh hin ti
plot(signal)
stairs(signal)
stem(signal)
v chui d liu ri rc
bar(signal)
mesh(A)
7. Kt chng
Trong chng ny chng ta lm quen vi Matlab qua cc thao tc c bn, Matlab l
ngn ng cp cao, c cc chc nng x l nh mt ngn ng bnh thng. Ta s tm hiu k
hn cc chc nng cc phn k tip.
Trang 10
Thi Duy Qu
CHNG 2. MATLAB C BN
1. Nhp xut d liu t dng lnh
MATLAB khng i hi phi khai bo bin trc khi dng. MATLAB phn bit ch hoa
v ch thng. Cc s liu a vo mi trng lm vic ca Matlab c lu li sut phin
lm vic cho n khi gp lnh clear all. Matlab cho php ta nhp s liu t dng lnh.
Khi nhp ma trn t bn phm ta phi tun theo cc quy nh sau:
Ngn cch cc phn t ca ma trn bng du , hay du trng
Dng du ; kt thc mt hng.
Bao cc phn t ca ma trn bng cp du ngoc vung [ ]
V d 2.1: nhp cc ma trn sau:
1 2 3
A 3 2 5
1 5 3
B 1 4 2 1
1
C 4
7
ta dng cc lnh:
A = [ 1 2 3; 3 2 4; 1 5 3]
B = [ 1 4 2 1]
C = [ 1; 4; 7]
Thi Duy Qu
Thi Duy Qu
C(2) = 2; C(4) = 4
disp('Nhan phim bat ky de xem nhap/xuat du lieu tu file')
save ABC A B C
clear('A', 'C')
load ABC A C
clear B
% xoa B
load b.dat
%doc ASCII
b
x = input('Nhap x:')
format short e
x
format rat, x
format long, x
format short, x
4. Cc hm ton hc:
a. Cc hm ton hc c bn:
K hiu
Tn hm
K hiu
Tn hm
exp(x)
hm ex
sqrt(x)
cn bc hai ca x
log(x)
logarit t nhin
log10(x)
logarit c s 10
abs(x)
modun ca s phc x
angle(x)
argument ca s phc a
conj(x)
s phc lin hp ca x
imag(x)
phn o ca x
real(x)
phn thc ca x
sign(x)
du ca x
Cc hm lng gic
b. Cc hm ton hc t to:
Trang 13
Thi Duy Qu
1
1 8x 2
f1 ( x1 , x2 )
x12 4 x22 5
f 2 ( x1 , x2 ) 2 x1 2 x1 3 x2 2.5
v hm: f 2 ( x)
2 x 13 3x 22 4 x 32 10
f 1 ( x1 , x 2 , x 3 )
f 3 ( x ) f 2 ( x1 , x 2 , x 3 )
x 13 5 x 2 2 x 32 10 x1 4
f 3 ( x1 , x 2 , x 3 ) 4 x 13 5 x 23 2 x 33 10 x 12 4 x 32 12
Thi Duy Qu
Thi Duy Qu
a = fzero(f, 0.2)
Zero found in the interval: [0.10949, 0.264].
a=
0.1316
Thi Duy Qu
[m, n] = size(c)
c. Ton t :
Ton t : l mt ton t quan trng ca Matlab. N xut hin nhiu dng khc nhau.
V d:
Lnh 1:10 to mt vec t hng cha 10 s nguyn t 1 n 10.
Chc nng
V d
zeros
z = zeros(2, 4)
ones
to ra ma trn m cc phn t u l 1
x = ones(2, 3)
y = 5*ones(2, 2)
rand
randn
magic(n)
to ra ma trn cp n gm cc s nguyn t 1
n n2 vi tng cc hng bng tng cc ct n
phi ln hn hay bng 3
pascal(n)
eye(n)
to ma trn n v.
eye(3)
Trang 17
Thi Duy Qu
to ma trn n v m rng
eye(m, n)
eye(3, 4)
e. Lp ghp
Ta c th lp ghp(concatenation) cc ma trn c sn thnh mt ma trn mi.
V d:
a = ones(3, 3)
b = 5*ones(3, 3)
c = [a + 2; b]
f. Xo hng v ct.
Ta c th xo hng v ct t ma trn bng dng du [].
V d: xa ct th 2 ca ma trn b, ta vit:
b(:, 2) = []
Vit x(1: 2: 5) = [] ngha l ta xo cc phn t bt u t 1 n phn t th 5 v cch 2
ri sp xp li ma trn.
g. Cc lnh x l ma trn:
- Cng:
X= A + B
- Tr:
X= A B
- Nhn:
X= A * B
X.*A nhn cc phn t tng ng vi nhau
- Chia:
X = A/B lc X*B = A
X = A\B lc A*X = B
X=A./B chia cc phn t tng ng vi nhau
- Lu tha:
X = A^2
X = A^2
- Nghch o: X = inv(A)
- nh thc: d = det(A)
6. To s ngu nhin:
Matlab c cc lnh to s ngu nhin l rand v randn to ra cc s ngu nhin theo phn b
Gauss.
Trang 18
Thi Duy Qu
Thi Duy Qu
Thi Duy Qu
n = 7;
t = 1;
for k = 1:7
num = int2str(n);
disp([Ban co quyen du doan , num, lan]);
disp(So can doan nam trong khoang 0 100);
gu = input(Nhap so ma ban doan: );
if gu < x
disp(Ban doan nho hon);
elseif gu > x
disp(So ban doan lon hon);
else
disp(Ban da doan dung. Xin chuc mung);
t = 0;
break;
end
n = n 1;
end
if t > 0
disp(Ban khong doan ra roi);
numx = int2str(x);
disp([Do la so: , numx]);
end
8. Kt chng
Chng ny gip sinh vin lm quen vi mt s khi nim c bn v cch lp trnh, cch
khai bo bin trong Matlab cng nh cc cu trc c bn ca ngn ng lp trnh bc cao.
Chng tip theo s gip sinh vin lm quen vi cc lnh v th.
Trang 21
Thi Duy Qu
2. Cc lnh v
Matlab cung cp mt lot hm v biu din cc vect s liu cng nh gii thch v in
cc ng cong ny.
- plot: ha 2D vi s liu 2 trc v hng v tuyn tnh
- plot3: ha 3D vi s liu 2 trc v hng v tuyn tnh
- polar: ho trong h to cc
- loglog: ho vi cc trc logarit
- semilogx: ho vi trc x logarit v trc y tuyn tnh
- semilogy: ho vi trc y logarit v trc x tuyn tnh
- plotyy: ho vi trc y c nhn bn tri v bn phi
3. To hnh v
Hm plot c cc dng khc nhau ph thuc vo cc i s a vo. V d nu y l mt
vec t th plot(y) to ra mt ng thng quan h gia cc gi tr ca y v ch s ca n. Nu
ta c 2 vec t x v y th plot(x, y) to ra th quan h gia x v y.
V d:
t = [0: pi/100: 2*pi]
y = sin(t);
plot(t, y)
grid on
polar(t, y)
Trang 22
Thi Duy Qu
4. c t kiu ng v
Ta c th dng cc kiu ng v khc nhau khi v hnh. Mun th ta chuyn kiu ng
v cho hm plot. Ta vit chng trnh to ra th hm hnh sin:
t = [0: pi/100: 2*pi];
y = sin(t);
plot(t, y, . ) % v bng ng chm chm
grid on
5. c t mu v kch thc ng v
c t mu v kch thc ng v ta dng cc tham s sau:
- LineWidth: rng ng thng, tnh bng s im
- MarkerEdgeColor: mu ca cc cnh ca khi nh du
- MarkerFaceColor: mu ca khi nh du
- MarkerSize: kch thc ca khi nh du
Mu c xc nh bng cc tham s:
M
Mu
Mu
Red
Mangeta
Green
Yelloa
Blue
Black
Trang 23
Thi Duy Qu
cyan
White
Cc dng im nh du xc nh bng:
M
Kiu nh du
Kiu nh du
Du cng
im
Vng trn
Ch thp
Du sao
Hnh vung
Ht kim cng
im
tam
gic
xung
^
<
>
Lc gic
Ng gic
Kiu ng
Kiu ng
ng lin
ng chm chm
--
ng nt t
-.
ng chm gch
Trang 24
hng
Thi Duy Qu
6. Thm ng v vo th c
lm iu ny ta dng lnh hold. Khi ta nh lnh hold on th Matlab khng xo th
ang c. N thm s liu vo th mi ny. Nu phm vi gi tr ca th mi vt qu
cc gi tr ca trc to c th n s nh li t l xch.
V d:
plot(sin(x));
hold all
plot(sin(x+(pi/4)));
7. Ch v cc im s liu
v cc im nh du m khng ni chng li vi nhau ta dng c t ni rng khng
c cc ng ni gia cc im, ngha l ta gi hm plot ch vi c t mu v im nh
du. V d: xt chng trnh nh sau:
x = pi : pi/10 : pi;
Trang 25
Thi Duy Qu
y = tan(sin(x)) sin(tan(x));
plot(x, y, s, MarkerEdgeColor, k)
8. V cc im v ng
v c cc im nh du v ng ni gia chng ta cn m t kiu ng v kiu
im. Ta xt on chng trnh nh sau:
x = 0:pi/15:4*pi;
y = exp(2*sin(x));
plot(x, y, r, x, y, ok)
dng v ng cong y = f(x) c ng ni lin, mu . im nh du l ch o c mu
en.
9. V vi hai trc y
Lnh plotyy cho php to mt th c hai trc y. Ta cng c th dng plotyy cho gi
tr trn hai trc y c kiu khc nhau nhm tin so snh. Ta xt chng trnh dothi.m nh sau:
t = 0:900;
A = 1000;
b = 0.005;
a = 0.005;
z2 = sin(b*t);
z1 = A*exp(a*t);
Trang 26
Thi Duy Qu
10.
V ng cong vi s liu 3D
11.
Thi Duy Qu
12.
Thi Duy Qu
- gtext: t vn bn ln ho nh chut
- \bf: bold font
- \it: italics font
- \sl: oblique font (ch nghing)
-\rm: normal font
Cc k t c bit xem trong String properties ca Help.
Ta dng cc lnh xlabel , ylabel , zlabel thm nhn vo cc trc to . Ta c th thm
vn bn vo bt k ch no trn hnh v nh hm text. Ta c chng trnh nh sau:
x = pi: .1: pi;
y = sin(x);
plot(x, y)
xlabel(t = 0 to 2\pi, Fontsize, 16)
ylabel(sin(t), Fontsize, 16)
title(\it{Gia tri cua sin tu zero n 2 pi}, Fontsize, 16)
text(3*pi/4, sin(3*pi/4),\leftarrowsin(t ) = 0.707, FontSize, 12)
13.
nh v vn bn trn hnh v
Thi Duy Qu
plot(t, 0.25*exp(-0.005*t))
plot(t,y)
text(300,.25*exp(-.005*300),...
'\bullet\leftarrow\fontname{times}0.25{\ite}^{
0.005{\itt}}
tai,...
{\itt}
300',
'FontSize', 14)
14.
ho c bit
a. Khi v vng
ho khi v vng biu din s liu l vec t hay ma trn. MATLAB cung cp cc hm
ho khi v vng:
- bar: hin th cc ct ca ma trn m*n nh l m nhm, mi nhm c n bar.
- barh: hin th cc ct ca ma trn m*n nh l m nhm, mi nhm c n bar nm ngang.
- bar3: hin th cc ct ca ma trn m*n nh l m nhm, mi nhm c n bar dng 3D.
- bar3h: hin th cc ct ca ma trn m*n nh l m nhm, mi nhm c n bar dng 3D
nm ngang.
Mc nh, mi phn t ca ma trn c biu din bng mt bar. Ta xt chng trnh nh
sau:
Trang 30
Thi Duy Qu
y = [5 2 1
673
863
555
1 5 8];
bar(y)
b. M t d liu trn trc.
Ta dng cc hm xlabel v ylabel m t cc d liu trn trc. Ta xt chng trnh nh
sau:
nhdo = [29 23 27 25 20 23 23 27];
ngay = 0: 5: 35;
bar(ngay, nhdo)
xlabel(Ngay)
ylabel(Nhiet do (^{o}C))
set(gca,YLim,[15 30],Layer,top)
grid on
set(gca,YLim,[15 30])
Mc nh,phm vi gi tr ca trc y l t 0 n 30. xem nhit trong khong t 15
n 30 ta thay i phm vi gi tr ca trc y:
set(gca,YLim,[15 30],Layer,top)
v trn th, phm vi gi tr ca trc y thay i.
c. Xp chng th
Ta c th xp chng s liu trn th thanh bng cch to ra mt trc khc trn cng
mt v tr v nh vy ta c mt tr y c lp vi b s liu khc.
V d:
TCE = [515 420 370 250 135 120 60 20];
nhdo = [29 23 27 25 20 23 23 27];
ngay = 0:5:35;
Trang 31
Thi Duy Qu
bar(ngay, nhdo)
xlabel(Ngay)
ylabel(Nhiet do (^{o}C))
xp chng mt s liu ln mt th thanh trn, c trc th 2 cng v tr nh trc
th nht ta vit:
h1 = gca;
v to trc th 2 v tr trc th nht trc nht v b s liu th 2:
h2 = axes(Position,get(h1,Position));
plot(days,TCE,LineWidth,3)
trc th 2 khng gy tr ngi cho trc th nht ta vit:
set(h2,YAxisLocation,right,Color,none,XTickLabel,[])
set(h2,XLim,get(h1,XLim),Layer,top)
ghi ch ln th ta vit:
text(11,380,Mat do,Rotation,55,FontSize,16)
ylabel(TCE Mat do (PPM))
title(Xep chong do thi,FontSize,16)
d. ho vng.
Hm area hin th ng cong to t mt vec t hay t mt ct ca ma trn. N v cc
gi tr ca mt ct ca ma trn thnh mt ng cong ring v t y vng khng gian gia
cc ng cong v trc x ta xt chng trnh nh sau:
Y=[ 512
837
968
555
4 2 3];
area(Y)
Trang 32
Thi Duy Qu
e. th Pie
th pie hin th theo t l phn trm ca mt phn t ca mt vec t hay mt ma trn so
vi tng cc phn t. Cc lnh pie v pie3 to ra th 2D v 3D ta xt chng trnh nh
sau:
X = [19.3 22.1 51.6; 34.2 70.3 82.4; 61.4 82.9 90.8; 50.5 54.9 59.1; 29.4 36.3 47.0];
x = sum(X);
explode = zeros(size(x));
[c,offset] = max(x);
explode(offset) = 1;
h = pie(x,explode)
%A = [ 1 3 6];
%pie3(A)
Trang 33
Thi Duy Qu
Khi tng cc phn t trong i s th nht bng hay ln hn 1, pie v pie3 chun ho cc
gi tr. Nh vy cho vec t x, mi phn c din tch xi/sum (xi) vi xi l mt phn t ca x.
Gi tr c chun ho m t phn nguyn ca mi vng. Khi tng cc phn t trong i s
th nht nh hn 1, pie v pie3 khng chun ho cc phn t ca vec t x. Chng v mt
phn pie.
x = [.19 .22 .41];
pie(x)
f. Lm hnh chuyn ng:
C th to ra hnh chuyn ng bng 2 cch:
- To v lu nhiu hnh khc nhau v ln lt hin th chng
- V v xo lin tc mt i tng trn mn hnh, mi ln v li c s thay i.
Vi cch th nht ta thc hin hnh chuyn ng qua 3 bc:
- Hm moviein dnh b nh cho mt ma trn ln nhm lu cc khung hnh.
- Hm getframes to cc khung hnh.
- Hm movie hin th cc khung hnh.
Sau y l v d s dng movie quan st hm fft(eye(n)). Ta to chng trnh nh sau :
axis equal
M = moviein(16, gcf);
set(gca, NextPlot, replacechildren)
Trang 34
Thi Duy Qu
Thi Duy Qu
A = [ 8/3 0 0; 0 10 10; 0 28 1 ];
y = [35 10 7];
h = 0.01;
p = plot3(y(1), y(2), y(3),., ... EraseMode, none, MarkerSize, 5);
axis([0 50 25 25 25 25])
hold on
for i = 1:4000
A(1,3) = y(2);
A(3,1) = y(2);
ydot = A*y;
y = y + h*ydot;
set(p, XData, y(1), YData, y(2), ZData, y(3)) % thay doi toa do
drawnow
i = i + 1;
end
Trang 36
15.
Thi Duy Qu
ho 3D
Thi Duy Qu
contour(X,Y,Z,20)
Mi contour c mt gi tr gn vi n. Hm clabel dng gi tr ny hin th nhn
ng ng mc 2D. Ma trn contour cha gi tr clabel dng cho cc ng contour 2D.
Ma trn ny c xc nh bi contour, contour3 v contourf.
hin th 10 ng ng mc ca hm peak ta vit:
Z = peaks;
[C,h] = contour(Z,10);
clabel(C,h)
title({Cac contour co nhan,clabel(C,h)})
Hm contourf hin th th ng ng mc trn mt mt phng v t mu vng cn li
gia cc ng ng mc. kim sot mu t ta dng hm caxis v colormap. Ta vit
chng trnh ct1_26.m:
Z = peaks;
[C, h] = contourf(Z, 10);
caxis([20 20])
colormap autumn;
title({Contour co to mau, contourf(Z, 10)})
Cc hm contour(z, n) v contour(z, v) cho php ta ch r s lng mc contour hay mt
mc contour cn v no vi z l ma trn s liu, n l s ng contour v v l vec t cc
mc contour. MATLAB khng phn bit gia vec t mt phn t hay i lng v hng.
Nh vy nu v l vec t mt phn t m t mt contour n mt mc hm contour s coi
n l s lng ng contour ch khng phi l mc contour. Ngha l, contour(z, v) cng
nh contour(z, n). hin th mt ng ng mc ta cn cho v l mt vector c 2 phn t
vi c hai phn t bng mc mong mun. V d to ra mt ng ng mc 3D ca hm
peaks ta vit chng trnh ct1_27.m:
xrange = 3: .125: 3;
yrange = xrange;
[X,Y] = meshgrid(xrange, yrange);
Trang 38
Thi Duy Qu
Z = peaks(X, Y);
contour3(X, Y, Z)
hin th mt mc Z = 1, ta cho v l [1 1]
v = [1 1]
contour3(X, Y, Z, v)
Hm ginput cho php ta dng chut hay cc phm mi tn chn cc im v. N tr v
to ca v tr con tr. V d sau s minh ho cc dng hm ginput v hm spline to ra
ng cong ni suy hai bin.
V d: to mt Mfile c tn Vidu_02.m nh sau:
disp(Chuot phai tro cac diem tren duong ve)
disp(Chuot trai tro diem cuoi cua duong ve)
axis([0 10 0 10])
hold on
x = [];
y = [];
n = 0;
but = 1;
while but = =1
[xi,yi,but] = ginput(1);
plot(xi, yi, go)
n = n + 1;
x(n, 1) = xi;
y(n,1) = yi;
end
t = 1:n;
ts = 1: 0.1: n;
xs = spline(t, x, ts);
ys = spline(t, y, ts);
Trang 39
Thi Duy Qu
16.
V cc vect
Thi Duy Qu
Thi Duy Qu
d. Hm quiver3.
Hm quiver3 hin th cc vec t c cc thnh phn (u,v,w) ti im (x, y, z). V d ta biu
din qu o ca mt vt c nm i theo t. Phng trnh ca chuyn ng l:
z(t) = v0t +
at 2
2
Thi Duy Qu
y = vy*t;
Tnh cc thnh phn ca vec t vn tc v hin th bng cc dng quiver3:
u = gradient(x);
v = gradient(y);
w = gradient(z);
scale = 0;
quiver3(x, y, z, u, v, w, scale)
axis square
17.
Kt chng
Trang 43
Thi Duy Qu
Thi Duy Qu
Giao din rt ging vi cc chng trnh lp trnh giao din nh Visual Basic, Visual
C++, C# ... Di chut qua cc biu tng bn tri s thy tn ca cc iu khin.
Sau y l mt s iu khin thng dng:
Pop-up Menu: Ngi dng chn mt i tng trong danh sch s xung.
List Box: Cho php ngi dng chn 1 i tng trong danh sch hin ra.
Thi Duy Qu
Run (Ctr + T): Chy chng trnh vit, s bo li nu chng trnh cha li.
Tab Order Editor: sp xp th t cc xut hin chut ln i tng khi nhn phm
vidu.fig: Tp tin ny cha giao din ca chng trnh, l ni cho ngi dung thit k
vidu.m: tp tin ny cha cc m thc thi cho chng trnh nh cc hm khi to, cc
hm callback...
Trang 46
Thi Duy Qu
i tng. y ta t tn l: txtX.
Tng t, thay i thuc tnh tag ca Edit Box th 2 thnh txtY, Static Box cng tng t
thnh txtKetQua.
Vi Push Button: thuc tnh tag t l cmdCalculate, String t l ket qua
Trang 47
Thi Duy Qu
Trang 48
Thi Duy Qu
Gi tr (value)
M t
Enable
Mc nh l: on
Max
Mc nh l 1.
Min
Mc nh l 0
Position
Vector gm 4 phn t
n vi iu khin cha n.
height)
String
Chui hin th
Units
Value
Ngoi ra, thuc tnh cc k quan trng m cc bn phi ch l tag. Thuc tnh ny chnh
l tn ca i tng, l duy nht dng phn bit i tng ny v i tng khc.
Trang 49
Thi Duy Qu
S kin xy ra
Thnh phn c hm ny
Axes,figure,button
group,panel,user
interfacecontrols
Hnh ng ca cc component, v d
Contextmenu,
menu,userinterface
controls
phn menu.
CloseRequestFcn
CreateFcn
Figure
group,contextmenu,
Thi Duy Qu
to ra. N thc thi sau khi thnh
menu,panel,user
interfacecontrols
KeyPressFcn
Xa thnh phn. N c th c
Axes,figure,button
group,contextmenu,
menu,panel,user
hy b.
interfacecontrols
Figure,userinterface
controls
Figure
Buttongroup,figure, panel
Buttongroup
Figure
Figure
Figure
Thi Duy Qu
ny s c gi.
WindowScrollWheelFcn
Thi Duy Qu
Trang 53
Thi Duy Qu
8. Kt chng
Trong chng ny, sinh vin tm hiu cc vn lin quan n lp trnh giao din ngi
dng. Thng qua tm hiu hm Callback, kt hp vi v d v chng trnh Calculator sinh
vin s c ci nhn r hn v lp trnh giao din ngi dng GUI.
Chng tip theo s gii thiu mt s phng php lp trnh x l vi Matlab.
Trang 54
Thi Duy Qu
mt
Trang 55
Thi Duy Qu
i2
j2
... i n
... j n
(1)
ta lp tch:
(2)
(1)
t( p)
(3)
ai1 j1 ai 2 j 2 ...ai n j n
trong :
t(p) = 1 nu php th p l
t(p) = 0 nu php th p chn
Tng (4) c gi l nh thc ca ma trn vung [A], cp n.
Ta xy dng hm determinant() tnh nh thc ca ma trn theo nh ngha:
function d = determinant(A)
% DETERMINANT tinh dinh thuc theo dinh nghia.
[m, n] = size(A);
if ( m ~= n )
fprintf ( \n );
fprintf ( Chi ma tran vuong moi co dinh thuc!\n );
return
end
p = zeros(1, n);
nf = prod([1:n]);
d = 0.0;
for i = 1:nf
p = nextperm(p);
s = permsign(p);
x = diag(A([1:n],p)); 91
d = d + s*prod(x);
Trang 56
Thi Duy Qu
end
function psign = permsign(p)
% PERMSIGN tra ve dau phep the .
% +1, neu phep the chan,
% 1, neu phep the le.
n = length ( p );
psign = 1;
for i = 1:n1
j = i;
while (p(j) ~= i)
j = j + 1;
end
if ( j ~= i )
temp = p(i);
p(i) = p(j);
p(j) = temp;
psign = psign;
end
end
function q = nextperm(p)
n = length(p);
q = p;
if(n == 1)
q = 1;
elseif (q == 0)
q = [1:n];
else
i = n 1;
Trang 57
Thi Duy Qu
Trang 58
Thi Duy Qu
( a 1 )i , j
Aj ,i
det[ A]
Trang 59
Thi Duy Qu
0
E
0
0
1
0
0
0
0
1
0
0
0
Thi Duy Qu
c = a(k, i);
a(k, i:2*n) = a(k, i:2*n) a(i, i:2*n)*c;
end
end
i = i+1;
end
x(:, 1:k) = a(:, (1+k):(2*k));
nghch o ma trn:
2 1 1
[ A] 1 2 1
1 1 2
Thi Duy Qu
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:
- 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
Trang 62
Thi Duy Qu
- 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
- 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:
Trang 63
Thi Duy Qu
+ 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:
Trang 64
Thi Duy Qu
5. Kt chng
Trong chng ny, sinh vin lm quen vi mt s phng php lp trnh phc tp trn
Matlab. Thng qua cc v d, sinh vin s c iu kin hiu r hn cc phng php x l
lp trnh trn Matlab hin nay.
Trang 65
Thi Duy Qu
PH LC
Hng dn s dng cng c Simulink
Simulink l mt cng c trong Matlab dng m hnh, m phng v phn tch cc
h thng ng vi mi trng giao din s dng bng ha. Vic xy dng m hnh c
n gin ha bng cc hot ng nhp chut v ko th. Simulink bao gm mt b th vin
khi vi cc hp cng c ton din cho c vic phn tch tuyn tnh v phi tuyn.
Simulink l mt phn quan trng ca Matlab v c th d dng chuyn i qua li trong
qu trnh phn tch, v v vy ngi dng c th tn dng c u th ca c hai mi
trng.
C th m Simulink bng 2 cch:
- Click vo biu tng nh hnh di (Simulink icon)
Trang 66
Thi Duy Qu
- Menu File\New\Model
Ca s xy dng m hnh xut hin:
Trang 67
Thi Duy Qu
Lu tr m hnh bng lnh Save (File\Save) hoc nhp vo icon Save. Dch chuyn cc
khi n gin bng cch nhp vo khi v ko th:
Trang 68
Thi Duy Qu
Ni tn hiu: a con chut ti ng ra ca khi (du >), khi con chut s c dng
+. Ko r chut ti ng vo ca mt khi khc v th ra kt ni tn hiu.
M phng m hnh: Dng lnh Start (Menu Simulation\Start) hoc nhp chut vo
icon Start
Trang 69
Thi Duy Qu
Configuration Parameters
Trang 70
Thi Duy Qu
Trang 71