You are on page 1of 117

THC HNH

MATLAB
Ti liu Thc hnh Laboratory
Nguyn Thnh Nht
Hong Vn H
Bi Xun Thng
8 - 2010
Li m u
MATLAB l mt h tnh ton, lp trnh cao cp vi th vin hm phong
ph, a dng. Chnh v th, MATLAB c s dng l mt trong nhng
cng c tnh ton hiu qu trong ging dy, hc tp v nghin cu trong cc
trng i hc. Quyn sch ny ra i phc v cho mn hc Thc hnh
Laboratory ca sinh vin Khoa Ton-Tin hc Trng i hc Khoa hc T
nhin i hc Quc gia Thnh ph H Ch Minh. Ngoi ra, gio trnh ny
cng c th dng lm ti liu cho sinh vin cc mn hc nh Tin hc tnh
ton hay MATLAB v ng dng ca cc ngnh Khoa hc-K thut.
Quyn sch ny c th dng cho sinh vin t hc hoc ging vin dy
trc tip cho sinh vin ngay trong phng thc hnh. Ni dung gm c phn
tm tt l thuyt v hng dn cc bc thc hnh t c bn n nng cao.
Song song l h thng cc bi tp phong ph c son v su tm bi
cc ging vin nhiu kinh nghim.
Xin cm n TS Phm Th Bo, ThS V Huy Cng, ThS ng Th
Bch Tuyt, GV Bi Ngc Nam, GV Nguyn Trn Lan Anh ca khoa Ton-
Tin hc, Trng i hc Khoa hc T nhin, i hc Quc gia Thnh ph
H Ch Minh tham gia ng gp son gio trnh ny tht cng phu. Tuy
nhin vi phin bn ln u tin ny, quyn sch khng trnh khi nhng sai
st nht nh. Mong qu c gi ng gp cc kin ng qu cc tc
gi c th hon thin hn quyn gio trnh ny cho nhng ln ti bn sau.
Thnh ph H Ch Minh, thng 09 nm 2010.
Nhm tc gi
Mc lc
Li m u 1
1 Matlab c bn 5
1.1 Gii thiu Matlab . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Php ton, bin, vector, ma trn . . . . . . . . . . . . . . . . 8
1.2.1 Bin . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.2 Php ton . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.3 Vector . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.2.4 Ma trn . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.3 Biu thc Logic . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.3.1 Cc ton t logic . . . . . . . . . . . . . . . . . . . . . 19
1.3.2 Vect v biu thc logic . . . . . . . . . . . . . . . . . 20
1.3.3 Cc hm logic: All, Any v Find . . . . . . . . . . . . . 20
1.4 Lnh iu kin v vng lp . . . . . . . . . . . . . . . . . . . . 21
1.4.1 Lnh IF . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.4.2 Lnh FOR . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.4.3 Lnh WHILE . . . . . . . . . . . . . . . . . . . . . . . 23
1.4.4 Lnh SWITCH . . . CASE . . . . . . . . . . . . . . . . . 24
1.4.5 Script v Hm . . . . . . . . . . . . . . . . . . . . . . . 24
1.5 V th . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.5.1 V th trong 2-D . . . . . . . . . . . . . . . . . . . . 28
1.5.2 V th trong 3-D . . . . . . . . . . . . . . . . . . . . 33
2 i s tuyn tnh 38
2.1 Cc php ton ma trn, cc php bin i s cp . . . . . . . 38
2.1.1 Cc php ton ma trn . . . . . . . . . . . . . . . . . . 38
MC LC 3
2.1.2 Cc php bin i s cp . . . . . . . . . . . . . . . . . 42
2.2 Ma trn nghch o, Phng trnh ma trn v H phng trnh
tuyn tnh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.2.1 Ma trn nghch o . . . . . . . . . . . . . . . . . . . . 44
2.2.2 Ma trn gi nghch o . . . . . . . . . . . . . . . . . . 46
2.2.3 Gii phng trnh ma trn . . . . . . . . . . . . . . . . 49
2.3 H phng trnh tuyn tnh . . . . . . . . . . . . . . . . . . . 51
2.3.1 a v dng ma trn . . . . . . . . . . . . . . . . . . . 51
2.3.2 S dng tnh ton symbolic . . . . . . . . . . . . . . . 52
2.4 nh thc, gii h phng trnh tuyn tnh bng nh thc . . 54
2.4.1 nh thc . . . . . . . . . . . . . . . . . . . . . . . . . 54
2.4.2 Gii h phng trnh tuyn tnh bng nh thc . . . . 55
2.5 a thc c trng, tr ring v vect ring . . . . . . . . . . . 55
3 Gii tch hm mt bin 58
3.1 Cc php ton tp hp . . . . . . . . . . . . . . . . . . . . . . 58
3.1.1 nh ngha tp hp v cch khai bo tp hp trong
Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.1.2 Cc php ton trong tp hp . . . . . . . . . . . . . . 59
3.2 symbolic math c bn . . . . . . . . . . . . . . . . . . . . . . 66
3.2.1 Khi nim chung . . . . . . . . . . . . . . . . . . . . . 66
3.2.2 Khi ng TOOLBOX . . . . . . . . . . . . . . . . . . 66
3.3 Cc bi ton dy s v chui s . . . . . . . . . . . . . . . . . 71
3.3.1 Khi nim v dy s, chui s v cch khai bo trong
matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3.3.2 Mt s hm v x l dy s v chui s trong Matlab . 72
3.4 Cc bi ton gii hn hm s v tnh lin tc ca hm s . . . 76
3.4.1 Gii hn ca hm s . . . . . . . . . . . . . . . . . . . 76
3.4.2 S lin tc ca hm s . . . . . . . . . . . . . . . . . . 77
3.5 Cc bi ton tch phn hm mt bin . . . . . . . . . . . . . . 80
3.5.1 Tch phn bt nh . . . . . . . . . . . . . . . . . . . . 80
3.5.2 Tch phn xc nh . . . . . . . . . . . . . . . . . . . . 80
3.5.3 Tch phn s . . . . . . . . . . . . . . . . . . . . . . . 81
3.5.4 Cc hm trong Matlab dng cho bi ton vi phn hm
mt bin . . . . . . . . . . . . . . . . . . . . . . . . . . 83
4 MC LC
4 C hc v Xc sut - Thng k 88
4.1 C hc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
4.1.1 ng hc cht im . . . . . . . . . . . . . . . . . . . 88
4.1.2 Sng c hc . . . . . . . . . . . . . . . . . . . . . . . . 93
4.2 Xc sut - Thng k . . . . . . . . . . . . . . . . . . . . . . . 97
4.2.1 Tnh ton xc sut c bn . . . . . . . . . . . . . . . . 97
4.2.2 Thng k m t . . . . . . . . . . . . . . . . . . . . . . 99
4.2.3 Kim nh gi thit: z - test v t - test . . . . . . . . . 99
5 Giao din ha ngi dng GUI 102
5.1 Tng quan v cc tp tin GUI . . . . . . . . . . . . . . . . . . 102
5.1.1 Tp tin M v tp tin FIG . . . . . . . . . . . . . . . . 102
5.1.2 Cu trc tp tin M ca GUI . . . . . . . . . . . . . . . 102
5.2 V d to mt GUI n gin . . . . . . . . . . . . . . . . . . . 103
5.3 Mt s component trong GUI . . . . . . . . . . . . . . . . . . 103
CHNG 1
Matlab c bn
1.1 Gii thiu Matlab
Matlab l mt ngn ng lp trnh cp cao c s dng rng ri trong mi
trng hc thut v cng ngh. Matlab c xem l la chn u tin v
c kh nng h tr ti u cho vic nghin cu cng nh dy hc i vi
cc mn ton hc, k thut v khoa hc. Matlab c vit tt t MATrix
LABoratory do mc ch ban u ca Matlab l xy dng nn mt cng c
h tr vic tnh ton cc ma trn mt cch d dng nht.
Mt trong nhiu l do khin ngi s dng thch dng Matlab chnh l
ch tng tc (interactive mode). ch ny, sau khi g cu lnh v
thc thi, kt qu s c in ra ngay trong ca s dng lnh (command win-
dow).
Tuy nhin, nu ngi dng ch cn thc thi cu lnh nhng khng cn in kt
qu ra ca s dng lnh, ta thm du chm phy (;) ngay sau cu lnh.
6 Matlab c bn
Hn na, bn tri mn hnh, ngi dng c th thy 3 tab Current di-
rectory, Workspace v Command history. Trong ,
Current directory: th hin th mc ang lm vic. Khi mun thc thi
mt tp tin .m no , ngi dng phi chc chn rng tp tin .m phi
c nhn thy trong tab ny.
Workspace: cha danh sch cc bin c khai bo v s dng trong
chng trnh. tab ny, ngi dng c th c c tn bin, gi tr,
kch thc ca bin, ... .
Command history: cha danh sch cc cu lnh c thc thi trong
ca s dng lnh (command window). Ngi dng c th nhp i vo
mt lnh bt k chng trnh thc hin li lnh . Hoc ngi dng
c th dng phm mi tn ln (), xung () trong ca s dng lnh
tm li cc lnh m chng trnh thc thi.
Bn cnh , Matlab vn duy tr ch kch bn (script mode) h tr cho
ngi dng khi lp trnh cc hm hay chng trnh t n gin n phc tp.
1.1 Gii thiu Matlab 7
Cc cu lnh s c lu trong mt tp tin c ui .m (v d: example.m)
v c thc thi mt ln khi chng trnh khi chy.
to mt tp tin .m, ngi dng vo File chn New M-File hay nhn
vo biu tng nm trn thanh MATLAB Toolbar.
Trong Matlab, khi mun vit mt dng ch thch, ta t du phn trm
(%) u dng. Tin li hn, ta c th s dng phm tt Ctrl+R bin
cc dng chn tr thnh ch thch v Ctrl+T loi b k hiu ch
thch trc cc dng ch thch.
thc thi mt tp tin .m, ta nhn vo biu tng nm trn thanh
Editor Toolbar hoc s dng phm tt F5. Tng t nh cc ngn ng lp
trnh khc, ch kch bn, Matlab cng h tr cng c debug gip ngi
dng kim tra chng trnh ca mnh tng bc nhm pht hin li sai trong
qu trnh vit.
8 Matlab c bn
1.2 Php ton, bin, vector, ma trn
1.2.1 Bin
Trong ngn ng lp trnh Matlab, mt bin (variable) c khai bo v khi
to thng qua cu lnh gn.
>> num = 98
num =
98
>> pi = 3.1415926535897931
pi =
3.1416
>> msg = Good morning
msg =
Good morning
Tn bin bao gm cc k t ch, s v k hiu gch di (_). Tn bin
phi bt u bng k t ch v c di ty thch. Tuy nhin, Matlab ch
ghi nh 31 k t u tin. ng thi, Matlab lun phn bit ch in v ch
thng khi t tn bin hoc tn chng trnh.
Cc kiu tn bin hp l: arg1, no_name, vars, Vars
Khi tn bin c t khng hp l, Matlab s xut hin thng bo:
>> 4rum = Forum
??? 4rum = Forum
|
Error: Unexpected MATLAB expression.
Nu tn bin cha c khi to m xut hin khi chy mt dng lnh
no , Matlab s xut hin thng bo:
??? Undefined function or variable ...
Ch : Trong ngn ng lp trnh Matlab, mi bin khi khi to s c
xem nh mt mng. Nu bin c gi tr n th mng c kch thc 1x1. Nu
1.2 Php ton, bin, vector, ma trn 9
bin l ma trn hoc vector th kch thc ca mng chnh l kch thc ca
ma trn hoc vector . y l mt im khc bit ca Matlab so vi cc
ngn ng lp trnh khc. ly kch thc ca mt bin, ta s dng hm
size().
>> size(num)
ans =
1 1
>> size(msg)
ans =
1 12
Ngn ng lp trnh Matlab xem chui k t nh mng mt chiu cha cc
k t. Do , kch thc ca bin msg l 1 dng, 12 ct.
1.2.2 Php ton
Matlab cung cp cc php ton s hc c bn nh sau
Php ton Dng i s Matlab
Cng a + b a+b
Tr a b a-b
Nhn a b a*b
Chia phi a/b a/b
Chia tri b/a a\b
Ly tha a
b
a b
>> 1+2; 5-3; 2*4; 5 2*(10-4);
>> 9/3
ans =
3
>> 9\3
ans =
0.3333
10 Matlab c bn
Hn na, Matlab cn h tr mt s hm s hc n gin nh hm lm trn
round(), lm trn ln ceil (), lm trn xung floor(), ly phn d mod(), tm
c chung ln nht gcd(), tm bi chung nh nht lcm(), v hm ly cn
sqrt().
>> round(1.6)
ans =
2
>> floor(10.8)
ans =
10
>> mod(10,8)
ans =
2
>> gcd(45,30)
ans =
15
>> lcm(45,30)
ans =
90
>> sqrt(9)
ans =
3
Ngoi ra cn c cc php ton so snh nh bng (==), khc (=), ln hn
(>), nh hn (<), ln hn hoc bng (>=), v nh hn hoc bng (<=).
Gi tr tr v ca biu thc so snh s bng 1 nu biu thc ng v bng
0 nu biu thc sai.
>> 1 = 2
ans =
1
>> 5 == 10
ans =
0
Cui cng l cc php ton lun l bao gm and (&&), or (||) v not (!).
1.2 Php ton, bin, vector, ma trn 11
Mt s khc 0 c xem l mt gi tr ng trong cc php ton lun l ca
Matlab. Gi tr tr v ca cc biu thc lun l tng t nh biu thc so
snh.
>> n = 15
>> mod(n,2)==0 && mod(n,3)==0
ans =
0
>> mod(n,2)==0 || mod(n,3)==0
ans =
1
BI TP
1. Tnh bng tay cc biu thc sau, ri th li bng Matlab:
a. 10 / 2 \ 5 3 + 2 * 4
b. 3 2 / 4
c. 3 2 2
d. 2 + round(6 / 9 + 3 * 2) / 2 3
e. 2 + floor(6 / 11) / 2 3
f. 2 + ceil(-6 / 9) 3
g. fix(-4/9)+fix(3*(5/6))
2. Cho a=36, b=15. Tnh bng tay cc biu thc sau, ri th li bng
Matlab:
a. mod(a,b)
b. rem(a,b)
c. gcd(a,b)
d. lcm(a,b)
Th li vi cc cp gi tr (a,b) khc.
3. D on kt qu nhng cu sau, gii thch v kim tra li bng Matlab
a. 1 & -1
12 Matlab c bn
b. 13 & (-6)
c. 0 < -2|0
d. 0 <= 0.2 <= 0.4
e. 5 > 4 > 3
f. 2 > 3 & 1
1.2.3 Vector
Vector l mt dng c bit ca ma trn c mt dng hoc mt ct. Trong
cc ngn ng lp trnh khc, sinh vin c lm quen vi vector thng
qua tn gi danh sch (list) hoc mng mt chiu (1-D array).
khi to vector dng cha cc gi tr ri rc, cc phn t trong vec-
tor phi nm trong cp ngoc vung ([]) v c ngn cch nhau bi khong
trng hoc du phy (,).
>> arr1 = [1 2 3]
arr1 =
1 2 3
>> arr2 = [0,-5]
arr2 =
0 -5
>> arr3 = [arr1 arr2]
arr3 =
1 2 3 0 -5
khi to vector dng cha cc gi tr lin tc (mc nh trong Matlab
l 1) hoc cch nhau mt khong gi tr nht nh (cn gi l bc nhy),
Matlab s dng du hai chm (:). ng thi, gi tr u v cui ca vector
khng cn thit t trong cp du ngoc vung ([]).
1.2 Php ton, bin, vector, ma trn 13
>> arr1 = 1:5
arr1 =
1 2 3 4 5
>> arr2 = [1:0.5:2]
arr2 =
1.0000 1.5000 2.0000
>> arr3 = 10:-1:6
arr3 =
10 9 8 7 6
Hn na, to mt vector rng - vector khng cha gi tr - trong Matlab,
chng ta khai bo nh sau:
>> emp_vect = []
emp_vect =
[]
Ngc li, to ra vector ct, chng ta cn nghch o vector ct bng
cch s dng du nhy n () hoc s dng du chm phy (;) ngn cch
gia cc phn t.
>> col_arr = [1:3]
>> col_arr = [1;2;3]
col_arr =
1
2
3
Gi tr ca mt phn t ti mt v tr bt k trong vector c truy xut
thng qua ch s. Trong Matlab, ch s lun bt u t 1 v c th l mt
gi tr n hoc mt mng.
Trch phn t th i: X(i)
Trch nhiu phn t: X([danh sch v tr])
14 Matlab c bn
>> arr = 10:-1:0
arr =
10 9 8 7 6 5 4 3 2 1 0
>> arr(5)
ans =
6
>> arr(1:3)
ans =
10 9 8
>> arr([10:-2:6])
ans =
1 3 5
>> arr([7,8,11])
ans =
4 3 0
xa mt phn t trong vector, chng ta s gn phn t vi vector
rng.
>> arr([2 5]) = []
arr =
10 8 7 5 4 3 2 1 0
>> size(arr)
ans =
1 9
BI TP
1. Cho x = [3 1 5 7 9 2 6], d on kt qu cc dng lnh sau v th li
bng Matlab
a. x(3)
b. x(1:7)
c. x(1:end)
d. x(1:end-1)
e. x(6:-2:1)
1.2 Php ton, bin, vector, ma trn 15
f. x([1 6 2 1 1])
g. sum(x)
2. Cho x = [1 5 2 8 9 0 1] v y = [5 2 2 6 0 0 2], gii thch kt qu cc
dng lnh sau
a. x > y
b. y < x
c. x == y
d. x <= y
e. y >= x
f. x | y
g. x & y
h. x & (-y)
i. (x > y) | (y < x)
j. (x > y) & (y < x)
3. Cho 2 vect a = [1 0 2] v b = [0 2 2], xc nh gi tr cc biu thc
sau. Kim tra li bng Matlab
a. a = b
b. a < b
c. a < b < a
d. a < b < b
e. a | (a)
f. b & (b)
g. a ((b))
h. a=b==a (Xc nh gi tr cui ca a)
4. Cho x = 1:10 v y = [3 1 5 6 8 2 9 4 7 0], d on kt qu, gii thch
v th li bng Matlab
a. (x > 3) & (x < 8)
b. x(x > 5)
16 Matlab c bn
c. y(x <= 4)
d. x( (x < 2) | (x >= 8) )
e. y( (x < 2) | (x >= 8) )
f. x(y < 0)
1.2.4 Ma trn
Trong Matlab, ma trn i din cho mng nhiu chiu c nhiu dng v
nhiu ct. Phng thc khai bo v khi to ma trn tng t nh vector.
Tuy nhin, kt thc mt dng trong ma trn, chng ta s dng du chm
phy (;).
>> mat = [1 2 3 ; 4,5,6 ; 7:2:11]
mat =
1 2 3
4 5 6
7 9 11
ng thi, Matlab cng h tr mt s hm c th khi to cc ma trn
c bit nh sau
Ma trn khng: zeros(s dng, s ct)
Ma trn vung khng cp n: zeros(n)
Ma trn n v: eye(n)
Ma trn ng cho: diag([cc phn t trn ng cho chnh])
Ma trn thc ngu nhin trong khong [0,1]: rand(s dng, s ct)
hoc rand(n) (ma trn vung cp n)
Ma trn ton s mt: ones(s dng, s ct)
Ma trn vung mt cp n: ones(n)
1.2 Php ton, bin, vector, ma trn 17
>> zeros(1,2)
ans =
0 0
>> eye(2)
ans =
1 0
0 1
>> diag([3 4 5])
ans =
3 0 0
0 4 0
0 0 5
>> rand(2,1)
ans =
0.8147
0.9058
>> ones(2)
ans =
1 1
1 1
Tng t nh vector, gi tr ca mt phn t ti mt v tr bt k trong ma
trn c truy xut thng qua ch s dng v ch s ct.
Trch phn t ti dng i ct j: A(i,j)
Trch nhiu phn t: A([danh sch cc dng, danh sch cc ct])
Trch ng cho chnh ca ma trn: diag(A)
Trch tt c phn t ca ma trn: A(:)
Trch tt c phn t ti ct i: A(:,i)
Trch tt c phn t ti dng j: A(j,:)
18 Matlab c bn
>> mat = rand(2,3)
ans =
0.1270 0.6324 0.2785
0.9134 0.0975 0.5469
>> mat(1,3)
ans =
0.2785
>> mat([2],[1 3])
ans =
0.9134 0.5469
>> mat(:,2)
ans =
0.6324
0.0975
Ch : Trong Matlab, ch s cui cng ca dng hay ct ca ma trn hoc
vector c th c thay th bi ch end.
BI TP
Cho x = [1 4 8], y = [2 1 5], v A = [2 7 9 7 ; 3 1 5 6 ; 8 1 2 5]. Xt xem
dng lnh no hp l, d on kt qu, gii thch v th li bng Matlab
a. [x; y

]
b. [x; y]
c. A(:,[1 4])
d. A([2 3], [3 1])
e. A(:)
f. [A; A(end, :)]
g. A(1:3,:)
h. [A; A(1 : 2, :)]
1.3 Biu thc Logic 19
1.3 Biu thc Logic
1.3.1 Cc ton t logic
Mt biu thc logic trong Matlab c xy dng t 6 ton t quan h l:
>, <, >=, <=, == (so snh bng), = (khng bng) v 3 ton t logic:
(NOT), & (AND) v | (OR).
Kt qu ca mt biu thc logic tr v 1 nu biu thc ng v 0 nu
biu thc sai. Nu phn t so snh l vect th kt qu s l mt vect cha
cc gi tr 0 hoc 1.
V d 1.3.1. Thc hin cc cu lnh sau v nhn xt kt qu
1. r=1;
r<=0.5
2. r=1:5;
r<=3
3. a=1:5;
b=[0 2 4 5 6];
a==b
u tin ca cc ton t
u tin Ton t
1. ( )
2. . .
3. + - (du)
4. * / \ .* ./ .\
5. + -
6. :
7. > < >= <= == =
8. & (AND)
9. | (OR)
20 Matlab c bn
V d 1.3.2. Thc hin cc cu lnh sau v nhn xt kt qu
1. a = 1; b=2; c=3;
(b*b==4*a*c)& (a=0)
2. a=1:10
(a>=20) & (a<=20)
3. a=1;b=2;
(a=0)|(b=0)|((a==0) & (b==0))
mt biu thc logic trong sng v trnh nhm ln, ta nn s dng cc
du (, ). Thc hin cc cu lnh sau v so snh
r = 0.5;
0 < r < 1
(0 < r) & (r < 1)
1.3.2 Vect v biu thc logic
Biu thc logic cho php truy xut mt cch linh hot n cc thnh phn
ca mt vect hay ma trn.
V d 1.3.3.
1. x = [-1 0 2 3 5 6 7 4 9]
2. x(x>0): xut nhng gi tr dng ca vect x.
3. x(x>2 & x <=5): xut nhng gi tr tha 2 < x 5.
4. Lnh x>2 cho kt qu l 0 0 0 1 1 1 1 1 1 l vect cha kt qu so
snh tng phn t tng ng ca x vi 2 v x(x>2) s xut ra cc gi
tr ln hn 2.
1.3.3 Cc hm logic: All, Any v Find
Mt s hm logic thng dng l: any, all, find
any: Kim tra xem c tn ti mt phn t no ca vect tha iu kin
khng? Nu c th cho kt qu l 1, ngc li l 0. V d, any(x>0): kim
tra xem c tn ti phn t no ca vect x dng hay khng.
1.4 Lnh iu kin v vng lp 21
all: kim tra tt c cc phn t ca vect c tha iu kin khng? Kt
qu l 1 nu ng. V d, all(x < 5): tt c cc phn t ca x c < 5 hay
khng?
Lu : kt qu ca all v any l v hng (1 hoc 0).
find: tr v cc ch s ca mt vect tha iu kin logic no . V d,
A = [1 2 4;4 5 6]
find(isprime(A)): xut ra cc v tr ca ma trn A c gi tr l s nguyn
t.
1.4 Lnh iu kin v vng lp
1.4.1 Lnh IF
C php:
if Biu thc iu kin
Lnh thc thi
end
hoc
if Biu thc iu kin 1
Lnh thc thi nu k 1 ng
elseif Biu thc iu kin 2
Lnh thc thi nu k 2 ng
.
.
.
end
V d 1.4.1. Hon v x v y nu x > y
if x > y
temp = y;
y = x ;
x = temp;
end
V d 1.4.2. Bin lun s nghim ca phng trnh ax
2
+bx+c = 0, (a = 0)
delt = b2 - 4*a*c;
if delt < 0
disp(PT Vo nghiem);
22 Matlab c bn
elseif delt == 0
disp(PT co nghiem kep);
else
disp(PT co 2 nghiem phan biet);
end
Lu : Nu cu lnh f c t trn 1 dng th phi dng du "," sau if. V
d, if x > 0, x = sqrt(x); end.
1.4.2 Lnh FOR
C php:
for var = start : step : end
Lnh thc thi
end
Vng lp vi bin chy l var bt u t start v kt thc l end, mi bc
lp s tng mt bc nhy l step. step c th l dng (vng lp tng dn)
hoc m (gim dn). Nu khng ch ra step, bc nhy mc nh l 1.
V d 1.4.3. Xut cc gi tr t 1 n 5 ra mn hnh
for i=1:5, disp(i), end
Xut cc gi tr chn t 1 n 10 theo th t ngc
for i=10:-2:1, disp(i), end
V d 1.4.4. Tnh giai tha n! = 1 2 . . . (n 1) n
n = 10;
fact = 1;
for k=1:n
fact = k*fact;
end
Ta c th thay th dng mt vect chy mt vng for:
for var = v, ..., end.
V d 1.4.5. Tnh tch tt c cc phn t trong vect a = [1 2 3 -2 4]
prod = 1;
for i = v, prod = prod*i, end
1.4 Lnh iu kin v vng lp 23
1.4.3 Lnh WHILE
C php:
while Biu thc iu kin
Cc lnh thc thi
end Cc lnh s c thc hin khi no biu thc iu kin cn ng.
V d 1.4.6. Tm gi tr ln nht ca n tng 1
2
+ 2
2
+ . . . + n
2
b hn
100.
S = 1; n=1;
while (S + (n+1)2) <100
n = n + 1;
S = S + n2
end
[n, S]
V d 1.4.7. x = 1;
while 1
xmin = x;
x = x/2;
if x == 0, break, end
end
xmin
Lnh while 1, ... s to ra vng lp v hn, ngt, ta dng lnh break.
S dng Break v Continue:
Break: Dng trong vng lp for hoc while, dng thot khi vng lp
ti v tr n xut hin. Nu c nhiu vng lp lng nhau th lnh break
c tc dng nhy sang vng lp k tip.
Continue: Dng trong vng lp for hoc while, lnh continue cho php
b qua cc cu lnh ng sau n v chuyn sang bc lp k tip trong
cng mt vng lp.
24 Matlab c bn
1.4.4 Lnh SWITCH . . . CASE
C php:
switch Biu thc iu kin
case Gi tr th 1
Khi lnh 1
case Gi tr th 2
Khi lnh 2
.
.
.
otherwise
Khi lnh n
end
Lnh switch s ln lt thc hin cc khi lnh tng ng vi tng gi tr
th trong biu thc iu kin. Biu thc iu kin phi c dng s hoc
chui.
V d 1.4.8. Tnh chun p ca vect x
switch p
case 1
y = sum(abs(x));
case 2
y = sqrt(x*x);
case inf
y = max(abs(x));
otherwise
error(p phai la 1,2 hoac inf) ;
end
1.4.5 Script v Hm
Script: L cc dng lnh Matlab c cha trong mt file c phn m rng
.m; file script c th c son tho bng Matlab Editor hoc cc
chng trnh son tho khc. thc thi script ch cn gi tn file
trong ca s dng lnh ca Matlab.
Hm: Cng l cc on lnh Matlab c son tho trong file .m, hm
nhn cc tham s truyn vo, x l v xut ra gi tr. Tn ca hm
1.4 Lnh iu kin v vng lp 25
phi ging nh tn ca file .m, trnh t tn hm trng vi cc hm
c sn ca Matlab. Dng u tin ca hm (tr phn ch thch) phi
c dng nh sau
function [Cc gi tr xut] = Tn_hm(Cc gi tr nhp)
Sau dng ny, cc dng ch thch bt u bng du % s xut hin khi
gi lnh help tn_hm.
V d 1.4.9. Hm tnh gi tr th n ca dy Fibonnaci
function f = Fib(n)
F = zeros(1,n+1);
F(2) = 1;
for i = 3:n+1
F(i) = F(i-1) + F(i-2);
end
f = F(n);
Lu tn file Fib.m.
V d 1.4.10. Hm tr v nhiu gi tr
function [a b] = maxmin(x)
% Ham tra ve gia tri lon nhat va nho nhat cua mang x
a = max(x);
b = min(x);
Lu tn file maxmin.m. Hai gi tr tr v cha trong mng [a b].
V d 1.4.11. Hm khng c gi tr tr v.
function circle(a,b,r)
% Ham ve duong tron tam (a,b), ban kinh r
t = 0:pi/20:2*pi;
x = a + r*sin(t);
y = b + r*cos(t);
plot(x,y);
axis equal;
26 Matlab c bn
BI TP
1. D on kt qu sau v th li bng Matlab
if n > 1
m = n+1
else
m = n - 1
vi
a. n = 7, m = ? b. n = 0, m = ? c. n = -10, m = ?
2. if T < 30
h = 2*T + 1
elseif T < 10
h = T - 2
else
h = 0
end
a. T = 50, h = ? b. T = 15, h = ? c. T = 0, h = ?
3. if 0 < x < 10
y = 4*x
elseif 10 < x < 40
y = 10*x
else
y = 500
end
a. x = -1, y = ? b. x = 5, y = ? c. x = 30, y = ?
4. Vit Script tnh hm sau
h(T) = T - 10 khi 0 < T < 100
= 0.45T + 900 khi T > 100
Th cc trng hp a. T = 5 b. T = 110.
5. Cho vect x = [1 8 3 9 0 1], vit cc dng lnh
a. Tnh tng cc phn t. (So snh kt qu vi lnh sum)
b. Vit hm tnh tng dy con t 1 n j. (So snh kt qu vi lnh
cumsum)
1.4 Lnh iu kin v vng lp 27
6. Vit hm tnh t hp n chp r theo cng thc sau
C
r
n
=
n!
n!(n r)!
7. To ma trn M N cc s ngu nhin (dng lnh rand). Chuyn cc
gi tr nh hn 0.2 thnh 0, cc gi tr ln hn hay bng 0.2 thnh 1.
8. To mt vec t ngu nhin gm 1.000.000 phn t tnh tng bnh
phng cc phn t s dng 2 cch:
a. Dng php ton trn ma trn.
b. Vng lp for.
o thi gian chy gia 2 cch bng cch s dng cp lnh tic ... toc.
V d, ta mun o thi gian tnh hm x = sin(t) vi th dng: tic
x = sin(t) toc.
9. To mt vec t c gi tr nguyn gm 100.000 phn t trong khong
[0, 100], tm tt c nhng phn t chia ht cho 3 bng 2 cch:
a. Dng php ton trn ma trn.
b. Dng for v if.
o thi gian chy gia 2 cch.
10. Cho x = [4 1 6] v y = [6 2 7], tnh cc mng/vector/ma trn sau
a. aij = xiyj
b. bij = xi/yj
c. ci = xiyi, tnh tng cc phn t ca c.
d. dij = xi/(2 + xi + yj)
11. Cho mt vect bt k, v d x = [-4 0 5 -3 0 3 7 -1 6], vit script
m xem trong vec t c bao nhiu gi tr m, bao nhiu gi tr dng,
v bao nhiu gi tr bng 0.
12. Vit script tnh trong mt vector cc s ngu nhin (s dng lnh
rand):
28 Matlab c bn
a. C bao nhiu phn t ng trc mt phn t c gi tr nm
trong khong 0.8 n 0.85.
b. C bao nhiu phn t trong khong [0.01, 0.5] ng trc gi tr
trung bnh ca vector .
(D on kt qu trc khi thc thi lnh.)
13. Vit mt script yu cu nhp mt nhit Fahrenheit ri chuyn sang
Celcius tng ng. Script vn chy n khi khng nhp nhit
na th thi. [S dng hm isempty.]
14. Gi s ta u t vo mt qu tn dng mt s tin ban u l a, s
tin sinh li hng nm l 10% s tin vn tch ly. Hy tnh s nm
khi m li nhun thu c gp i tin vn ban u.
1.5 V th
1.5.1 V th trong 2-D
Lnh c bn:
plot(x,f(x))
Vi x: vect cha min gi tr ca hm f. f(x): cc gi tr ca f ng vi x.
V d 1.5.1. V th y = sin(x) t [0, 2]
x = 0 : pi/100 : 2*pi;
y = sin(x);
plot(x, y);
1.5 V th 29
Ch thch trn th:
text(x, y, ...): t mt ch thch (trong du ) ln th ti ta
(x, y).
gtext(...): t ch thch ln th, v tr c xc nh bi click chut.
title(...): ta ca th.
xlabel(...): ghi nhn cho trc Ox.
ylabel(...): ghi nhn cho trc Oy.
hold on/off: bt/tt ch cho php v nhiu th trong cng mt h
trc ta .
Cc ty chnh v nt v, du v mu sc:
Lnh: plot(x,y,Nt v_Du_Mu sc)
Nt v:
Du (marker):
30 Matlab c bn
Mu sc: gm 8 ty chn l r - , k - en, w - trng, y - vng, c -
cyan, b - xanh nc bin, g - xanh l cy, m - tm.
V d 1.5.2.
x = 0:pi/20:2*pi;
plot(x, sin(x),-.*r);
hold on
plot(x, sin(x pi/2),om);
plot(x, sin(x pi), :bs);
hold off
0 1 2 3 4 5 6 7
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
Ty chnh mu sc v ln ca nt v:
LineWidth: rng ca nt v, tnh bng pt.
MarkerEdgecolor: mu ca ng vin du (marker).
MarkerFacecolor: mu bn trong du.
Markersize: ln ca du, tnh bng pt.
1.5 V th 31
V d 1.5.3.
x = -pi:pi/10:pi;
y = tan(sin(x)) - sin(tan(x));
plot(x,y,rs,LineWidth,2,MarkerEdgecolor,k,...
MarkerFacecolor,g, Markersize,10)
4 3 2 1 0 1 2 3 4
3
2
1
0
1
2
3
Xc nh ta :
axis([xmin xmax ymin ymax])
xlim([xmin xmax])
ylim([ymin ymax])
Ty chnh cc kiu trc ta :
axis on/off/auto
axis normal/square/equal/tight
axis ij/xy
grid on/off
32 Matlab c bn
Cc kiu ty chnh h trc ta
subplot - V nhiu th trong cng mt ca s:
subplot(m, n, p): to ra mt ma trn m hng, n ct cha mn th, p
l v tr ca tng th, th t t trn xung di theo hng.
V d 1.5.4. V 4 th trong cng 1 ca s
t = 0:pi/20:2*pi; [x,y] = meshgrid(t);
subplot(2,2,1)
plot(sin(t),cos(t))
axis equal
subplot(2,2,2)
z = sin(x)+cos(y);
plot(t,z)
axis([0 2*pi -2 2])
subplot(2,2,3)
z = sin(x).*cos(y);
plot(t,z)
axis([0 2*pi -1 1])
subplot(2,2,4)
z = (sin(x).2)-(cos(y).2);
plot(t,z)
axis([0 2*pi -1 1])
1.5 V th 33
1.5.2 V th trong 3-D
Lnh c bn: plot3(x, y, z) Trong plot3, ta cn xc nh cc vect
(x, y, z). v mt (x, y, z = f(x, y)), s dng lnh meshgrid(x,y).
V d 1.5.5.
t = 0:0.02*pi:25*pi;
x = sin(t); y = cos(t);
z = t;
plot3(x,y,z);
34 Matlab c bn
1
0.5
0
0.5
1
1
0.5
0
0.5
1
0
20
40
60
80
V d 1.5.6. V mt z(x, y) = x
2
ye
x
2
y
2
vi 4 x 4 v 4 y 4.
[x,y]=meshgrid([-4:0.1:4]);
z=x.*x.*y.*exp(-x.2-y.2);
plot3(x,y,z)
4
2
0
2
4
4
2
0
2
4
0.2
0.1
0
0.1
0.2
1.5 V th 35
Mt s lnh v th trong 3-D khc:
contour / contourf / contour3
mesh / meshc / meshz
surf / surfc
waterfall
bar3 / bar3h
pie3 / fill3
comet3 / scatter3 / stem3
(Xem hng dn chi tit trong help)
In v xut th:
Dng lnh
print -dtiff -r200 mygraph.tiff print deps2 mygraph.eps
S dng Plotting Tools
Xut th ra file s dng Plotting Tools
36 Matlab c bn
BI TP
1. V th hm s x, x
3
, e
x
v e
x
2
vi 0 < x < 4.
2. V th hm s f(x) = sin(1/x) vi 0.01 < x < 0.1.
3. V li th hm s e
x
, (0 < x < 4) nhng vi ng t nt, mu
v du (marker) l du +.
4. V li th hm s e
x
2
(0 < x < 4) nhng vi ng gch chm, mu
xanh v du (marker) l hnh tam gic hng ln trn. (Th li vi cc
tham s khc (Mu sc, kiu ng, du))
5. V th hm s f(x) =
x
1+x
4
, 5 x 5 vi: Kiu ng l nt gch
chm, rng 2pt, mu thm.
Du (marker) l hnh trn, rng 6pt, mu t ca du l xanh, mu
ng vin l en.
6. V hai hm y = x
2
v y = sin(3x) trn cng mt th.
7. V hai hm s f = x sin(x), 0 x 20 v g = 50x, 20 x 25 trn 2
h trc ta khc nhau.
8. V ng trn c tm O(0, 0) bn knh bng 3. nh ta cho trc
Ox v Oy l t -6 n 6. To ng li trn hnh v v th li vi cc
lnh axis normal/square/equal/tight.
9. V th hm s y = cos(t) trong khong 0 < t < 2, chia li cc
gi tr trn trc 0x cch u nhau mt khong l /4. Ghi nhn cho
cc gi tr tng ng l 0, /4, /2, 3/4, . . . , 2. Chia trc Oy thnh
3 khong l 1, 0, 1.
10. V th hm s vi 0 < t < 30. Ghi ch thch cho trc Ox l t (thoi
gian), Oy l Ham so x(t) v ta cho th.
11. V th hm s x(t) = 2 +3 sin(t +10)e
0.35t
, vi 5 < t < 5. nh
gi tr cho trc Ox l t -20 n 20 v Oy t -6 n 6. Ghi ch thch
cho trc Oy l x(t); trc Ox l thoi gian t(giay); ta ca th
l ham so x(t). Dng lnh text vit phng trnh ca th trn
mt im ca th.
1.5 V th 37
12. V th hm s x
3
, e
x
v e
x
2
vi 0 < x < 4 trong cng mt ca s
hnh v.
13. V th hm s z(x, y) =
sin

x
2
+y
2
+

x
2
+y
2
+
, = 110
10
vi 10 x 10
v 10 y 10 . Ghi ch thch cho th.
14. V th hm s sau trn min [2, 2] [2, 2], s dng cc hm plot3,
mesh, meshc, meshz, surf, surfc, waterfall.
a. f(x, y) = 3x x
3
2y
2
+ y
4
b. f(x, y) = sin(x) + sin(y) + sin[(x + y)]
c. f(x, y) = e
x
+ y
4
x
3
+ 4 cos y
d. f(x, y) = xye
(x
2
y
2
)
CHNG 2
i s tuyn tnh
2.1 Cc php ton ma trn, cc php bin i
s cp
2.1.1 Cc php ton ma trn
Trong Matlab, cc php ton ma trn nh cng, tr, nhn, v ly tha c
vit tng t nh cc php ton c bn trnh by chng 1.
Cng: A+B
Tr: A-B
Nhn: A*B
Chia phi: A/B tng ng vi A*inv(B)
Chia tri: A\B tng ng vi inv(A)*B
Ly tha: A n
Nhn vi mt s: A*n
2.1 Cc php ton ma trn, cc php bin i s cp 39
>> A = [1,2;3,4]
>> B = [5,6;7,8]
>> A+B
ans =
6 8
10 12
>> A*B
ans =
19 22
43 50
>> A/B
ans =
3 -2
2 -1
>> A\B
ans =
-3 -4
4 5
Bn cnh , Matlab cn h tr mt s hm s cp lin quan n ma trn
m ngi dng khng phi vit li chng trnh tnh ton nh cc ngn
ng lp trnh khc.
Chuyn v: A
nh thc: det(A)
Ma trn nghch o: A (-1) hoc inv(A)
Hng ca ma trn: rank(A)
Vt ca ma trn: trace(A)
Tm dng bc thang rt gn theo phng php Gauss Jordan: rref(A)
Tnh tng cc phn t ca ma trn theo ct: sum(A)
40 i s tuyn tnh
>> A = [2 4 1 ; 6 7 2 ; 3 5 9]
>> det(A)
ans =
-77
>> rank(A)
ans =
3
>> trace(A)
ans =
18
>> sum(A)
ans =
11 16 12
c bit hn, thc hin cc php ton nhn, chia gia phn t vi phn
t ca hai ma trn, hay ly tha tng phn t ca ma trn, chng ta thm
du chm (.) vo trc php ton cn tnh.
>> A = [1,2;3,4]
>> B = [5,6;7,8]
>> A.*B
ans =
5 12
21 32
>> A./B
ans =
0.2000 0.3333
0.4286 0.5000
>> A.\B
ans =
5.0000 3.0000
2.3333 2.0000
>> A. 3
ans =
1 8
27 64
2.1 Cc php ton ma trn, cc php bin i s cp 41
BI TP
1. Cho x = [2 5 1 6].
a. Cng thm 16 vo tt c cc phn t.
b. Cng thm 3 vo cc phn t v tr l.
c. Ly cn bc 2 tt c cc phn t.
d. Bnh phng tt c cc phn t.
2. Cho x, y ln lt l cc vector ct. x = [3 2 6 8], y = [4 1 3 5].
a. Ly tng cc phn t ca x cng thm vo tng phn t ca y.
b. Lu tha mi phn t ca x vi s m tng ng l cc phn t
ca y.
c. Chia cc phn t ca y vi cc phn t tng ng ca x.
d. Nhn cc phn t ca x vi cc phn t tng ng ca y, t
trong vector z.
e. Tnh tng cc phn t ca z, gn cho w.
f. Tnh x.* y w.
g. Tch v hng ca x v y
3. Cho x = [1 4 8], y = [2 1 5] v A = [3 1 6 ; 5 2 7]. Xt xem dng lnh
no hp l, d on kt qu, gii thch; ri th li bng Matlab :
a. x + y
b. x + A
c. x + y
d. A [x y]
e. A 3
4. Cho A = [2 7 9 7 ; 3 1 5 6 ; 8 1 2 5], d on kt qu, gii thch; ri
th li bng Matlab:
a. A
b. sum(A)
42 i s tuyn tnh
c. sum(A)
d. sum(A, 2)
e. [[A; sum(A)] [sum(A, 2); sum(A(:))]]
5. Hy to ra ma trn 4x4 c gi tr nguyn nm trong khong [-10,10] ,
Sau :
a. Cng mi phn t ca ma trn cho 15
b. Bnh phng mi phn t ca ma trn
c. Cng thm 10 vo cc phn t dng 1 v dng 2
d. Cng thm 10 vo cc phn t ct 1 v ct 4
e. Tnh nghch o mi phn t
f. Ly cn bc hai mi phn t
2.1.2 Cc php bin i s cp
Sau y, chng ta s lm quen vi cc php bin i s cp trn dng v ct
ca ma trn. i vi php bin i s cp trn dng,
Bin dng i thnh ln dng i: A(i,:) = A(i,:)*
Bin dng i thnh dng i cng ln dng j: A(i,:) = A(i,:) +
A(j,:)*
Hon v dng i v dng j: A = A([th t dng],:)
2.1 Cc php ton ma trn, cc php bin i s cp 43
>> A = [2 4; 3 8; 6 7]
>> A(1,:) = A(1,:)*10
A =
20 40
3 8
6 7
>> A(2,:) = A(2,:) + 3*A(3,:)
A =
20 40
21 29
6 7
>> A = A([3 1 2],:)
A =
6 7
20 40
21 29
Tng t, ta c cc php bin i s cp trn ct l
Bin ct i thnh ln ct i: A(:,i) = A(:,i)*
Bin ct i thnh ct i cng ln ct j: A(:,i) = A(:,i) + A(:,j)*
Hon v ct i v ct j: A = A(:,[th t ct])
BI TP
Cho ma trn A = [2 4 1 ; 6 7 2 ; 3 5 9], vit lnh Matlab
a. Gn cho vector x l dng th nht ca A.
b. Gn cho ma trn y l hai dng cn li (cui) ca A.
c. Tnh tng theo dng ma trn A.
d. Tnh tng theo ct ma trn A.
e. Tm phn t ln nht v phn t nh nht ca ma trn.
f. Tnh tng cc phn t ca A
44 i s tuyn tnh
2.2 Ma trn nghch o, Phng trnh ma
trn v H phng trnh tuyn tnh
2.2.1 Ma trn nghch o
nh ngha 2.2.1. Ma trn n v cp n l ma trn vung cp n c cc
phn t trn ng cho chnh l 1, cc phn t cn li l 0. V d:
_

_
1 0 . . . 0
0 . . . . .
. . . . . .
. . . . . .
. . . . . 0
0 . . . 0 1
_

_
Trong Matlab, chng ta s dng hm eye(n) to ma trn n v cp n.
V d 2.2.2. Ta to ma trn n v 3x3 bng code matlab nh sau.
>> eye(3)
ans =
1 0 0
0 1 0
0 0 1
nh ngha 2.2.3. Cho A l ma trn vung cp n. Ma trn A c gi
l ma trn kh nghch nu nh tn ti ma trn B vung cp n sao cho
A.B = B.A = I
n
.
Ta s dng hm inv(A) hoc s dng php ton A
1
tnh ton ma trn
nghch o.
V d 2.2.4. Cho ma trn A nh sau:
_
_
3 4 6
0 1 1
2 3 4
_
_
2.2 Ma trn nghch o, Phng trnh ma trn v H phng
trnh tuyn tnh 45
>> inv(A)
ans =
-4.0000 -3.0000 2.0000
-1.0000 -1.0000 0
6.0000 4.0000 -3.0000
V d 2.2.5. Cho ma trn A nh sau:
_
_
8 + 3i 9 i 3 + 2i
9 3i 6 5 2i
1 + 2i 1 2i 10 + i
_
_
Ma trn nghch o ca A l
>> inv(A)
ans =
-0.0126 - 0.0995i 0.0515 + 0.1266i -0.0686 - 0.0138i
0.0990 + 0.1053i -0.0075 - 0.1357i 0.0235 + 0.0126i
-0.0469 + 0.0264i 0.0465 - 0.0155i 0.1001 + 0.0085i
V d 2.2.6. Cho ma trn B nh sau, B khng kh nghch khi hm inv
s tr ra cc gi tr nh sau:
_
_
3 4 6
5 2 16
2 1 1
_
_
inv(B)
Warning: Matrix is singular to working precision.
ans =
Inf Inf Inf
Inf Inf Inf
Inf Inf Inf
46 i s tuyn tnh
BI TP
1. T to ngu nhin ma trn A l ma trn vung 25 phn t thuc C .
a. Kim tra ma trn A c kh nghch hay khng, nu khng th cho
li ma trn ngu nhin khc.
b. Xc nh ma trn nghch o ca A bng cc php bin i s
cp trn dng (lm tng bc).
2. T to ma trn ngu nhin A l ma trn vung 100 phn t thuc C.
a. Kim tra ma trn A c kh nghch hay khng, nu khng th cho
li ma trn ngu nhin khc.
b. Xc nh ma trn nghch o ca A bng cc php bin i s
cp trn dng (khng cn lm tng bc).
c. Dng hm inv hoc php ton m -1 xc nh ma trn nghch
o ca A.
3. Cho ma trn bt k khng kh nghch 100 phn t. Dng cc php bin
i s cp trn dng kim tra tnh khng kh nghch ca ma trn
.
4. Cho cc cp ma trn A,B theo th t. Xc nh A
1
B
1
, (AB)
1
, B
1
A
1
a.
_
1 2
4 1
_
,
_
2 3
4 1
_
b.
_
_
2 3 i 1
i 3 1 0
1 2 i 1
_
_
,
_
_
1 2 2i + 1
0 1 2
3 1 i + 1
_
_
2.2.2 Ma trn gi nghch o
Cho ma trn A kch thc m n. Ma trn B l ma trn gi o ca A l
ma trn tha 4 tnh cht sau:
1. ABA = A
2.2 Ma trn nghch o, Phng trnh ma trn v H phng
trnh tuyn tnh 47
2. BAB = B
3. (AB)

= AB
4. (BA)

= BA
Trong ma trn AB v BA l ma trn Hermit, tc l ma trn phc c tnh
i xng lin hp.
Ghi ch 2.2.7. Trng hp t bit:
1. Nu A

A kh nghch th ma trn B = (A

A)
1
A

l ma trn gi o
tri ca A.
2. Nu AA

kh nghch th ma trn B = A

(AA

)
1
l ma trn gi o
phi ca A.
V d 2.2.8. Ma trn Hermit Cho ma trn A nh sau
_
7 5 + i
5 i 9
_
Ma trn chuyn v ca A l
>> A
ans =
7.0000 5.0000 + 1.0000i
5.0000 - 1.0000i 9.0000
Ta nhn thy rng ma trn chuyn v ca A cng bng chnh A do vy ma
trn A chnh l ma trn Hermit.
Tip theo, ta s dng Matlap tnh ton ma trn gi o ca A. Ta s
dng hm pinv(A)
V d 2.2.9. Cho ma trn A nh sau
_
2 4 3
5 1 7
_
Sau dng hm pinv tnh ma trn gi o ca A v kim tra da vo
nh ngha.
48 i s tuyn tnh
pinv(A)
ans =
-0.0263 0.0789
0.2789 -0.1168
-0.0211 0.1032
>> A*pinv(A)*A
ans =
2.0000 4.0000 3.0000
5.0000 1.0000 7.0000
BI TP
1. Cho ma trn A nh sau:
_

_
81 + 7i 10 + 8i 16 + 7i 14 + 8i
91 28 + 7i 97 42 + 7i
13 + 8i 55 + 4i 96 + 3i 92 + 3i
91 + 9i 96 + 7i 49 79 + 10i
63 + 7i 96 + 2i 80 + i 96
_

_
Xc nh ma trn gi o tri hoc gi o phi (nu c) ca A theo
2 cch:
- S dng hm pinv. Cho bit ma trn gi o trn l ma trn gi
o tri hay phi (nu c).
- Khng s dng hm pinv.
2. (*)Cho ma trn A M
4x7
(R) vi cc phn t bt k.
a. Kim tra tnh nghch o ca B = AA
T
v C = A
T
A.
b. Nu B khng kh nghch tm ma trn gi o ca B (nu c).
(Nu B kh nghch ta lm tng t vi C).
c. (**)Nu s dng hm pinv th cho bit ma trn l gi o tri
hay gi o phi.
d. Thc hnh li ci cu (a), (b), (c) vi tnh ton symbolic.
2.2 Ma trn nghch o, Phng trnh ma trn v H phng
trnh tuyn tnh 49
2.2.3 Gii phng trnh ma trn
nh ngha 2.2.10. Cho phng trnh AX=B. Trong A l ma trn mxn,
B l ma trn mxk v X l n. Ta cn tm X.
Ghi ch 2.2.11. Nu A l ma trn vung tc m=n v kh nghch .Ta dng
nghch o ca A.
Trong Matlab ta s dng php ton \ gi l php chia tri hoc hm mldi-
vide(A,b).
V d 2.2.12. Cho phng trnh ma trn nh trn.
A=[2 4 3;5 1 7;2 3 5];b=[2 5;4 1;3 7];
>> X=A\b
X =
0.0270 -2.2703
0.0811 1.1892
0.5405 1.5946
i vi phng trnh XA=b, ta dng php ton chia phi / hoc hm mrdi-
vide(b,A).
gii phng trnh ma trn trong Matlab,ta ch s dng hmlinsolve(A,b,opts).
Trong opts l tham s ch tnh cht ca ma trn A. iu ny rt quan
trng v n nh hng n tc tnh ton ca hm.
V d 2.2.13. Nu A l ma trn i xng, ta nhp vo cu lnh nh sau
linsolve(A,b,SYM). Sau y l bng cc gi tr ca tham s opts.
50 i s tuyn tnh
Bng 2.2.1: Gi tr ca tham s opts
Gi tr tham s Thuc tnh ca ma trn A
LT Ma trn tam gic di
UT Ma trn tam gic trn
UHESS Ma trn Hessenberg trn
SYM Ma trn i xng
POSDEF Ma trn xc nh dng
RECT Ma trn ch nht
TRANSA Ma trn i xng lin hp
BI TP
1. Cho ma trn A nh sau rand(50,50). Tm ma trn X tha :
a. 12X 2.5A = I
50
b. XA
50
= B. Vi B l ma trn ngu nhin khc A.
2. Cho ma trn A M
2x3
(C), ma trn B M
2x2
(C). Tm ma trn X
tha AX=B.
3. Cho ma trn A,B M
100x70
(C). Tm ma trn X tha:
a. 100A + 10X = B
b. XA = B
4. Gii phng trnh ma trn sau:
a.
X
_
_
13 8 12
12 7 12
6 4 5
_
_
=
_
_
1 2 3
4 5 6
7 8 9
_
_
b.
_
_
1 i 2 + i 108 i
12 7i 9 22 5i
3i 5 + 10i 25
_
_
X
_
_
1 1 1
1 1 1
1 1 1
_
_
=
_
_
0 0 1
1 1 0
0 1 1
_
_
2.3 H phng trnh tuyn tnh 51
2.3 H phng trnh tuyn tnh
2.3.1 a v dng ma trn
gii h phng trnh tuyn tnh, ta a v dng ma trn vi b l ma trn
m1. Ngoi cc phng php trn, ta c th s dng hm rref([A b])
a ma trn v dng bc thang rt gn.
V d 2.3.1. Gii h phng trnh tuyn tnh sau:
_
_
_
x
1
+ 7x
2
2x
3
= 21
2x
1
+ 3x
2
+ 7x
3
= 2
x
1
+ 8x
2
+ 2x
3
= 1
Ta a phng trnh trn v ma trn A, vec t x v b c dng:
A =
_
_
1 7 2
2 3 7
1 8 2
_
_
, x =
_
_
x
1
x
2
x
3
_
_
, b =
_
_
21
2
1
_
_
Sau gii phng trnh ma trn : Ax=b.
Ghi ch 2.3.2. Trc khi gii phng trnh trn, ta cn xem xt phng
trnh ny c nghim hay khng bng cch so snh hng ca ma trn A v
A=[A B].
V d 2.3.3. Cho phng trnh sau:
_
_
2 4 3
5 1 7
2 3 5
_
_
X =
_
_
2 5
4 1
3 7
_
_
>> A=[2 4 3;5 1 7;2 3 5];b=[2;4;3];
>> rank(A)
ans =
3
52 i s tuyn tnh
>> rank([A b])
ans =
3
Ta nhn thy rank(A)=rank(A)=m do vy phng trnh trn c nghim duy
nht.
2.3.2 S dng tnh ton symbolic
Ngoi phng php a v dng ma trn, ta c th nhp trc tip h phng
trnh v s dng hm solve.
Dng 1: solve(phng trnh,bin)
V d 2.3.4. >> solve(x^2+2*x+a,x)
ans =
- (1 - a)^(1/2) - 1
(1 - a)^(1/2) - 1
>> solve(x^2+2*x+a,a)
ans =
- x^2 - 2*x
Dng 2: solve(phng trnh th 1,...,phng trnh th n,bin th 1,...,bin
th n)
V d 2.3.5. >> S=solve(x^2-3*x+y,y-2+8*x+2*a,x,y)
S =
x: [2x1 sym]
y: [2x1 sym]
2.3 H phng trnh tuyn tnh 53
>> S.x
ans =
(8*a + 113)^(1/2)/2 + 11/2
11/2 - (8*a + 113)^(1/2)/2
>> S.y
ans =
- 2*a - 4*(8*a + 113)^(1/2) - 42
4*(8*a + 113)^(1/2) - 2*a - 42
>> S=solve(x^2-3*x+y,y-2+8*x+2*a,x,a)
S =
a: [2x1 sym]
x: [2x1 sym]
>> S.a
ans =
2*(9 - 4*y)^(1/2) - y/2 - 5
- y/2 - 2*(9 - 4*y)^(1/2) - 5
>> S.x
ans =
3/2 - (9 - 4*y)^(1/2)/2
(9 - 4*y)^(1/2)/2 + 3/2
54 i s tuyn tnh
BI TP
1. Gii cc phng trnh v h phng trnh sau y:
a. x
3
5x
2
+
3
2
x + 10 = 22
b. Gii h phng trnh sau theo hai cch dng ma trn hoc dng
hm solve v rt ra nhn xt v hai phng php trn.
_

_
x
1
+ 3x
2
+ 5x
3
4x4 = 1
x
1
+ 8x
2
17x
3
+ 9x
4
= 20
2
3
x
1
+
7
8
x
2
6x
3
4x
4
= 20
12x
1
7x
2
+ 22x
3
x
4
= 1
2. Cho h phng trnh sau:
_
x + 5.000y = 17.0
15x + 7.501y = 25.503
a. Gii h phng trnh trn.
b. Thay gi tr 25.503 bng cc gi tr sau 25.504; 25.505;25.501 v
cho bit nghim ca n thay i nh th no so vi phng trnh
ban u.
c. Cho bit ngha ca hm rcond.
2.4 nh thc, gii h phng trnh tuyn
tnh bng nh thc
2.4.1 nh thc
Mnh 2.4.1. Cho A M
n
(F). Ta c:
a. A kh nghch |A| = 0 .
b. A khng kh nghch |A| = 0.
Ta dng hm det tnh nh thc ca ma trn vung.
2.5 a thc c trng, tr ring v vect ring 55
V d 2.4.2. Tnh nh thc ca ma trn sau:
_
_
8 9 3
9 6 5
1 1 10
_
_
>> det(A)
ans =
-316
2.4.2 Gii h phng trnh tuyn tnh bng nh thc
a phng trnh v dng ma trn AX=b. Sau s dng qui tc Cramer
sau y gii.
Thut ton 2.4.3. Qui tc Cramer:
K hiu:
= |A|

j
= |A
j
| (vi A
j
l ma trn A xa ct j v thay bng ct b).
Trng hp 1: Nu = 0 th h c nghim duy nht: x
1
=

1

, x
2
=

, ..., x
n
=

n

.
Trng hp 2: Nu = 0 v j 1, 2, ..., n :
j
= 0 th h v nghim.
Trng hp 3: Nu = 0 v j 1, 2, ..., n :
j
= 0 th h c v s nghim
hoc v nghim.
2.5 a thc c trng, tr ring v vect ring
nh ngha 2.5.1. Cho A M
n
(F). Gi tr F c gi l gi tr ring
ca ma trn A nu tn ti vet u = 0 F
n
sao cho : Au = u.
Khi vect u c gi l vect ring ca ma trn A ng vi tr ring .
56 i s tuyn tnh
Mnh 2.5.2. Gi tr ring ca ma trn A l nghim ca phng trnh
det(A I) = 0, goi l phng trnh t trng ca A.
Ta s dng hm poly tnh phng trnh t trng. Hm trn s tr
ra mt vect dng m mi phn t l h s tng ng theo th t ca a
thc c trng.
V d 2.5.3. Cho ma trn A nh sau:
_
_
3 2 7
5 9 21
12 4 3
_
_
Tnh a thc c trng ca ma trn A.
>> p=poly(A)
p =
1.0e+003 *
0.0010 -0.0090 -0.1870 1.7030
a thc c trng ca A l:
3
9
2
187 + 1703.
Sau ta c th dng hm roots(p) tnh nghim ca a thc trn.
Hm [V,D]=eig(A) cho ta gi tr ring v vect ring tng ng (vect
ring trong ma trn V l vect ct).
>> [V,D]=eig(A)
V =
0.3521 0.3915 -0.0549
0.6761 -0.9163 0.9788
-0.6472 0.0847 0.1972
D =
-13.7070 0 0
0 9.1952 0
0 0 13.5117
Vi tr ring l -13.707 ta c vect ring tng ng l (0.3521,0.6761,-0.6472).
2.5 a thc c trng, tr ring v vect ring 57
BI TP
1. Cho ma trn A M
50
(F). Xc nh cc vect x no khi thc hin tch
Ax th khng lm thay i hng ca vect x.
2. Tnh nh thc ca cc ma trn sau y:
a.
_
_
2 5i 23.2 3 6i
21.2i 3 7i 11
40 8i 2 + i 12 23i
_
_
b.
_
_
12222.555 50000 28123445
197772.22345 596959394 32344634596.232
19284785763.2315 23454564 235856394.111223
_
_
Kim tra li bng tnh ton symbolic.
3. Vit chng trnh bin lun h phng trnh tuyn tnh v thc hin
vi h phng trnh sau:
_
_
2 8 + m 11
3 + m 7 2
9 1 12 m
_
_
CHNG 3
Gii tch hm mt bin
3.1 Cc php ton tp hp
3.1.1 nh ngha tp hp v cch khai bo tp hp
trong Matlab
Tp hp
l nhng i tng c nhm theo mt tnh cht no .
Khai bo tp hp trong Matlab
Mt tp hp trong Matlab c khai bo bng cch lit k di dng
mt vector (vector dng hoc vector ct).
V d 3.1.1. tp hp A = [1 4 8 9 10] c th khai bo nh sau :
vector dng
> >A = [1, 4, 8, 9, 10]
A=
1 4 8 9 10
hoc vector ct
3.1 Cc php ton tp hp 59
> > A= [1; 4; 8; 9; 10]
A =
1
4
8
9
10
hoc l tp rng
> >A= [ ]
A =
[ ]
gi cc phn t trong tp A
> > A(1)
ans=
1
> > A(2)
ans=
4
> > A(5)
ans=
10
3.1.2 Cc php ton trong tp hp
i vi mt tp hp cho trc, nhng thng tin v n bao gm :
1. Bit tp c phi tp rng hay khng (isempty)
Hm isempty(A) trong Matlab c mt i s, gi tr tr v s l 1 nu
A l tp rng, ngc li th gi tr tr v l 0.
60 Gii tch hm mt bin
> > isempty(A)
ans=
0
> >B= [ ]
B =
[ ]
> > isempty(B)
ans=
1
2. Tm s phn t trong tp hp (length)
Hm length(A) trong Matlab cho bit chiu di ca vector A, n
cng chnh l s phn t ca tp hp A m ta lit k.
> > length(A)
ans=
5
3. Bit phn t cho trc c thuc tp hp cho hay khng
(ismember)
Hm ismember(s, A) gm 2 i s. A l tp hp cho trc v s l
phn t ta cn xc nh c thuc tp hp A hay khng. Gi tr ca
ismember(s, A) s l 1 nu s thuc A, ngc li l 0.
> > ismember(2,A)
ans=
0
> > ismember(8,A)
ans=
1
Ngoi ra, i s s trn c th l mt tp hp (vector). Gi tr tr v
ca ismember(s, A) s l mt vector c chiu di bng ng chiu di
ca mng s v c gi tr tng ng l 0 (nu phn t ca s ti v tr
khng thuc A) hoc 1 (nu phn t ca s ti v tr thuc A).
3.1 Cc php ton tp hp 61
> > s= [0, 3, 9]
s=
0 3 9
> > ismember(s,A)
ans=
0 0 1
4. Lit k tt c cc tp con c k phn t ca tp hp cho trc
(nchoosek)
Hm nchoosek(A, k) trong Matlab dng tm tt c cc tp con k
phn t ca tp A, tp A gm c n phn t. Gi tr tr v l mt ma
trn gm c C
k
n
dng v k ct. Mi dng ca ma trn kt qu l mt
tp con gm k phn t.
> > C= nchoosek(A,4)
C=
1 4 8 9
1 4 8 10
1 4 9 10
4 8 9 10
5. Loi b nhng phn t trng nhau trong tp hp (unique)
Cho mt tp hp A cho trc, c th trong tp hp c cha nhng
phn t c lit k nhiu ln. loi nhng phn t trng nhay trong
tp hp A, ta dng hm unique(A). Nu cc phn t A khng trng
nhau, th unique(A) cho kt qu l A. Ngc li, kt qu tr v s l
mt tp hp (vector) c s phn t t hn s phn t ca A v c
sp theo th t tng dn.
> > unique(A)
ans= 1 4 8 9 10
> >D = [1, 9, 4, 8, 10, 1, 8, 4, 9, 10]
D=
1 9 4 8 10 1 8 4 9 10
> > unique(D)
1 4 8 9 10
Khi c hai tp hp cho trc, th cc php ton gia chng gm c
php hi, giao v hiu.
62 Gii tch hm mt bin
6. Hi gia hai tp hp (union)
Hm union(A, B) dng tm hi ca hai tp hp A v B. Kt qu
ca union(A, B) l mt tp hp trong lit k cc phn t trong A
v B m khng c s lit k lp li. Ngoi ra kt qu tr v s c
sp theo th t tng dn.
> >E = [2, 3, 5]
E=
2 3 5
> > union(A,E)
ans=
1 2 3 4 5 8 9 10
> >F = [4, 2, 5, 3, 2, 5]
F=
4 2 5 3 2 5
> > union(A,F)
ans=
1 2 3 4 5 8 9 10
D nhin, ta c th p dng hm union tm hi ca nhiu hn hai
tp hp bng cch dng lng cc hm union vo vi nhau
> >G = [6, 7]
F=
6 7
> > union(union(A,E),G)
ans=
1 2 3 4 5 6 7 8 9 10
7. Giao gia hai tp hp (intersect)
Hm intersect(A, B) dng tm phn giao ca hai tp A v B. Kt
qu ca intersect(A, B) l mt tp hp lit k nhng phn t no
thuc c hai tp A v B, v tp giao ny cng s c sp xp theo
th t tng dn.
3.1 Cc php ton tp hp 63
> > intersect(A,F)
ans=
4
> > intersect(A,E)
ans=
[ ]
Tng t nh trong hm union, ta c th dng hm intersect tm
giao ca nhiu hn hai tp hp bng cch lng cc hm intersect vo
vi nhau
> > intersect(intersect(A,F),E)
ans=
[ ]
8. Hm hiu gia hai tp hp (setdiff )
setdiff(A, B) s tr v tp A \ B tm nhng phn t ch cha trong
Am khng cha trong B. Kt qu cng c sp theo th t tng
dn nh hai hm trn.
> >H = [10, 5, 8, 9]
F=
10 5 8 9
> > setdiff(A,H)
ans=
1 4
> >K = [ ]
K=
[ ]
> > setdiff(K,H)
ans=
[ ]
9. Hm tnh hi hiu giao (setxor)
setxor(A, B) dng tnh (A B )\(A B), kt qu l mt tp hp
ch cha cc phn t c trong A, B m khng cha trong phn giao
ca A v B. Cng ging nh trn, kt qu tr v s l mt tp c
sp theo th t tng dn.
64 Gii tch hm mt bin
> > setxor(A,H)
ans=
1 4 5
BI TP
1. Cho tp A = {2, 4, 6, 8,10, 1, 0 }
a. Cho bit tp A c phi rng hay khng ?
b. Tnh tng tt c cc phn t trong tp A.
c. Xem phn t 0 c trong tp A hay khng?
2. Cho tp A, B gm c cc phn t sau y : A = {1, 5, 9, 4, 3, 2, 0, 3,
6} v B = {3, 4, 8, 9, 10, 4, 6}
a. Tp A gm c bao nhiu phn t ?
b. Dng lng isempty bit xem A v B c phi l tp trng hay
khng?
c. Nu A v B l 2 tp khc trng th tm AB v AB.
d. Xem tp A c cha phn t trng nhau hay khng ?
3. Cho hai tp A v B nh trn bi 2.
a. Xem tp {0, 2, 4} c thuc phn giao ca hai tp A v B hay
khng?
b. Tm phn t ln nht v b nht ca c hai tp A v B.
c. Kim tra xem tp A c phi l tp con ca tp B hay khng? V
B c phi l tp con ca A hay khng?
4. Pht sinh ngu nhin mt tp hp C gm 100 phn t bng hm rand
ca Matlab
a. Kim tra xem tp hp C c cha nhng phn t no trng nhau
hay khng?
b. Kim tra xem gi tr ln nht ca A c ln hn 1 hay khng? v
gi tr b nht ca A c nh hn 0 hay khng?
c. Pht sinh ngu nhin 1 tp B gm 10 phn t. Tnh (AB)\(AB).
3.1 Cc php ton tp hp 65
5. Pht sinh ngu nhin 1 tp D gm 9 phn t bng lnh D = 3-
3*rand(1,9)
a. Kim tra xem tp hp c thuc tp s nguyn hay khng?
b. Lit k tt c cc tp con gm 4 phn t ca tp D.
c. Lit k tt c cc tp con ca D.
6. Mi sinh vin nam khoa Ton-Tin hc u chi bng hoc bng
chuyn. Bit rng c 350 bn chi bng , 260 bn chi bng chuyn
v 70 bn chi c hai mn th thao ny. Hi khoa Ton-Tin hc c bao
nhiu sinh vin nam (dng cc php ton tp hp)?
7. Cho x = 1 : 180, y = 1 : 150. Dng ch s logic v hm mod, lit k cc
phn t ca tp hp A = cc c s nguyn dng ca 180 v ca tp
hp B = cc c nguyn dng ca 150.
Xc nh cc tp hp AB, AB, A\B, B\A
.
8. Pht sinh ngu nhin hai s nguyn dng m v n khng vt qu 20.
Pht sinh tp hp A gm m phn t nguyn ngu nhin trong khong
[-10,10] v B gm n phn t ngu nhin trong khong [-20, 20]. Xc
nh:
a. AB hay BA hay A=B khng?
b. A\B; B\A; AB; AB.
c. A
2
; B
2
; AB; BA.
d. Nhp mt s nguyn x. Kim tra x A hay x B khng?
9. Cho A = {1, 5, 9, 4, 3, 2, 0, 3, 6} v B = {3, 4, 8, 9, 10, 4, 6} v C=
{0, 2, 4}. Tm
a. (A B) C.
b. (A B C)\(A B C).
c. A C B.
10. Cho tp A, B v C nh trn.
a. Tp no c nhiu phn t nht.
66 Gii tch hm mt bin
b. Tm gi tr ln nht trong c 3 tp hp trn.
c. Lit k tt c cc tp con ca tp C. Xem tp con no ca tp C
l tp con ca A.
3.2 symbolic math c bn
3.2.1 Khi nim chung
Symbolic Math Toolboxes kt hp tnh ton bng ch vo mi trng
MATLAB. Cc toolbox ny b sung cc tin ch s v th vi cc kiu
tnh ton ton hc khc nhau.
Tin ch Ni dung
Calculus o hm, tch phn, gii hn, tng v
chui Taylor
Linear Algebra nghch o, nh thc,gi tr ring, phn
tch v dng chnh tc ca ma trn
Simplification phng php rt gn cc biu thc i s
Solution of Equations gii bng ch v bng s cc phng trnh
i s v vi phn
Variable Precision Arithmetic nh gi chnh xc ca cc biu thc
i s
Transform bin i Laplace, Fourrier
Special Mathematical Function cc hm ton hc c bit ca cc ng
dng ton hc kinh in
3.2.2 Khi ng TOOLBOX
1. Cc i tng ch:
Trong phn ny chng ta s xem xt cch to v dng cc i tng
ch. Chng ta cng s xem xt cc bin ch mc nh. Symbolic
Math Toolbox nh ngha mt kiu d liu MATLAB mi gi l i
tng ch hay sym. Bn trong, mt i tng ch l mt cu trc s
liu m n lu biu din chui cc k t. Symbolic Math Toolbox
3.2 symbolic math c bn 67
dng cc i tng ch biu din cc bin ch, cc biu thc ch,
cc ma trn ch.
2. To cc bin v cc biu thc ch: Lnh sym cho php ta xy
dng cc bin v cc biu thc ch.
>> x = sym(x)
>>a = sym(alpha)
to ra cc bin ch l x v a vi x l x v a l alpha.
Gi s ta mun ta mun dng bin ch biu din t l vng =
1 +

5
2
Ta dng lnh:
>> rho = sym((1 + sqrt(5))/2)
By gi ta c th thc hin cc php ton khc nhau vi rho. V d:
>> f = rho^2 - rho -1
f=
(1/2+1/2*5^(1/2))^2-3/2-1/2*5^(1/2)
Ta rt gn biu thc:
>> simplify(f)
ans =
0
By gi gi s ta mun gii phng trnh bc hai f = ax
2
+ bx + c .
Pht biu:
>> f = sym(a*x^2 + b*x + c)
gn biu thc ch ax
2
+bx+c cho bin f. Tuy nhin trong trng hp
ny Symbolic Math Toolbox khng to ra cc bin tng ng vi
cc s hng a, b, c v x trong biu thc. thc hin cc php ton
bng ch(v d tch phn, o hm, thay th v.v) trn f ta phi to
cc bin mt cch r rng, ngha l cn vit:
68 Gii tch hm mt bin
>> a = sym(a)
>> b = sym(b)
>> c = sym(c)
>> x = sym(x)
hay n gin l:
>> syms a b c x
Ni chung l ta c th dng sym hay syms to cc bin ch nhng
nn dng syms tit kim thi gian.
3. Bin i gia s v ch
(a) To cc bin thc v phc: Lnh sym cho php ta m t cc
thuc tnh ton hc ca cc bin ch bng cch dng tu chn
real. Pht biu:
>> x = sym(x,real)
>> y = sym(y,real)
hay hiu qu hn:
>> syms x y real
>> z = x + i*y
to ra bin ch x v y c thuc tnh l s thc. c bit:
>> f = x^2 + y^2
thc s l s khng m. Nh vy z l bin phc v cc lnh:
>> conj(x)
ans=
x
>> conj(z)
ans=
x - i*y
>> expand(z*conj(z))
ans=
x^2 + y^2
3.2 symbolic math c bn 69
Lnh conj l ton t to s phc lin hp. xa thuc tnh real
ca x ta dng lnh:
>> syms x unreal
hay:
>> x = sym(x,unreal)
Lnh clear x khng xo thuc tnh s real ca x.
(b) To cc hm tru tng: Nu ta mun to mt hm tr
tng(ngha l mt hm khng xc nh) f(x) cn dng lnh:
>> f = sym(f(x))
Khi ny f hot ng nh l f(x) v c th x l bng cc lnh
toolbox. V d tnh vi phn bc 1 ta vit:
>> df = (subs(f,x,x+h) -f)/h
hay
>> syms x h
>> df = (subs(f,x,x+h)-f)/h
df =
(f(x+h)-1f(x))/h
ng dng ny ca hm sym s rt hu ch trong bin i Fourrier,
Laplace.
(c) Dng sym truy cp cc hm ca Maple: Ta c th truy
cp hm giai tha k! ca Maple khi dng sym.
>> kfac = sym(k!)
tnh 6! hay k! ta vit:
>> syms k n
>> subs(kfac,k,6)
ans =
720
>> subs(kfac,k,n)
ans =
n!
70 Gii tch hm mt bin
(d) V d to ma trn ch: Mt ma trn vng l ma trn m hng
sau c c bng cch dch cc phn t ca hng trc i 1 ln.Ta
to mt ma trn vng A bng cc phn t a, b v c:
>> syms a b c
>> A = [a b c; b c a; c a b]
A=
a b c
b c a
c a b
4. To cc hm ton hc bng ch:
(a) Dng cc biu thc ch:
>> syms x y z
>> r = sqrt(x^2 + y^2 + z^2)
>> t = atan(y/x)
>> f = sin(x*y)/(x*y)
to ra cc biu thc ch r, t v f. Ta c th dng cc lnh diff,
int, subs hay cc lnh Symbolic Math Toolbox khc x l
cc biu thc nh vy.
(b) To cc M-file: M-file cho php ta dng cc hm tng qut hn.
Chng hn, ta mun to ra hm sin c =
sin(x)
x
ta s vit mt
M-file c ni dung nh sau:
function z = sinc(x)
if isequal(x, sym(0))
z = 1;
else
z = sin(x)/x;
end
Ta c th m rng cc v d nh vy cho cc hm v bin khc
nhau.
3.3 Cc bi ton dy s v chui s 71
Mt s hm v bin/hng ton hc trong Matlab
Tn hm Ghi ch Tn hm Ghi ch
cos(x) exp(x) hm e m
sin(x) log(x) logarit t nhin
tan(x) log10(x) logarit c s 10
acos(x) cos
1
(x) abs(x) tr tuyt i
asin(x) sin
1
(x) sqrt(x) cn bc hai
atan(x) /2 tan
1
/2 real(x) phn thc
atan2(x) tan
1
imag(x) phn o
cosh(x) (e
x
+ e
x
)/2 conj s phc lin hp
sinh(x) (e
x
e
x
)/2 round lm trn
tanh(x) (e
x
e
x
)/(e
x
+ e
x
) fix lm trn
acosh(x) cosh
1
(x) sign(x) 1(dng)/0/-1(m)
asinh(x) sinh
1
(x) mod(y,x) phn d ca y/x
atanh(x) tanh
1
(x) rem(y,x) phn d ca y/x
max gi tr ln nht v ch s ca n eval(f) gi tr mt biu thc
min gi tr b nht v ch s ca n feval(f,a) gi tr ca hm
sum tng polyval gi tr ca hm a thc
sum tng polyval gi tr ca hm a thc
prod tch poly gi tr ca hm a thc
norm chun vector hoc ma trn sort sp xp theo th t tng
roots nghim a thc poly gi tr ca hm a thc
i,j sqrt(1) pi
break thot vng lp while/for Inf, inf
nargin s i s vo nargout khng xc nh
varargin danh sch cc i s vo varargout danh sch i s ra
3.3 Cc bi ton dy s v chui s
3.3.1 Khi nim v dy s, chui s v cch khai bo
trong matlab
Dy s c th xem l mt danh sch cc s c th t x
1
, x
2
, x
3
, ..., x
n
, . . .
Trong a
1
l gi tr u tin, a
2
l gi tr th 2. Tng qut a
n
l gi
72 Gii tch hm mt bin
tr th n. i vi dy v hn, gi tr tip theo sau x
n
lun tn ti l
x
n+1
. Ngi ta k hiu nh sau {x
n
} hoc {x
n
}

n=1
Chng hn ta c dy s {x
n
} =
1
n
, trong x
1
= 1, x
2
=
1
2
, . . . x
k
=
1
k
, x
k+1
=
1
k+1
, . . ..
Chui s c th c nh ngha thng qua dy s, trong phn t
th n l s
n
=

n
i=1
x
i
.
Chui

n=1
1
n
c xem nh mt dy s c s
1
=

1
n=1
1
n
= 1, s
2
=

2
n=1
1
n
= 1 +
1
2
, . . . , s
k
=

k
n=1
1
n
= 1 +
1
2
+ . . . +
1
k
, s
k+1
= s
k
+
1
k+1
Cch khai bo dy s v chui s trong Matlab
khai bo chui trong matlab ta lm nh sau : v d trong trng
hp chui x
n
=
1
n
ta lm nh sau :
>> syms n
>> xn = 1/n
Tng t nh th i vi chui s, chui s
n
c khai bo nh sau :
>> syms k n
>> sn = symsum(1/k, 1, n)
v i vi chui hm

k=1
x
k
ta khai bo nh sau :
>> syms x k n
>> sn = symsum(x^k, k, 1, n)
3.3.2 Mt s hm v x l dy s v chui s trong
Matlab
1. Hm tnh gii hn (limit)
Hm limit trong Matlab dng tnh gii hn ca dy s theo nhiu
cch sau y :
limit(x
n
, n, a) dng tnh gii hn ca dy x
n
khi n dn v gi
tr a.
3.3 Cc bi ton dy s v chui s 73
limit(x
n
, n, a,right) ; limit(x
n
, n, a,left) dng tnh gii hn mt
bn khi x tin v a t 2 pha.
>> syms n
>> xn=1/n
>> limit(xn,n,inf)
ans=
0
>>limit(xn,n,5)
ans=
0.2
2. Hm tnh tng theo bin (symsum)
Nh trong phn v d trong chui, hm symsum c dng tnh
tng theo mt bin. C php ca hm symsum trong Matlab nh sau
:
symsum(S,v,a,b), trong S l biu thc ph thuc vo v (S =
1
v
),
hoc S l mt hm s ph thuc vo v (S = x
v
, x l bin). v l ch s
ta mun tnh tng theo ca S theo v t a n b.
3. Biu din dy (plot)
Dy s hay chui s c th gm v hn phn t, tuy nhin minh ho
trong my, ta s chn n phn t th N no ca dy hay chui
minh ho.
>> N=1000
>> for i=1:N
X(i)=1/i
end
>> plot(X)
74 Gii tch hm mt bin
BI TP
1. Dng th m t cc dy/chui s sau xem chng hi t hay phn
k (cho trc n ln). Nu chng hi t, c lng gi tr hi t.
a. a
n
= (1)
n n+1
n
.
b. a
n
= 2 +{
2

}
n
.
c. a
n
=
sin(n)

n
.
d. a
n
=
n
3
n!
.
e. a
n
= (3
n
+ 5
n
)
1/n
.
f.
1.2.3...(2n1)
(2n)
n
.
g.
1.2.3...(2n1)
n!
.
2. Tnh 20 tng ring u tin ca cc chui sau. V trn cng h trc
dy s hng t ca chui v dy gi tr cc tng ring ca chui. Xt
xem chng hi t hay phn k. Nu hi t th tnh gi tr hi t. Nu
phn k th gii thch ti sao.
a.

n=1
12
(5)
n
.
b.

n=1
2n
2
1
n
2
+1
.
c.

n=1
tan(n).
d.

n=1
(0.6)
n1
.
e.

n=1
1
15
1.5

1
(n+1)
1.5
.
f.

n=2
1
n(n1)
.
g.

n=1
2n
3n+1
.
3. Xt xem cc chui sau hi t hay phn k bng nh ngha dng vng
lp while khi tng n vi epsilon nh cho trc. Nu chng hi t,
tnh gi tr hi t.
a. 3 + 2 +
4
3
+
8
9
+ . . ..
b.
1
8

1
4
+
1
2
1 + . . ..
c.

n=1
(6)
n1
5
n1
.
3.3 Cc bi ton dy s v chui s 75
d.

n=0

n
3
n+1
.
e.

n=1
(3
n
+2
n
)
6
n
.
f.

n=1
_
0.8
n1
0.3
n
_
.
4. Tm gi tr n va chui hi t (dng vng lp while tng n).
a.

n=1
(1)
n+1
n
4
(sai s nh hn 0.001).
b.

n=1
(2)
n
n!
(sai s nh hn 0.01).
c.

n=1
(1)
n
n
4
n
(sai s nh hn 0.002).
5. c lng gi tr ca tng chui n 4 ch s thp phn (theo t tng
ca bi trn)
a.

n=1
(1)
n+1
n
5
.
b.

n=1
(1)
n
n
8
n
.
c.

n=1
(1)
n
3
n
n!
.
6. Tm gii hn ca dy s sau :
a. a
n
= {

n 3}

n=3
.
b. a
n
= {
n
n+1
}

n=1
.
c. a
n
= {cos
n
6
}

n=0
.
7. Lit k 5 phn t u tin ca dy s sau :
a. a
n
= 1 (0.2)
n
.
b. a
n
=
n+1
3n1
.
c. a
1
= 3, a
n+1
= 2a
n
1.
8. Nu 1000 la c u t vi li nhun 0.6%. Sau n nm th vn u
t s ln n 1000(1.6)
n
a. Lit k 5 phn t u tin ca dy s trn.
b. Dy s trn c hi t hay khng? Gii thch.
9. Ch ra mt gi tr r dy nr
n
hi t.
76 Gii tch hm mt bin
3.4 Cc bi ton gii hn hm s v tnh lin
tc ca hm s
3.4.1 Gii hn ca hm s
Trong matlab ta dng lnh limit tnh gii hn ca hm s. C th:
limit(f,x,a): Tnh gii hn ca hm s f khi x tin v a.
limit(f,x,a,right) hoc limit(f,x,a,left): Tnh gii hn tri hoc gii
hn phi ca hm s khi x tin v a.
>> syms x
>> limit(sin(x)/x,x,0)
ans =
1
>> limit(1/x,x,0)
ans =
NaN
>> limit((1 + x/n)^n,n,inf)
ans =
exp(x)
Ngoi ra matlab cn c th tnh gii hn tri v gii hn phi ca mt hm
s.
>> syms x
>> limit(1/x,x,0,right)
ans =
inf
>> limit(1/x,x,0,left)
ans =
-inf
3.4 Cc bi ton gii hn hm s v tnh lin tc ca hm s 77
Ngoi ra chng ta c th p dng hm limit tnh o hm ca mt hm
s bng nh ngha ca o hm.
nh ngha 3.4.1. o hm ca mt hm s f ti a, k hiu l f

(a) l
f

(a) = lim
h0
f(x + h) f(x)
h
nu gii hn ny tn ti.
Cho hm s g(x) = cos(x) v f(x) = arctan(x) , tm g

(a) v f

(a) vi
a R?
>> syms a h
>> dg = limit( (cos(a+h) cos(a))/h, h, 0 )
dg =
sin(x)
>> df =limit((atan(a+h)-atan(a))/h,h,0)
df =
1/(1+a^2)
3.4.2 S lin tc ca hm s
nh ngha 3.4.2. Hm s f lin tc ti a nu
lim
xa
f(x) = f(a).
Nh vy mt hm s lin tc ti mt im th hm s phi tha
ba iu kin sau:
1. f(a) xc nh vi a l mt phn t trong tp xc nh,
2. lim
xa
f(x) tn ti,
3. lim
xa
f(x) = f(a).
Da vo nh ngha hm s lin tc ti mt im, chng ta c th s dng
cc cu lnh trong matlab nh sau:
78 Gii tch hm mt bin
1. Tnh gii hn ca hm s f khi x a bng lnh limit.
2. Tnh gi tr hm s ti a bng lnh subs.
V d 3.4.3. Cho
f(x) =
_
_
_
x
3
2x
2
x + 2
x 2
x = 2
2 x = 2
>> syms x
>> limit((x^3-2*x^2-x+2)/(x-2),x,2)
ans =
3
V lim
x2
f(x) = 3 = 2 = f(2) nn f khng lin tc ti x = 2. Ngc li, f
lin tc ti tt cc im x = 2. C th, xt s lin tc ca f ti x = 0:
>> syms x
>> limit((x^3-2*x^2-x+2)/(x-2),x,0)
ans =
-1
Bi ton 3.4.4.
1. Tm hiu lnh subs trong trng hp c nhiu bin.
2. p dng lnh limit tnh gii hn hm s trong trng hp hm
nhiu bin.
3.4 Cc bi ton gii hn hm s v tnh lin tc ca hm s 79
BI TP
1. Kho st tnh lin tc ca hm s ti a. V th hm s.
a. f(x) = ln |x 2| a = 2
b. f(x) =
_
1
x 1
x = 1 a = 1
2 x = 1
c. f(x) =
_
e
x
x < 0 a = 0
x
2
x 1
d. f(x) =
_
_
_
x
2
x
x
2
1
x = 1 a = 1
1 x = 1
e. f(x) =
_
_
_
cos(x) x < 1 a = 0
0 x = 1
1 x
2
x > 0
f. f(x) =
_
_
_
2x
2
3x 3
x 3
x = 3 a = 3
0 x = 3
2. V th hm s v xc nh cc im bt lin tc ca cc hm s.
a. y =
1
1 + e
1/x
b. y = ln (tan
2
x)
3. S dng matlab chng minh cc hm s sao lin tc trn R?
a. f(x) =
_
x
2
x < 1

x x 1
b. f(x) =
_
sin(x) x < /4
cos(x) x /4
4. Xc nh f

(0) c tn ti hay khng?


a. f(x) =
_
xsin
1
x
x = 0
0 x = 0
80 Gii tch hm mt bin
b. f(x) =
_
x
2
sin
1
x
x = 0
0 x = 0
c. f(x) = arctan
_
a
2
x
2
a
2
+ x
2
_
d. f(x) =
1
x
arctan
_
ln
1
x
2
_
3.5 Cc bi ton tch phn hm mt bin
Trong matlab, tnh tch phn hm mt bin chng ta dng lnh int.
3.5.1 Tch phn bt nh
int(f,x): Tnh tch phn bt nh ca hm f theo bin x.
V d 3.5.1. Tnh tch phn bt nh ca hm s f(x) = x
3
arctan(x)?
>> syms x
>> int(x^3*atan(x),x)
ans =
1/4*x^4*atan(x)-1/12*x^3+1/4*x-1/4*atan(x)
Chng ta c th rt gn kt qu tnh hnh thc bng hm simple hoc
simplify.
3.5.2 Tch phn xc nh
int(f,x,a,b): Tnh tch phn xc nh ca hm f theo bin x vi cn ly tch
phn t a n b.
V d 3.5.2. Tnh tch phn xc nh
I = f(x) =

/4
0
x
3
arctan(x)dx
3.5 Cc bi ton tch phn hm mt bin 81
>> syms x
>> I=int(x^3*atan(x),x,0,pi/4)
I =
1/1024*pi^4*atan(1/4*pi)-1/768*pi^3+1/16*pi-1/4*atan(1/4*pi)
Kt qu trn cho thy matlab hiu pi nh l mt bin hnh thc. Do
biu din kt qu di dng s thc ta dng lnh EVAL nh sau:
>> I=eval(I)
I =
0.0529
3.5.3 Tch phn s
Trong thc t, nhiu tch phn khng th tnh nguyn hm c. Trong
trng hp , chng ta s dng tch phn s tnh tch phn xc nh.
Matlab cung cp cho chng ta hm tnh tch phn s: quad. Hm quad dng
tnh tch phn s bng phng php cu phng. Sinh vin c th tm
hiu phng php tch phn cu phng trong cc gio trnh Gii tch s.
V d 3.5.3. Tnh tch phn xc nh sau bng phng php tch phn cu
phng gn ng
I = f(x) =

1
0
e
x
arctan(x
2
)
cos(x)
dx.
>> F = inline(exp(x).*atan(x.^2)./cos(x));
>> Q=quad(F,0,1)
Q =
0.9230
82 Gii tch hm mt bin
BI TP
1. Vit mt hm hoc on chng trnh tnh xp x tch phn xc nh
bng phng php im gia sau:

b
a
f(x)dx
n

i=1
f( x
i
)x,
trong x =
b a
n
, v x
i
=
1
2
(x
i1
+x
i
). p dng tnh cc tch phn
xc nh trong khong (a, b) chnh xc n tm ch s thp phn. So
snh kt qu ca phng php ny vi kt qu bng lnh quad.
a.

1
0
e
x
2
dx
1 + e
2x
b.

10
2

x
5
+ 1dx
c.

/2
0
tan
4
xdx
d.

1
0
cos x
2
dx
e.

5
1
x
2
e
x
2
dx
2. Hm tch phn sine
Si(x) =

x
0
sint
t
dx
c vai tr quan trng trong k thut in.
a. V th ca Si.
b. Tm nhng im m ti hm ny t cc i a phng.
c. Tm ta ca im un u tin pha bn phi gc ta .
d. Hm s c tim cn ngang hay khng?
3. S dng th c lng giao im ca hm s vi trc honh Ox v
tnh xp x din tch nm bn di ng cong v bn trn trc Ox
ca cc hm s bn di.
a. y = x + x
2
x
4
.
b. y = 2x + 3x
4
2x
6
.
3.5 Cc bi ton tch phn hm mt bin 83
4. Cho mt vt th c bin gii hn bi trc Oy, ng thng y = 1, v
ng cong y =
4

x. Tnh din tch ca vt th?


5. Cho ng cong c phng trnh y
2
= x
2
(x + 3). th ca ng
cong ny c mt phn to hnh mt hnh vng cung. Hy v th v
tnh din tch ca hnh to bi hnh vng cung .
3.5.4 Cc hm trong Matlab dng cho bi ton vi phn
hm mt bin
1. o hm cp k theo mt bin (diff )
Hm diff dng tm o hm cp k ca hm s f(x, y) theo bin x
theo c php diff(f, x, k) hay theo bin y theo c php diff(f, y, k).
Nhng khi hm s ch ph thuc vo duy nht mt bin x th ta c
diff(f, k).
>> syms a b c x
>> f = a*x^3 + x^2 - b*x - c
f =
a*x^3 + x^2 - b*x - c
>> diff(f)
ans =
3*a*x^2 + 2*x - b
>> diff(f,a)
ans =
x^3
>> diff(f,2)
ans=
6*a*x + 2
>> diff(f,a,2)
ans=
0
Hm diff c th dng i s l ma trn. Trong trng hp ny o
hm c thc hin trn tng phn t.
>> syms a x
84 Gii tch hm mt bin
>> A = [cos(a*x),sin(a*x);sin(a*x),cos(a*x)]
A =
cos(a*x) sin(a*x)
sin(a*x) cos(a*x)
>> dy = diff(A)
dy =
sin(a*x)*a cos(a*x)*a
cos(a*x)*a sin(a*x)*a
Ta kho st bin i t to Euclide (x, y, z) sang to cu (r, , )
thc hin bng cc cng thc:
x = r cos cos
y = r cos sin
z = r sin
tnh ma trn Jacobi J ca php bin i ny ta dng hm jacobian.
nh ngha ton hc ca J l:
J(x, y, z) =
(x, y, z)
(r, , )
d vit ta dng k t l thay cho v f thay cho . Cc lnh
>> syms r l f
>> x = r*cos(l)*cos(f);
>> y = r*cos(l)*sin(f);
>> z = r*sin(l);
>> J = jacobian([x; y; z], [r l f])
J =
cos(l)*cos(f) r*sin(l)*cos(f) r*cos(l)*sin(f)
cos(l)*sin(f) r*sin(l)*sin(f) r*cos(l)*cos(f)
sin(l) r*cos(l) 0
>> detJ = simple(det(J))
detJ =
cos(l)*r^2
3.5 Cc bi ton tch phn hm mt bin 85
Ch l i s th nht ca hm jacobian phi l vec t ct v i s
th hai l vec t hng. Hn na do nh thc ca ma trn Jacobian
l biu thc lng gic kh phc tp nn ta dng lnh simple thay
th v rt gn.
2. Khai trin Taylor Khai trin Taylor dng xp x mt hm s c
o hm mi cp thnh mt a thc bc n trong ln cn mt im
cho trc, vi sai s cho php. Hm Taylor trong Matlab taylor c
nhng c php sau y :
taylor(f(x)) khai trin Taylor hm f(x) n bc 5, trong vng ln
cn 0.
taylor(f(x),n) khai trin Taylor hm f(x) n bc n 1, trong
vng ln cn 0.
taylor(f(x),a) khai trin Taylor hm f(x) n bc 5, trong vng
ln cn a.
taylor(f(x),a,n) khai trin Taylor hm f(x) n bc n 1, trong
vng ln cn a.
i khi MATLAB tr li mt biu thc c trng qu kh c th
c. Mt s cng c c sn tr gip lm cho biu thc d c hn.
Trc tin l hm pretty. Lnh ny hin th biu thc c trng
theo mt khun mu tng t nh kiu ton hc.
>> x = sym(x);
>> f = taylor(log(x+1)/(x-5))
f =
-1/5*x+3/50*x^2-41/750*x^3+293/7500*x^4-1207/37500*x^5
>> pretty(f)
ans=
2 41 3 293 4 1207 5
-1/5 x + 3/50 x - --- x + ---- x - ----- x
750 7500 37500
86 Gii tch hm mt bin
BI TP
1. Tm o hm cp 1 ca cc hm s sau y :
a. f(x) = x
6
b. f(x) =

x
c. f(x) = x

x
2. Tm o hm cp 1 v cp 2 ca cc hm s sau y :
a. f(x) = x
4
3x
3
16x
b. f(x) =

x + x
1
3
c. f(x) = sin(x)x + x
4
3. Phng trnh chuyn ng ca mt cht im c dng s = t
3
3t.
Trong s c n v l mt v t c n v l giy. Tm
a. Vn tc v gia tc ca chuyn ng.
b. Gia tc chuyn ng sau 2 giy.
c. Gia tc chuyn ng khi vn tc bng 0.
4. Mt cht im chuyn ng c dng phng trnh s = 2t
3
7t
2
+4t+1.
Trong s c n v l mt v t c n v l giy. Tm
a. Vn tc v gia tc ca chuyn ng.
b. Gia tc chuyn ng sau 1 giy.
c. V th ca chuyn ng, cng vi vn tc v gia tc.
5. Tm trn ng cong y = 2x
3
+ 3x
2
12x + 1 im m tip tuyn vi
ng cong ti im song song vi trc honh.
6. Phng trnh y

+ y

2y = x
2
c gi l phng trnh vi phn v
n cha hm s cha bit y(x), o hm cp 1 v cp 2 ca n. Tm 3
h s A, B v C hm s y = Ax
2
+ Bx + C l nghim ca phng
trnh vi phn trn.
7. Vi nhng gi tr no ca x th th hm s f(x) = x
3
+ 3x
2
+ x + 3
c tip tuyn song song vi trc honh .
3.5 Cc bi ton tch phn hm mt bin 87
8. So snh o hm ca 2 hm s f(x) = e
x
v g(x) = x
e
. Hm s no s
tng nhanh hn khi x cng ln?
9. Tm o hm cp 1 v cp 2 ca hm s f(x) = 2x 5x
3/4
v nhn
xt.
10. Tm v tr trn ng cong f(x) = 1 + 2e
x
3x sao cho tip tuyn
ti song song vi ng thng 3x y = 5. V trn cng th hai
ng hm s trn bng hm ezplot ca Matlab.
11. Cho hm s f(x) =
x
2
x+1
. Tm f

(1).
12. Mt nh my sn xut nhng b si vi chiu rng c nh. C lng
si q (n v yards) c bn l hm ca gi bn p (n v la), c
th biu din di dng q = f(p). Tng thu nhp vi gi bn c nh
p l R(p)= pf(p).
a. C ngha g khi ni l f(20) = 20000 v f

(20) = 350
b. Dng cu a, tnh R

(20)
13. Khai trin Taylor hm s f(x) trong ln cn 0 (bc 5).
a. f(x) = e
x
b. f(x) = sin(x)
c. f(x) = cos(x)
d. f(x) = ln(x)
Sau so snh gi tr xp x v gi tr ng ti cc im 0.4 v 0.1.
14. Khai trin Taylor hm s f(x) trong ln cn 1 n cp 9
a. xe
x
b. cosh(x)
c. ln(1 + x)
d.
x
4+x
2
CHNG 4
C hc v Xc sut - Thng k
4.1 C hc
4.1.1 ng hc cht im
ng hc cht im: l mn hc nghin cu chuyn ng ca vt th m
kch thc ca n qu nh so vi qu o. Cc tc nhn nh khi lng, lc,
mment khng c cp n trong mn hc ny.
ng hc cht im quan tm n cc i lng: (1) ta (v tr) x =
(x
1
, . . . , x
n
), (2) vn tc v = (v
1
, . . . , v
n
) v (3) gia tc a = (a
1
, . . . , a
n
) vi
n l chiu khng gian ang xt. Quan h gia cc i lng ny nh sau
v =
dx
dt
= x, a =
dv
dt
= x (4.1)
Phng trnh chuyn ng: Trong khng gian 1 chiu, gi t
0
l thi im
bt u kho st chuyn ng, x
0
, v
0
, a
0
ln lt l v tr, vn tc v gia tc
ti thi im . T phng trnh (4.1) ta tm c
x(t) =
t

t
0
v () d + x
0
, v(t) =
t

t
0
a()d + v
0
(4.2)
Trong hc trnh ny, cc thnh phn ca vect ch ph thuc vo thi gian
m khng ph thuc vo cc thnh phn khc ca vect . V vy trong
4.1 C hc 89
khng gian c s chiu ln hn 1, chng ta cng thu c cc phng trnh
chuyn ng tng ng vi trong khng gian 1 chiu.
x
i
(t) =
t

t
0
v
i
() d + x
i
(t
0
), v
i
(t) =
t

t
0
a
i
()d + v
i
(t
0
) (4.3)
V d 4.1.1. Trong khng gian 1 chiu, gi s gia tc ca vt th l hng
s theo thi gian a = k. Da theo phng trnh (4.2), tm biu din ca vn
tc v ta ca vt th theo thi gian v cc gi tr u
syms x0 v0 k t0 t tt
Tm vn tc tc thi v = int(k,tt,t0,t)+v0
i bin t t sang tt v = subs(v,t,tt);
Tm ta ti thi im t x = int(v,tt,t0,t) + x0
V d 4.1.2. Trong khng gian 2 chiu, bi ton nm xin c pht biu
nh sau: mt vt c nm ln tri vi vn tc v
0
theo phng hp vi mt
t gc . vt chu gia tc trng trng theo phng thng ng a
y
= g =
10m/s
2
. Da theo phng trnh (4.3), tm biu din ca vn tc v ta
ca vt th theo thi gian v cc gi tr u.
syms x0 y0 v0 g al t0 t tt
Cc vn tc u v0x=v0*cos(al); v0y=v0*sin(al)
Vn tc tc thi v
x
vx = v0x
Ta x theo thi gian x = int(vx,tt,t0,t) +x0
Vn tc tc thi v
y
vy = int(g,tt,t0,t) +v0y
i bin t t sang tt vy = subs(vy,t,tt);
Ta y theo thi gian y = int(vy,tt,t0,t) +y0
Phng trnh giao im: Trong qu trnh chuyn ng, khi 2 vt A v B
gp nhau, ta thu c h phng trnh sau
x
A
i
(t) = x
B
i
(t)i (4.4)
Gii h phng trnh trn, ta xc nh c thi im 2 vt gp nhau, sau
tm li cc gi tr to , vn tc.
90 C hc v Xc sut - Thng k
V d 4.1.3. Xe 1 chy t thnh ph A n thnh ph B vi vn tc u
30km/h. Cng lc vi xe 1, xe 2 chy t B n A vi vn tc u l 20km/h,
gia tc 10km/h
2
. Qung ng AB di 280 cy s, hi khi no 2 xe gp
nhau? V tr gp nhau cch A bao xa?
syms t
Cc gi tr cho trc v1=30; v20=20; a2=10;sAB=280;
PTC ca xe 1 x1 = v1*t
PTC ca xe 2 x2 = -a2*t

2/2-v20*t+sAB
Thi im 2 xe gp nhau ts = solve(30*t=- 5*t

2 - 20*t + 280,t))
Chn gi tr hp l ts = 4
Khong cch t n A x1 = v1*ts
Vn tc trung bnh: i khi, gim bt s phc tp, ngi ta khng
quan tm n vn tc tc thi m ch ch n vn tc trung bnh. Khi
cht im M di chuyn trong khong thi gian t t
1
n t
2
, th vn tc trung
bnh ca n l
v
tb
=
1
t
2
t
1
t
2

t
1
v () d (4.5)
vi v() l vn tc tc thi c tnh bi cng thc
_
n

i
v
2
i
_
1
2
.
V d 4.1.4. Trong bi ton nm nghing, vt c nm vi vn tc 30

3m/s
theo phng hp vi mt t 60
o
. Tnh vn tc trung bnh ca vt trong
mi na giy t lc c nm cho n khi chm t. V th vn tc trung
bnh theo thi gian.
4.1 C hc 91
syms t tt
Cc gi tr cho trc v0=30*sqrt(3); al=pi/3; g=-10;
Cc vn tc u v0x=v0*cos(al), v0y=v0*sin(al)
Vn tc tc thi v
x
vx = v0x
Vn tc tc thi v
y
vy = int(g,tt,0,t)+v0y;
Vn tc tc thi v v = sqrt(vx

2 + vy

2)
i bin t t sang tt vy = subs(vy,t,tt)
Ta y theo thi gian y = int(vy,tt,0,t)
Tm thi im y bng 0 [ts]=solve((-5)*t*(t - 9)=0)
Chn gi tr hp l ts = 9;
Tnh nguyn hm ca v S = int(v,t)
Chia khong thi gian T1=[0:0.5:ts-0.5], T2=[0.5:0.5:ts]
Tinh vn tc trung bnh Vtb=(subs(S,t,T2)-subs(S,t,T1))/0.5
V th vn tc tb stairs([T1 ts],[Vtb Vtb(end)])
0 50 100 150 200
0
50
100
t=0s
0 100 200
0
50
100
x
y
t=3s
0 100 200
0
50
100
x
y
t=6s
0 100 200
0
50
100
x
y
t=9s
Hnh 4.1.1: M phng vt nm xin
92 C hc v Xc sut - Thng k
BI TP
1. Mt cht im P di chuyn dc theo ng thng theo phng trnh
x = 4t
3
+ 2t + 5.
a. Xc nh ta , vn tc v gia tc khi t = 3.
b. Tm vn tc trung bnh v gia tc trung bnh ca P trong khang
thi gian t giy th 3 n giy th 4.
2. Mt cht im di chuyn dc theo ng thng theo phng trnh
x = 8t
2
+ 2t. V cc th ta , vn tc v gia tc theo thi gian.
3. Thnh phn x v y ca ta cht im M c cho bi phng trnh
x = 10t
2
+ 2t, y = t
3
+ 5.
a. V th th hin qu o ca M.
b. Xc nh vn tc v gia tc ca M ti thi im t = 2.
4. Ti thi im u, cht im N c ta x = 5, y = 15. Thnh phn
vn tc ca n c cho bi phng trnh v
x
= 20t + 5, v
y
= t
2
20.
Xc nh ta , vn tc v gia tc vt th ti t = 2.
5. Mt cht im di chuyn dc theo ng thng vi gia tc a = 2

v.
ti t = 2 ta n l x = 64/3 v vn tc l v = 16. Xc nh ta ,
vn tc v gia tc vt th ti t = 3.
6. Xe A xut pht ti thnh ph C vi vn tc u v
A
= 60km/h. Xe B
cng xut pht t thnh ph C vi vn tc u v
B
0
= 20km/h v gia
tc u a
B
= 10km/h
2
.
a. Biu din quan h v tr - thi gian ca 2 xe trn cng 1 th trong
tng trng hp 2 xe chy cng chiu, ngc chiu.
b. Tm phng trnh biu din khang cch ca 2 xe trong trng hp
2 xe chy cng chiu, ngc chiu.
c. 2 xe chy cng chiu. Xc nh thi im 2 xe gp nhau. Khang
cch t im gp nhau n thnh ph C l bao xa?
d. 2 xe chy ngc chiu. Khi hai xe c cng ln vn tc th khong
cch 2 xe l bao nhiu.
4.1 C hc 93
7. Gii li bi tp 6 trong trng hp xe B xut pht tr hn xe A 1 gi
ng h.
8. Gii li bi tp 6 trong trng hp xe B xut pht tr hn xe A 1 gi
ng h v xut pht ti v tr cch thnh ph C 20km ngc hng
chuyn ng ca xe A.
9. Ti to x = 0m, cao 10m, lc t = 0s c 1 con chim bay vi vn
tc u v
c
= 2m/s. Mt ngi th sn ng ti ta x = 2m nhm
bn con chim. Tn bay ra lc t = 1s cao h = 1.5m vi vn tc
v
0
= 25m/s hp vi phng nm ngang 45
o
.
a. Ngi th sn c bn trng con chim hay khng?
b. Nu khng bn trng, anh ta phi chnh gc bn l bao nhiu
bn trng?
10. Mt con th chy dc theo phng Ox vi vn tc khng i v
t
= 4m/s.
Mt con co ng cch th 10m theo phng Oy cng bt u chy
hng theo con th vi vn tc v
c
= 6m/s. Tm qu o ca con co.
Lc no th con co bt c con th?
4.1.2 Sng c hc
Sng c hc: l nhng dao ng c hc lan truyn theo thi gian trong mt
mi trng vt cht. y ch c trng thi dao ng c truyn i, cn
bn thn cc phn t vt cht ch dao ng ti ch. Cc hin tng sng c
hc thng gp trong i sng l: s dao ng ca mt nc khi c vt th
ri xung, s lan truyn m thanh trong khng kh, s dao ng ca cc b
phn xe my khi ang chy.
Nh ni trn, ta cn phn bit r 2 chuyn ng ca sng c hc: (1)
s dao ng v (2) s truyn sng. Trong gio trnh ny, chng ta ch
cp n sng ngang l lai sng c phng dao ng vung gc vi phng
truyn sng. Nu xt trn trc Ox, th vt cht dao ng ti ch theo trc
Oy v lan truyn s dao ng theo trc Ox. V d n gin v d hiu nht
l hnh nh sng ngi trn sn vn ng trong cc trn bng .
94 C hc v Xc sut - Thng k
S dao ng: Mt cht im M c gi l dao ng nu ta ca
n tun theo quy tc: y
M
= A
M
sin(t + ). Trong A c gi l bin
, l dch chuyn ln nht m cht im c th t c; c gi l
vn tc gc, cho bit s dao ng nhanh hay chm ca sng v c gi
l pha ban u, ch trng thi ban u ca s dao ng.
S truyn sng: c t trng bi vn tc truyn sng v. Theo phng
trnh dao ng ti im C do ngun dao ng t M truyn n c dng
y
C
= y
CM
= A
M
sin(t + d/v) vi d l khang cch MN.
V d 4.1.5. Ti thi im t = 0, mt ngun dao ng tc ng vo im
M (x
M
= 0) trn mt h ang nm yn khin cho im M dao ng theo
biu thc y = 3sin(10t). Bit sng truyn theo hng Ox vi vn tc v = 2.
(a) Ti giy th 3, im M truyn sng n v tr no ca h? Xc nh
dao ng M lc .
(b) Ti giy th 5, xc nh nhng im no c cng dao ng nh M.
(c) Ti giy th 7, xc nh nhng im no c cng ang nh sng (dao
ng bng bin ).
(d) V th th hin mt h ti thi im t = 10.
4.1 C hc 95
Cc gi tr u khc bng 0 syms t d k2p
Cc gi tr cho trc y=3*sin(10*t); v=2;
a) V tr sng lan n ta = 3;xa = v*ta
Dao ng ca M lc yM=subs(y,t,ta)
b) d/v = k2 dD=solve(10*d/2=k2p,d)
Chn ty h s k k=-50:50
Cc im tng ng dD=k*2*3.14/5
Cc im tho yu cu dD=dD(dD<10); dD=dD(dD>0)
c) t d/v = /2 + k2 dD=solve(10*7-10*d/2=k2p+3.14/2,d)
Chn ty h s k k=-50:50
Cc im tng ng dD=1.3686-0.2*k*2*3.14;
Cc im tho yu cu dD=dD(dD<14); dD=dD(dD>0)
d) To sng lan ti td=10;xd=v*td
To cc nt trn mt h X=linspace(0,xd,1000)
Dao ng ca cc nt Y=3*sin(10*td-10*X/v)
V th mt h plot(X,Y)
S chng cht dao ng: Chng ta s nghin cu s dao ng ca cc vt
cht chu tc ng ca nhiu ngun truyn cng mt lc. Gi s c 2 ngun
M v N, phng trnh dao ng ca vt cht C l:
y
C
= y
CM
+ y
CN
(4.6)
V d 4.1.6. Ti thi im t = 0, 2 ngun M v N cch nhau khong
MN = 1m bt u to dao ng vi bin A
M
= 5cm, A
N
= 8cm, vn
tc gc
M
= 10rad/s,
N
= 20rad/s, pha ban u
M
=
N
= 0. C 2 u
truyn dao ng vi vn tc v = 0.2m/s. Tm dao ng ca cc vt cht
nm gia on MN ti giy th 10. (Lc ny dao ng t M truyn sang
N v dao ng t N truyn sang M.)
Cc gi tr cho trc t=10;v=0.2;MN=1;
Cc gi tr cho trc AM=5; wM=10; AN=8; wN=20
To cc nt trn MN X=linspace(0,MN,1000)
Dao ng do M truyn YCM=AM*sin(wM*t-wM*X/v)
Dao ng do N truyn YCN=AN*sin(wN*t-wN*X/v)
Xp xp ng chiu YCN=YCN(end:-1:1)
Dao ng tng hp YC=YCM+YCN;
V th mt h plot(X,YC);
96 C hc v Xc sut - Thng k
0 0.2 0.4 0.6 0.8 1
20
10
0
10
20
t=1s
0 0.2 0.4 0.6 0.8 1
20
10
0
10
20
t=2.5s
0 0.2 0.4 0.6 0.8 1
15
10
5
0
5
10
15
t=4s
0 0.2 0.4 0.6 0.8 1
20
10
0
10
20
t
=
6
s
t=6s
Hnh 4.1.2: M phng dao ng mt h
BI TP
1. Trn mt h nc rt rng, mt ngun dao ng c t ti O(0, 0)
c bin A = 3cm, vn tc gc = 5rad/s, pha ban u = 0.
Vn tc truyn sng l v = 0.3m/s. M phng sng trn mt h ti
t = 10S.
2. Ti thi im t = 0, ngun M bt u to dao ng vi bin
A
M
= 5cm, vn tc gc
M
= 10rad/s, pha ban u
M
= 0. Ti
t = 2, ngun N bt u to dao ng vi bin A
N
= 8cm, vn tc
gc
N
= 20rad/s. C 2 u truyn dao ng vi vn tc v = 0.2m/s.
Cho bit MN = 1m.
a. Tm dao ng ca cc vt cht nm gia on MN ti t = 2.
b.Tm dao ng ca cc vt cht nm gia on MN khi 2 sng gp
nhau.
4.2 Xc sut - Thng k 97
c. Tm dao ng ca cc vt cht nm gia on MN khi sng t M
truyn n N.
d. Tm dao ng ca cc vt cht nm gia on MN khi sng t N
truyn n M.
3. Gii li bi ton 2, nhng khng tm dao ng trn on MN m tm
dao ng trn c mt h.
4. Gii li bi ton 1 bit rng khng phi c 1 ngun dao ng m c 3
ngun dao ng t trn nh tam gic u cnh l = 1.5m.
4.2 Xc sut - Thng k
4.2.1 Tnh ton xc sut c bn
Bng tm tt cc hm matlab lin quan n cc phn phi thng gp
Phn phi Hm mt (PDF) Hm phn phi (CDF) To s ngu nhin
Chun normpdf (X, , ) normcdf(X, , ) normrnd(,,m,n)
u unifpdf(X,a,b) unifcdf(X,a,b) unifrnd(a,b,m,n)
M exppdf(X,) expcdf(X,) exprnd(,m,n)
Nh thc binopdf(X, N, P) binocdf(X, N, P) binornd(N, P, m, n)
Poisson poisspdf(X, ) poisscdf(X, ) poissrnd(, m, n)
V d 4.2.1.
- To 100 s ngu nhin c phn phi chun vi = 100 v = 15
x = normrnd(100,15,100,1)
- To 50 s ngu nhin c phn phi nh thc B(20, 0.7)
y = binornd(20,15,50,1)
V d 4.2.2. M t phn phi chun
mu = 100; sigma = 15; xmin = 70; xmax = 130; n = 100; k = 10000;
x = linspace(xmin, xmax, n);
p = normpdf(x, mu, sigma);
c = normcdf(x, mu, sigma);
98 C hc v Xc sut - Thng k
% Ve do thi ham mat do
subplot(1,3,1);
plot(x, p, k-);
xlabel(x); ylabel(pdf); title(Probability Density Function);
%Ve do thi ham phan phoi
subplot(1,3,2);
plot(x, c, k-);
xlabel(x); ylabel(cdf); title(Cumulative Density Function);
% Tao k = 10000 so ngau nhien co phan phoi chuan N(mu, sigma
2
)
y = normrnd(mu, sigma, k, 1);
subplot(1,3,3);
hist(y, 20); % Ve do thi Histogram
xlabel( x ); ylabel( frequency ); title( Histogram of random
values );
90 100 110 120 130
x
Probability Density Function
70 80 90 100 110 120 130
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
x
c
d
f
Cumulative Density Function
40 60 80 100 120 140 160
0
500
1000
1500
x
f
r
e
q
u
e
n
c
y
Histogram of random values
4.2 Xc sut - Thng k 99
4.2.2 Thng k m t
Bng tm tt cc hm thng k
Tn hm M t
max Gi tr ln nht
mean Trung bnh
median Trung v
min Gi tr nh nht
mode Gi tr c tn s xut hin ln nht
std lch tiu chun
var Phng sai
boxplot V th boxplot
hist V th histogram
qqplot V th Q-Q Plot
V d 4.2.3.
load count.dat % Lay data mau
X = count(:,1);
% Tinh cac gia tri thong ke mo ta
mean(X); var(X); median(X);
% Ve do thi
boxplot(X); hist(X)
qqplot(X) % Kiem xem X co tuan theo phan phoi chuan
4.2.3 Kim nh gi thit: z - test v t - test
Gi nh: s liu l mu c lp chn t phn phi chun.
z - test: Gi s bit phng sai; t - test: phng sai cha bit.
Gi thit H
0
: =
0
(i thit H
A
: = m
0
)
Gi tr thng k z v t:
z =
x
0
/

n
t =
x
0
s/

n
100 C hc v Xc sut - Thng k
Z-test: [h, p, ci, zval] = ztest(x, m, sigma, alpha), trong
x: vect s liu; m: gi tr trung bnh cn kim nh; sigma: lch
tiu chun ; alpha: mc ngha .
h = 0 hoc 1; h = 1: bc b H
0
.
p: P - value; ci: khong tin cy (1 )%.
zval: gi tr thng k Z.
T-test: [h, p, ci, stats] = ttest(x, m, sigma, alpha), trong
h, p, ci: tng t nh hm ztest.
stats: xut cc gi tr sau: tstat - gi tr thng k t; df: bc t do; sd:
lch tiu chun c lng.
V d 4.2.4.
load gas % File data chua so lieu ve gia gas gom price1 va price2
qqplot(price1) % Kiem tra gia dinh ve phan phoi chuan doi voi price1
2 1.5 1 0.5 0 0.5 1 1.5 2
106
108
110
112
114
116
118
120
122
124
Standard Normal Quantiles
Q
u
a
n
t
i
l
e
s

o
f

I
n
p
u
t

S
a
m
p
l
e
QQ Plot of Sample Data versus Standard Normal
4.2 Xc sut - Thng k 101
% So sanh gia gas trung binh voi 115, gia su da biet phuong sai
2
= 4
2
[h, pvalue, ci] = ztest(price1, 115, 4)
h = 0
pvalue = 0.8668
ci =
113.40
116.90
BI TP
1. Thc hin tng t nh v d 4.2.1, hy m phng phn phi m vi tham
s = 2.
2. Nh bi tp 1, vit script m phng phn phi nh thc B(10, 0.7).
3. Gi s ch s IQ tun theo phn phi chun vi trung bnh l 100 v
lch tiu chun 15. Chn ngu nhin mt ngi, tnh xc sut chn c
a. Ngi c ch s IQ t 110 n 130.
b. Ngi c ch s IQ trn 120.
4. o chiu di ui ca 15 con thn ln, (v: cm)
18.4, 22.2, 24.5, 26.4, 27.5, 28.7, 30.6, 32.9
32.9, 34.0, 34.8, 37.5, 42.1, 45.5, 45.5
a. Tnh cc gi tr thng k m t.
b. V th boxplot, histogram.
5. Mt nh my sn xut thc n ng hp tuyn b rng trng lng trung
bnh cc hp thc n xut xng l 140 (g). Ly mu 12 hp thc n
138, 125, 155, 130, 140, 150
130, 120, 125, 134, 160, 135
Dng kim nh z - test hoc t- test kim chng khng nh ca nh my
vi mc ngha = 5%.
CHNG 5
Giao din ha ngi dng GUI
5.1 Tng quan v cc tp tin GUI
5.1.1 Tp tin M v tp tin FIG
To tp tin GUI bng cu lnh GUIDE. Mt tp tin GUI s c to ra v
lu tr trong hai tp tin:
Tp tin FIG, ui m rng .fig, cha cch b tr (layout) GUI v cc
thnh phn ca GUI nh l: push buttons, axes, panels, menus v.v...
Tp tin M, ui m rng .m, cha cc on m khi to ban u v
cc th tc (template) cho cc hm gi li (callback). Ngoi ra, phi
thm cc callback khi vit cc thnh phn ca GUI.
Tp tin FIG v tp tin M phi cng tn v thng c chung ng dn. Thc
thi: To GUI t chc GUI trong Layout Editor (cng vic c lu trong
tp tin FIG) thc thi GUI (cng vic c lu trong tp tin M).
5.1.2 Cu trc tp tin M ca GUI
Tp tin M ca GUI c GUIDE to ra l mt tp tin hm, tn hm chnh
trng vi tn tp tin. Cc callback trong tp tin l cc hm con ca hm
chnh.
5.2 V d to mt GUI n gin 103
Hnh 5.2.1: To v t tn cho mt GUI mi
Khi lnh GUIDE to ra tp tin M, n t ng a vo cc th tc ca cc
callback thng c s dng nht. Tp tin M cha on m khi to, v
ta phi thm cc on m vo cc callback thnh phn trong GUI theo mc
ch ca cng vic.
5.2 V d to mt GUI n gin
V d 5.2.1. To mt GUI c mt nt bm, khi bm vo s hin gi hin
hnh
Bc 1: To GUI bng lnh GUIDE, hnh v 5.2.1
Bc 2: Chn v t pushbutton, hnh v 5.2.3
Bc 3: Chnh thuc tnh component, hnh v 5.2.4 5.2.8
t tn cho chng trnh: Chn Property Inspector Chnh Name:
Time, hnh v 5.2.9
V d 5.2.2. To mt GUI v th.
5.3 Mt s component trong GUI
Push Button(Nt nhn)
Khi nhp chut vo mt nt, th hm sau s c gi
104 Giao din ha ngi dng GUI
Hnh 5.2.2: Layout editor
Hnh 5.2.3: Chn v t pushbutton
Hnh 5.2.4: Chnh thuc tnh component
5.3 Mt s component trong GUI 105
Hnh 5.2.5: Thay i gi tr thuc tnh
Hnh 5.2.6: Ci t Callback cho component
Hnh 5.2.7: Tp tin M ca GUI
106 Giao din ha ngi dng GUI
Hnh 5.2.8: Thm on m x l
Hnh 5.2.9: t tn cho chng trnh l Time
Hnh 5.2.10: GUI v th
5.3 Mt s component trong GUI 107
Hnh 5.2.11: Handle Visibility callback
Hnh 5.2.12: Chn v t Axes
Hnh 5.2.13: Handle Visibility ca Axes On
108 Giao din ha ngi dng GUI
Hnh 5.2.14: Thm Button Plot
Hnh 5.2.15: Ci t Callback cho Button Plot
Hnh 5.2.16: Thm cc button grid on/off v clear
5.3 Mt s component trong GUI 109
Hnh 5.2.17: Ci t callback cho Grid on/off
Hnh 5.2.18: Ci t callback cho Clear
110 Giao din ha ngi dng GUI
function pushbutton1_Callback(hObject, eventdata, handles)
... ... ...
V d 5.3.1. Nhn nt th thay tn ca nt (thuc tnh String ca nt)
function pushbutton1_Callback(hObject, eventdata, handles)
set(gcbo,String,ten gi do);
Mt s thuc tnh quan trng ca Button:
Enable: cho php nhn (on/off)
String: chui hin th trn nt
Tag: tn i tng nt phn bit vi cc i tng khc trong chng
trnh
Value: gi tr ca nt.
Toggle Button, Radio Button v Check Box (Nt bt tt, Nt chn
v check)
Thuc tnh ca Toogle Button: Thuc tnh Value s bng thuc tnh
Max nu nt c nhn hoc c chn, ngc li s bng thuc tnh
Min.
function togglebutton1_Callback(hObject, eventdata, handles)
button_state = get(hObject,Value);
if button_state == get(hObject,Max)
% Toggle button c nhn
...
elseif button_state == get(hObject,Min)
% Toggle button khng c nhn
...
end
Mc nh Max=1, Min=0. Cng c th thay i trng thi cho cc
Toggle Button, Radio Button v Check Box bng cch t li cc thuc
tnh Value, Max, Min.
set(handles.togglebutton1,Value,get(handles.togglebutton1,Max))
5.3 Mt s component trong GUI 111
t nt togglebutton1 sang trng thi c nhn
set(handles.radiobutton1,Value,get(handles.radiobutton1,Min))
t nt radiobutton1 sang trng thi b chn nhp vn bn: Edit Text
Thuc tnh String cha chui m ngi dng nhp vo
function edittext1_Callback(hObject, eventdata, handles)
user_string = get(hObject,String);
...
Nu thuc tnh Max, Min c t sao cho MaxMin>1 th ngi dng
c th nhp nhiu hng.
Callback c gi khi ang thay i ni dung ca Edit Text m nhp
chut ra bn ngoi (nhng vn bn trong GUI), hoc khi ngi dng
nhn Enter (vi Edit Text mt hng), Ctrl+Enter (vi Edit Text nhiu
hng).
Thuc tnh String tr v mt chui. Mun nhn d liu s th s dng
hm str2double. Nu ngi dng khng nhp s th str2double tr v
NaN.
function edittext1_Callback(hObject, eventdata, handles)
user_entry = str2double(get(hObject,string));
if isnan(user_entry)
errordlg(You must enter a numeric value,Bad Input,modal)
return
end
% Proceed with callback...
Thanh trt (Slider)
Thuc tnh Value xc nh trng thi ca Slider.
Thuc tnh Max v Min xc nh cc i v cc tiu cho thuc tnh
Value ca Slider.
112 Giao din ha ngi dng GUI
function slider1_Callback(hObject, eventdata, handles)
slider_value = get(hObject,Value);
% Proceed with callback...
List box v Pop-up menu
Thuc tnh Value cha ch s ca mc c chn. Ch s ca mc u
tin l 1.
Thuc tnh String l mng cell cha danh sch cc mc chn ca List
Box v Pop-up Menu.
V d di y cho php ly gi tr ca chui c chn trong List Box.
function listbox1_Callback(hObject, eventdata, handles)
index_selected = get(hObject,Value);
list = get(hObject,String);
item_selected = list{index_selected};
% Convert from cell array to string
Callback ca List Box c gi sau s kin nh chut hoc nhn mt
s phm c bit.
Khi cc phm mi tn thay i thuc tnh Value ca List Box, callback
Callback c gi ng thi t thuc tnh SelectionType ca figure
thnh normal.
Phm Enter v Space khng lm thay i thuc tnh Value ca List Box,
nhng Callback vn c gi, ng thi t thuc tnh SelectionType
ca figure thnh open.
Nu ngi dng nhp p chut th Callback c gi sau mi ln
nhp. MatLab t thuc tnh SelectionType ca figure thnh normal
ln th nht v thnh open ln th hai.
Do ta c th bit c ngi dng nhp p chut hay khng da
vo vic truy vn thuc tnh SelectionType ca figure.
5.3 Mt s component trong GUI 113
Button Group
Button Group cha cc thnh phn GUI, ng thi gip ta qun l
vic la chn ca Radio Button v Toggle Button.
Nu Button Group cha Radio Button, Toggle Button hoc c hai th
Button Group ch cho php mt trong s chng c chn. Nu mt
ci c chn th nhng ci khc s c b chn.
Callback SelectionChangeFcn ca Button Group c gi khi c s
thay i chn.
Tham s u vo hObject tr ti Radio Button hoc Toggle Button
c chn.
Cc callback ca cc thnh phn khc trong GUI c th truy xut ti
i tng c chn thng qua thuc tnh SelectedObject ca Button
Group.
Axes (H trc ta )
H trc ta dng v th hoc hin th hnh nh.
Mun v th ln mt h trc ta , ta thm handles ti h trc ta
vo hm mun s dng.
V d 5.3.2. v th ln h trc axes1
[X,Y] = meshgrid(-3:.125:3);
Z = peaks(X,Y);
meshc(handles.axes1,X,Y,Z);
axis([-3 3 -3 3 -10 5]);
BI TP
1. To mt giao din ngi dng nh hnh v 5.3.1. Chng trnh m
phng my tnh b ti dng tnh cc php ton thng thng. Trong
, nt du bng l togglebutton , cc nt cn li u l pushbutton.
Cc tag c th:
114 Giao din ha ngi dng GUI
Hnh 5.3.1: My tnh vi cc chc nng thng thng
Du bng: togglebutton_bang. N trng thi c nhn khi
ngi dng nhp xong mt chui v nhn vo n. Nt ny trng
thi khng nhn khi ngi dng nhn vo cc nt khc bt
u nhp chui mi.
Mn hnh hin th gm: text_bieuthuc, hin th biu thc ngi
dng nhp v kt qu biu thc. V text_canhbao, hin th
thng bo khi nhp sai.
Nt Del v AC dng xa: pushbutton_del, pushbutton_AC,
nt Del xa mt k t cui, nt AC xa ton b chui.
Cc nt nhp biu thc: pushbutton_1, pushbutton_2, push-
button_cong, . . . nhp biu thc cn tnh.
2. Thit k GUI nh hnh v 5.3.2. Chng trnh s v th hm s c
chn trong popupmenu1 ln h trc ta khi nhn vo nt push-
button_Update vi cc tham s ng nt, mu sc c chn trong
hai buttongroup, l uipanel_Color v uipanel_LineStyle.
Ngoi ra th s c thm cc li nu checkbox Grid c chn,
ngc li th s khng c cc li.
3. Thit k GUI nh hnh v 5.3.3. Bao gm:
Hai h trc ta axes1 v axes2 dng hin th th.
Cc nt v v check hin th li trn th: pushbut-
ton_Plot1, pushbutton_Plot2, checkbox_Grid1, v check-
box_Grid2.
5.3 Mt s component trong GUI 115
Hnh 5.3.2: GUI v th 2D
Hnh 5.3.3: GUI v th 2D vi cc tnh nng cp nht cc hm cn v
116 Giao din ha ngi dng GUI
Hai danh sch cc hm s cn v v cc nt thm, xa hm s: list-
box1, listbox2, pushbutton_Add1, pushbutton_Remove1.
edit text dng nhp thm hm s v hai static text dng
hin th thng bo li: edit1, text1, text2.
Khi ngi dng nhn cc nt Plot, th ca hm s c chn
trong list box s c hin th trn cc h trc ta tng ng.
Khi ngi dng nhp hm s vo text box v nhn nt Add th
hm s s c thm vo list box tng ng.
Khi ngi dng nhn nt Remove th hm s c chn s b xa
khi list box tng ng.

You might also like