You are on page 1of 66

Bi ging Tin ng dng 2 Matlab 7

I HC THY LI
BMN QUN L TNG HP BIN V I B
------ ------

MATLAB
TIN HC NG DNG HC PHN II
(Ti liu tham kho & Bi tp cho sinh vin Kthut Bin K45)

Nguy
n B Tuyn
Nguy
n Quang Chi
n

H Ni, thng 08 nm 2007


-1-

Bi ging Tin ng dng 2 Matlab 7

MC LC

1.

CHNG I: MATLAB CN BN ....................................................................... 4


1.1. Matlab ngn ngca tnh ton kthu
t.........................................................4
1.2. Khnng v nhng ng dng ca Matlab ........................................................ 4
1.3.
c i
m ca Matlab .......................................................................................6
1.4. Ci
t v khi ng Matlab 7.0....................................................................... 7
1.5. Qu
n l khng gian lm vi
c ca Matlab..........................................................8
1.6. Ghi & phc hidliu...................................................................................11
1.7. Sdng Help.................................................................................................12
1.8. History & Editing...........................................................................................13

2.

CHNG II: TNH TON TRONG MATLAB .................................................. 15


2.1. Matlab - mt my tnh c nhn ....................................................................... 15
2.2. Bi
n trong Matlab..........................................................................................16
2.3. Cc kiu dli
u -
nh dng k
t qu
.............................................................. 17
2.4. Cc kiu dli
u s& sphc........................................................................ 18
2.5. Cc k t,Chuiv Vn bn.......................................................................... 19
2.6. Cc h
ng sdng sn.....................................................................................20
2.7. Cc hm dng s
n..........................................................................................20
2.8. Cc php ton quan h...................................................................................23
2.9. Cc php ton logic........................................................................................ 24
2.10.
K
t hp nhiu l
nh trn mt dng; n k
t qutnh.....................................26

3.

CHNG III: VECT........................................................................................ 27


3.1. Gii thi
u....................................................................................................... 27
3.2. Vcthng..................................................................................................... 28
3.3. Vectct....................................................................................................... 29
3.4. Ton thai ch
m ( : ).....................................................................................29
3.5. Lm vi
c vi vect& ma tr
n (mng)............................................................30
3.6. Xl dli
u vi cc hm dng s
n cho vect& ma tr
n............................... 32

4.

CHNG IV: MA TRN I S& TUYN TNH.......................................... 34


4.1.
nh ngh
a v khi t
o ma tr
n ...................................................................... 34
4.2. Mt sma trn
c bit.................................................................................. 34
4.3. Cc php ton vi tng phn ttrong ma trn................................................ 35
4.4. Cc php ton vi ma tr
n.............................................................................. 35
4.5. Giiphng trnh
i s................................................................................. 35
4.6. Giihphng trnh
i stuy
n tnh............................................................35
4.7. Tm nghi
m ca a thc................................................................................. 35
4.8. Giiphng trnh phi tuyn ........................................................................... 35
4.9. Giiphng trnh vi phn .............................................................................. 35
4.10.
Cc lnh hu ch khc ................................................................................ 35

-2-

Bi ging Tin ng dng 2 Matlab 7


5.

CHNG V: SCRIPTS V FUNCTIONS (M-FILES)........................................ 37


5.1. Gii thi
u M-file............................................................................................ 37
5.2. Bin so
n v thc thi M-file........................................................................... 37
5.3. Ch thch (comments)....................................................................................38
5.4. Cc hm m-file (function m-files) ..................................................................39
5.5. Cu l
nh rnhnh (if v switch)..................................................................... 41
5.6. Vng lp (for v while).................................................................................. 42
5.7. c dliu tfile v ghi ra file...................................................................... 43

6.

CHNG VI: THDNG NG .............................................................44


6.1. Bi
u din ng qu trnh.............................................................................. 44
6.2. La chn mu v
, nt v................................................................................ 46
6.3. T
o cc ch thch, ch giitrn hnh v
..........................................................48
6.4. Xa ng bi
u ,lu bi
u ..................................................................... 50
6.5. thLogarit ................................................................................................ 50
6.6. Dy bi
u ....................................................................................................52

7.

CHNG VII: THKHNG GIAN .............................................................55


7.1. Cc d
ng cb
n.............................................................................................55
7.2. Ch
nh cc vtr trong khng gian 2 chi
u ...................................................58
7.3. M
t c
t
a hnh ............................................................................................. 58
7.4. Trng vct.................................................................................................59

PHN BI TP ..................................................................................................61
Bi tp s1:.............................................................................................................. 61
Bi tp s2............................................................................................................... 62
Bi tp s3............................................................................................................... 62
Bi tp s4:.............................................................................................................. 63
LI GII ...................................................................................................................... 63
Bi tp s1:.............................................................................................................. 63
Bi tp s2:.............................................................................................................. 64
Bi tp s3:.............................................................................................................. 64
Bi tp s4:.............................................................................................................. 64
8.

9.

TI LIU THAM KHO: ...................................................................................66

-3-

Bi ging Tin ng dng 2 Matlab 7

1. CHNG I: MATLAB CN BN

1.1.

Matlab ngn ngca tnh ton kthut

- MATLAB l mt ngn ngb


c cao v mi trng t
ng tc cho php b
n ti
n
hnh cc nhi
m vtnh ton c cng ln nhanh hn vi cc ngn ngl
p
trnh nhC, C++ v Fortran.
- MATLAB vi
t t
t cho "Matrix Laboratory" - Phng th nghi
m ma tr
n. Ban
u
Matlab
c thi
t kbi Cleve Moler vo nhng n
m 1970
sd
ng nhmt
cng cd
y h
c. T

n nay n
c pht tri
n thnh mt bph
n m
m
thng m
i r
t thnh cng.
- Hi
n nay MATLAB R14 l mt bph
n m
m cho cng vi
c tnh ton trong cc
ngnh kthu
t, trong khoa h
c v trong l
nh vc ton h
c ng d
ng. Matlab cho
ta m
t ngn ngl
p trnh m
nh, giao di
n
h
a xu
t s
c, v mt ph
m vi r
t
r
ng cc ki
n thc chuyn mn. Matlab l m
t thng hi
u
c thng m
i
ha ca t
p on MathWorks, Massachusetts, USA (hi
n l nh cung c
p hng

u thgii cho cc ph
n m
m tnh ton kthu
t v thi
t kda trn m hnh).
1.2.

Khnng v nhng ng dng ca Matlab

- Mt trong nh
ng tnh n
ng tuy
t vi nh
t c
a Matlab nhn tgc
nhng nh
khoa h
c tnh ton l thvi
n dng s
n to ln r
t phong ph cc chu trnh tnh
ton v cc cng chi
n th
h
a.
- Matlab cho php ngi dng ti
n hnh r
t nhi
u cc nhi
m vthng thng lin
quan ti vi
c gi
i quy
t cc v
n
mt cch sh
c. N cho php chng ta dnh
nhi
u thi gian hn cho vi
c suy ngh
, khuy
n khch chng ta th nghi
m.
- Matlab ng dng nhng thu
t ton h
t sc c trn trng v v
y chng ta c th
tin tng vo k
t quthu c.
- Cc tnh ton r
t m
nh c th
c thc hi
n chvi m
t ho
c hai cu l
nh.
- B
n c thxy dng ring cho mnh nhng hm ton hc cho nhng ng d
ng

c bi
t.
- Matlab cung c
p giao di
n
h
a tuy
t h
o, cc hnh tMatlab c them chn
vo LATEX v cc ti li
u Word.
- Ti li
u hng d
n ny chem
n m
t ci nhn thong qua vsc m
nh v s
linh ho
t c
a hthng Matlab. c c nhng hi
u bi
t su s
c v chi ti
t hn,
xin tham kh
o cc gio trnh Matlab chuyn dng khc hi
n c trn thtrng.

-4-

Bi ging Tin ng dng 2 Matlab 7

VD: Hy cng tham kh


o cc demo c
a Matlab xem ta c thlm c nhng
g chvi mt vi dng l
nh
n gi
n:
>>
>>
>>
>>

colormap(hsv(64))
z = cplxgrid(30);
cplxmap(z,z^3)
cplxroot(3)

% min khng gian s phc n v z


% v th hm x = z^3 hinh1
% v th hm y = z^(1/3) hinh2

Hnh 1: thhm x = z3 trong khng gian sphc

Hnh 2: thhm y 3 z trong khng gian sphc

-5-

Bi ging Tin ng dng 2 Matlab 7

1.3.

c im ca Matlab

Lp trnh theo ngh


a thng thng, l nh
p vo my nhng cu l
nh r rng, theo
mt thtnh
t

nh sao cho khi my thc hi


n theo
ng tht th scho ta
k
t qumong mu
n. M
t khi ni
m nm na tng tnhv
y thng th
y trong
cc kha h
c l
p trnh cc ngn ngC, Pascal...
Khi khi

u vi MatLab ta hy hi
u theo ngh
a r
ng hn: l
p trnh cn c cc
bc bi
u di
n bi ton di d
ng cc hm v my tnh qua vi
c thc hi
n cc
hm ny cho ta k
t qu
. Phng php ny c mc tru tng cao hn so vi
cc cu l
nh chd
n n thu
n.
minh ha
i
u ny, ta xt m
t v dr
t
n gi
n: so snh php cng hai vct
trong ngn ngl
p trnh Pascal v MatLab.
- Pascal bi
u di
n mt vctdi d
ng m
ng (array), ch
ng h
n c 3 vec-tA, B,
C v A + B = C:
var
A: array[1..5] of integer = (3, 7, 4, 2, 0);
B: array[1..5] of integer = (-2, 4, 8, 5, 1);
C: array[1..5] of integer;
i: integer;
begin
for i := 1 to 5 do
begin
C[i] := A[i] + B[i]
end
end.

- Cch lm trong MatLab


n gi
n hn nhi
u:
A = [3 7 4 2 0];
B = [-2 4 8 5 1];
C = A + B;

- C
c s
n gi
n ni trn l nhMatLab
xy dng s
n khi ni
m ma trn.
D
u cng trong dng l
nh MatLab bi
u thphp c
ng ma tr
n. Pascal khng c
nhv
y; m
ng chl sbi
u di
n c thtca cc bi
n. Khng c php c
ng ma
tr
n, chc php cng hai s v v
y chng trnh Pascal di hn r
t nhi
u.
- M
t
c
i
m na l t
t ccc bi
n trong chng trnh Pascal trn
u ph
i c
khai bo. Trong MatLab cc bi
n st
ng hnh thnh trong mi cu l
nh gn.
Trong nh
ng n
m g
n
y, bn c
nh cc ngn ngl
p trnh truy
n th
ng (C / C++
/ Fortran), cc ngn ngvn l
nh (scripting languages)
c sd
ng phbi
n
hn trong l
nh vc nghin cu tnh ton. MatLab l mt trong cc ngn ngnh
v
y. L mt ngn ngb
c cao, m
i dng l
nh MatLab thng c tc dng tng

ng vi kho
ng 10 dng l
nh ca C / C++. Ngi l
p trnh st
n t thi gian g
cu l
nh v t
p trung hn vo ni dung chng trnh.

-6-

Bi ging Tin ng dng 2 Matlab 7

Tuy v
y cc ngn ngl
p trnh bin d
ch nhC / Fortran cho php chng trnh
tnh ton r
t nhanh v tc cng l mt yu c
u r
t quan trng trong cc chng
trnh tnh ln. Do
m
t cch k
t hp thng minh l ph
n li tnh ton c th

c vi
t b
ng ngn ngbin d
ch, v cc thao tc nh
p xu
t, xl, hi
n ths
li
u c vi
t bi ngn ngv
n l
nh nhMatLab.
1.4.

Ci t v khi ng Matlab 7.0

1.4.1. Ci t Matlab 7.0

- Yu c
u vc
u hnh my tnh:
+ Bvi xl Pentium ho
c Pentium Pro
+ Windows 95 ho
c NT (WinXP home, XPprofessional
u c)
+ B
i
u phi
ha 8 bit v card mn hnh ti thi
u 256 mu
+ Dung lng cng 25Mb cho ti hn 1Gb (ty thuc vo cch c
u hnh

a cng, phn vng


a, shp ph
n c
a Matlab
c ci

t), v ti 2,1Gb n
u
ci

t Matlab cng vi Simulink.


+ Bnh
ng (RAM) t
i thi
u 16Mb (nn c bnht
i thi
u 128Mb)
+ Cc khuy
n nghkhc: Bnhbsung, card ha bsung, card m
thanh, my in, MS-Word 7.0 ho
c hn, trnh bin d
ch C, Borlean, M
cosoft (xy
dng file MEX), trnh duy
t internet (ch
y Matlab Helpdesk online).
- Qu trnh ci
t Matlab 7.0 cho WindowsXP (bg
m 2
a CD):
+ a

a CD vo
c. N
u chng trnh SETUP khng t
ng ch
y th
nh
n p vo bi
u tng setup.exe b
t
u qu trnh ci
t.
+ Accept (ch
p nh
n) nhng tha thu
n vb
n quy
n. sau
click Next.
+ N
u b
n ci theo ki
u m
c
nh (hay cn g
i l Typical setup - ki
u ph
bi
n), Matlab trn my tnh c
a b
n sc cc hp ph
n cb
n nh
t
lm vi
c
theo cc h
ng d
n trong ti li
u ny. Theo cc hng d
n trn mn hnh. Cho
a
CD th2 vo khi
c yu c
u.
+ N
u b
n ci
t theo ki
u ty ch
n c nhn (Manual setup) th nh
n vo
cc h
p thnh ph
n d
u 'v' n
u b
n mu
n c ty ch
n . Nh
n ti
p n
u b
n
khng c
nh (c ththm vo sau ny n
u mu
n).
+ Trn mn hnh hi
n th'C:\MATLAB7' l thm
c m
c

nh ca qu trnh
ci
t. N
u b
n mun ci

t vo
a chkhc, ho
c
i tn thmc, th b
n la
ch
n 'Browse'.

-7-

Bi ging Tin ng dng 2 Matlab 7

+ Chi ti
t hng d
n ci
t xin xem file
install_guide.pdftrong

a CD1
(b
n ti
ng Anh).
1.4.2. Khi ng Matlab (Hiu hnh Windows)

- THH Windows, khi


ng Matlab
n gi
n b
ng cch nhy

p vo bi
u tng MATLAB trn mn hnh, ho
c b
ng cch
ch
n MATLAB tMenu Start.
- Qu trnh khi

ng
a ngi dng
n Ca sl
nh, ni cc
dng l
nh c bi
u th
b
ng '>>'.
>>_
y l d
u hi
u cho th
y Matlab
ang chb
n
nh mt (cu) l
nh. Khi ho
t
ng
trong chmy tnh c
m tay, t
t ccc l
nh c
a Matlab c nh
p vo dng
l
nh tbn phm.
- Matlab c th
c sdng theo nhi
u ch
v nhi
u cch khc nhau;
+ Nhmt my tnh c
m tay cao c
p trong chmy tnh c
m tay
+ Nhmt ngn ngl
p trnh b
c cao
+ Nhmt chu trnh con g
i tchng trnh C
Trong ti li
u ny chng ta si nghin cu chi ti
t 2 ch
u tin.
1.5.

Qun l khng gian lm vic ca Matlab

- Vcb
n, khng gian lm vi
c ca Matlab g
m c cc ph
n sau:
+ Ca strgip (Help window)
+ Nt Start
+ Ca snh
p l
nh (Command window)
+ Ca skhng gian lm vi
c (Workspace window)
+ Ca squ trnh l
nh (Command History window - l
ch s)
+ Ca sbin t
p m
ng, vect, ma tr
n (Array editor window)
+ Ca s

a chthmc hi
n thi (Current directory window)
- Nt x gc trn bn ph
i m
i ca sdng

ng chng. Hi
n thl
i ca s
b
ng cch tch
vo tn ca stng ng trong menu Desktop.
- Nt mi tn cong bn c
nh nt
xdng tch cc ca slm vi
c trong ca s
chnh MATLAB thnh ca scon
c l
p. n nt ny m
t l
n na snh
p mt
ca s
c l
p vca schnh c
a MATLAB.
- Ca sHelp, History sc gii thi
u cthtrong m
c 1.7 v m
c 1.8. Sau

y cc ca slm vi
c cn l
i s
c gii thi
u v
n t
t.

-8-

Bi ging Tin ng dng 2 Matlab 7

Hnh 1.1: Giao di


n c
a Matlab 7.0
* Nt Start: gc di bn tri c
a mn hnh Matlab, cho php ta ch
y cc ng
d
ng m
u (demos), cc cng cv ca scha hi
n thkhi khi
ng Matlab.
B
ng cch nh l
nh 'demo' b
n c thti
p c
n vi m
t t
p hp su rng nhng
file trnh di
n gi trr
t cao, v l bi
u hi
n cho nhng khn
ng c
a Matlab.
V d
: Thch
y Start -> Matlab -> Demos v ch
y m
t ng d
ng m
u trong ca
sDemo(s).
Ghi ch: L
nh ny sxa t
t cgi trc
a cc bi
n hi
n c.
* Ca sl
nh:
c c
p m
c 1.4.2. (Khi
ng Matlab).
- Cc di
n gi
i v cu (m
nh

) ca Matlab c
nh gi khi b
n g vo 'Ca s
l
nh', v cc k
t qutnh ton c
ng c thhi
n t
i
y. Khng gi
ng nh
Fortran v cc ngn ngtnh ton c
n bin d
ch khc, Matlab l m
t mi trng
tng tc b
n
a ra mt cu l
nh, v Matlab cg
ng thc thi n ngay l
p tc
trc khi i h
i 1 l
nh ti
p theo.
- Cc di
n gi
i v cu c
ng
c sd
ng trong cc M-file (s
c trnh by chi
ti
t chng V). Chng thng c c
u trc:
>> bi
n = di
n gi
i
ho
c n gi
n l

>> di
n gi
i

- Cc di
n gi
i thng
c so
n b
ng cc ton t, cc hm, v tn cc bi
n, v

c hi
n thtrn mn hnh sau khi
n Enter. Cc cu l
nh c d
ng
tn bi
n=

-9-

Bi ging Tin ng dng 2 Matlab 7

di
n gi
ith di
n gii
s
c gn cho bi
n
sdng sau ny. Khi tn bi
n
v d
u
= c bi th k
t quca di
n gi
i sc t
ng gn cho bi
n c
tn ans (hay answer cu trli) v hi
n thtrn mn hnh.
- Mt cu (l
nh) thng thng sk
t thc cui dng. Tuy nhin c thti
p tc
mt cu b
ng ba d
u ch
m
cui dng.
- C th

t m
t vi cu l
nh trn cng m
t hng, ng
n cch bi d
u ph
y
, ho
c
ch
m ph
y
;
- N
u m
t cu l
nh k
t thc b
ng d
u ch
m ph
y cu
i cu th k
t quca l
nh

skhng c hi
n th
, tuy nhin yu c
u tnh v
n c thc hi
n (php tnh
hay php gn v
n c thc hi
n, k
t quc trong workspace). i
u ny l thi
t
y
u trong vi
c
n
i cc k
t qutrung gian khng mong mun (VD nhkhi thc
hi
n mtlo
t php tnh, hay tnh ton vi cc ma tr
n ln).
- B
n c thxa tr
ng ton bca sl
nh b
ng l
nh

>> clc

% (clear command window)

ho
c vo menu Edit -> Clear Command Window. Khi thc hi
n l
nh ny, ton
bgi trca cc bi
n hi
n c khng thay
i hay m
t i.
* Ca s khng gian lm vi
c
(workspace):
Cc bi
n v dli
u m b
n nh
p vo
ho
c tnh ton ra s
c Matlab lu
trong m
t ph
n gi l 'khng gian lm
vi
c'. T
t ccc bi
n, ngo
i trnhng
bi
n cc bthu
c vm
t M-file, s

c thhi
n trong khng gian lm
vi
c
- L
nh 'who' ho
c 'whos' li
t k cc bi
n hi
n c trong khng gian lm vi
c.
VD: nh l
nh 'whos' vo ca sl
nh, b
n sth
y m
t danh sch cc bi
n hi
n c
cng ki
u lo
i v kch cca chng.
- bi
t gi trhi
n t
i ca m
t bi
n, b
n
nh vo tn bi
n t
i d
u nh
c ca ca
sl
nh v Enter.
- xa m
t hm ho
c bi
n kh
i khng gian lm vi
c, ta sdng l
nh 'clear':
>> clear tn_bi
n

B
n thn l
nh 'clear' sxa t
t ccc bi
n hi
n c (tng ng vi 'clear all')

- 10 -

Bi ging Tin ng dng 2 Matlab 7

* Ca sbin t
p m
ng (ma tr
n ni chung): Khi ta c mt m
ng, ta c th
ch
nh sa, bin t
p l
i n b
ng Array Editor. Cng cny lm vi
c nhm
t b
ng
tnh (spreadsheet) cho ma tr
n.
V d: C ma tr
n M, hy thclick v thay
i n, thay
i cc ph
n t, hay kch
thc ma tr
n. Quay trl
i Ca sl
nh v g 'M' ri Enter, xem ma tr
n M ca
chng ta sau khi thay
i.
+ B
n cng c thbin t
p l
i ma tr
n M b
ng cch
nh l
nh

>> openvar ('C')

* Ca s
a chthmc hi
n thi: Thmc hi
n thi l ni chng trnh
Matlab stm cc M-file, v cc file khng gian lm vi
c (.mat files) m b
n
Load v Save.
1.6.

Ghi & phc hi dliu

1.6.1. Lu v phc hi dliu

- nhcc bi
n, Matlab c thghi v gi l
i dli
u tfile trong my tnh ca
b
n. Mc Save Workplace as... trong b
ng ch
n File smh
p h
i tho
i ghi
t
t ccc bi
n hi
n t
i.
- Tng t, mc Load Workplace trong b
ng ch
n File smh
p hi tho
i gi
l
i t
t ccc bi
n m ta
ghi l
i tkhng gian lm vi
c trc.
Ghi ch: vi
c Load khng lm m
t cc bi
n hi
n c trong khng gian lamg vi
c
hi
n t
i. Khi ta g
i l
i cc bi
n m chng trng tn vi cc bi
n trong khng gian
lm vi
c c
a Matlab, n sthay
i gi trca cc bi
n theo gi trc
a cc bi
n
g
i ra tfile.
- Ngoi cc b
ng ch
n, Matlab cn cung c
p hai l
nh Save v Load, n thc hi
n
mt cch m
m d
o hn. L
nh save cho php b
n ghi mt ho
c nhi
u hn m
t bi
n
ty theo sla chn. V d
:
>> save

>> save dulieu

- lu t
t ccc bi
n trong Matlab theo ki
u
nhphn trong file matlab.mat
- lu t
t ccc bi
n trong Matlab theo ki
u
nhphn trong file dulieu.mat

>> save dulieu A B C D -ascii


- lu cc bi
n A, B, C, D theo d
ng m ASCII trong file dulieu.mat
1.6.2. Lu mt bdliu (record)

- 11 -

Bi ging Tin ng dng 2 Matlab 7


1.6.3. Lu mt phin (session)

Khi lm bi t
p, vi
c lu t
t ccc thng s
u vo v

u ra c
a phin lm vi
c
vi Matlab hi
n t
i c
a b
n cho vi
c in
n sau ny l r
t hu ch. L
nh 'diary' s
d
ng cho mc ch ny, slu t
t cnhng thng s
u vo v

u ra gia hai
l
nh 'diary' v 'diary off'. Td
u nh
c dng l
nh, b
n nh:
>> diary('diary_file_name')
>>

........ (cc cu l
nh c
a b
n y)

>> diary off


1.7.

Sdng Help

- Trgip v thng tin vcc l


nh ca Matlab c th
c tm th
y theo nhi
u
cch:
+ Tdng l
nh b
ng cch
nh l
nh 'help ch

' (xem di
y)
+ Tca sHelp ring bi
t xu
t pht Menu Help
+ Thelpdesk c
a Matlab lu trtrn

a ho
c CD-rom, ho
c
+ Tm
ng Internet
- Tdng l
nh,
n gi
n nh
t hy
nh l
nh 'help' v Enter!
K
t qu
: Matlab cho ta mt b
n tm t
t vhthng trgip.M
t vi dng

u tin
ca k
t qusnhsau:
HELP topics: (Cc ch
trgip)
matlab/general

- Cc l
nh vi mc
ch tng qut.

matlab/ops

- (operators) Cc ton tv cc k t

c bi
t...

matlab/lang

- (language) Ngn ngl


p trnh...

matlab/elmat

- (elementary) Ma tr
n c
n b
n...

matlab/elfun

- (elementary functions) Cc hm ton c


n b
n.

matlab/specfun

- (specialized functions) Cc hm ton


c bi
t.

- Thng thng b
n sth
y ca stext khng ln
cha t
t cthng tin t
mt l
nh Matlab. Do
b
n c thsd
ng chc n
ng 'more on' xem thng tin
theo tng trang mn hnh, sau
duy
t tng trang m
t b
ng cch nh
n phm bt
k
.
nh 'more off' vo ca sl
nh sa Matlab trvcch cxthng thng,
khng duy
t tng trang.
- Thng thng b
n c thkhng nhchnh xc tn c
a mt l
nh Matlab, trong
trng hp
b
n c thsd
ng l
nh 'lookfor' (tm ki
m) nhmtstrgip.

- 12 -

Bi ging Tin ng dng 2 Matlab 7

V d, n
u b
n
nh vo dng l
nh 'lookfor logarithm', Matlab sli
t k t
t ccc
hm tng bi
t ca Matlab c lin quan ti Logarit.

Hnh 1. : Giao di
n ca sHelp c
a Matlab 7.0
1.8.

History & Editing

- Trong giao di
n m
c

nh c
a Matlab, c
a s'Command History' (l
ch scc
l
nh) n
m gc ph
n tbn di, pha tri. Trong ca sny, cc l
nh s
d
ng trong cc l
n khi
ng Matlab g
n y
u
c lu l
i. M
i l
n khi
ng
Matlab, ton bcc l
nh sdng trong l
n
sc lu l
i di d
ng mt nhm
c th
ng mb
ng nt bi
u tng '+' (expand)ho
c '-' (collapse)
u dng
(dng ghi m
c thigian gia hai d
u ch thch '%'):
VD:

(+)

%-- 8/14/07 3:21 PM --%

(-)

%-- 8/14/07 3:21 PM --%

- gi l
i l
nh tc
a s'Command History', b
n tm

n l
nh
b
ng cc thanh
cu
n, r
i nhy
p vo tn l
nh.
- gi l
i cc l
nh b
n
sdng td
u nh
c c
a ca sl
nh, Matlab dng cc
phm mi tn () trn bn phm.
- V d
, g
i l
i l
nh b
n g vo lc g
n nh
t, b
n nh
n phm m
i tn ln ().
Ti
p t
c nh
n phm ny, n sg
i ti
p l
nh trc . Phm m
i tn xung gi l
i
l
nh theo thtngc l
i.

- 13 -

Bi ging Tin ng dng 2 Matlab 7

- Cc phm mi tn v c thdng
thay
i vtr con trtrong dng l
nh
t
i d
u nh
c c
a Matlab, nhv
y chng ta c thsa dng l
nh. Thm na, c th
dng chut cng vi bnh
m
c
t, copy, dn v sa v
n b
n t
i d
u nh
c ca
dng l
nh.

- 14 -

Bi ging Tin ng dng 2 Matlab 7

2. CHNG II: TNH TON TRONG MATLAB

2.1.

Matlab - mt my tnh c nhn

* Gii thi
u cc ton tshc:
- Cc ton tsh
c ca Matlab ho
t
ng theo mt c php r
t gi
ng vi c php
ca cc ngn ngkhc m b
n c th quen thuc nhTurbo Pascal, C, C++,
Fortran, Java...
- Cc ton tcb
n gm c + - * / ^ = v chng c dng k
t hp vi
ngo
c
n: ( ). Ton t'=' l ton tgn. Ton t ^
c dng
cho l
y tha:
2^4=16. Vi nhng ton tny ta c thdng Matlab nhm
t my tnh c nhn

n gi
n.
* V d: B
n c thnh cc l
nh di y vo sau d
u nh
c l
nh: >>_.
>> A = 2 + 3/4*5
A =
5.7500
>> B = 2^5 - 3*A
B =
14.7500
>> A + B
ans =
20.5000

Khi khng c ton tgn, Matlab trk


t quc
a php tnh g
n nh
t vo bi
n 'ans
= ...' (answer). Xem thm mc 2.2.
* Thtu tin tnh ton:
Trong v dtrn, Matlab tnh nhthno, 2 + 3/(4*5) hay 2 + (3/4)*5?
Matlab lm vi
c theo thtu tin sau:
1. cc
i lng trong ngo
c
n,
2 + 3^2

2. ly tha

2 + 9 = 11,

3. * /, lm vi
c ttri qua ph
i (3*4/5 = 12/5),
4. + -, lm vi
c ttri qua ph
i (3+4-5=7-5),
V v
y php tnh trn stheo tht
u tin 3.
* Bcc ton tca Matlab: (Xem thm Help/Arithmetic operators)
Ton t

M t

Cng

Tr

- 15 -

Bi ging Tin ng dng 2 Matlab 7

2.2.

.*

Nhn m
ng cng kch thc (nhn ph
n tvi ph
n t)

./

Chia mng cng kch thc (chia phn tvi ph


n t)

.\

Chia mng tri

Ton tHai ch
m

.^

Ly tha mng, ly tha tng ph


n tvi ph
n t

.'

Chuyn vmng

'

Chuyn vma trn - ma tr


n lin hp (MTLH phc)

Nhn (ma tr
n).
i stuy
n tnh.

Chia (ma trn), B/A B*inv(A), chnh xc hn B/A=(A'\B')

Chia (ma trn) tri. A\B ~ inv(A)*B

Ly tha ma trn

Bin trong Matlab

* V d:
>> 2^3-3
ans =
5
>> ans*6
ans =
30

- K
t quca php tnh thnh
t
c Matlab gn cho bi
n 'ans', bi
n ny
c s
d
ng cho php tnh thhai, qua
gi trc
a n
c thay
i (c gn l
i).
- Chng ta c thsdng tn ring do ta

t
lu cc gi tr
s
>> x = 2^3-3
x =
5
>> y = x*6
y =
30

t 'x' c gi trb
ng 5 v 'y' b
ng 30. Chng c th
c sdng cho nhng
tnh ton ti
p theo.
- y l cc v dvvcu l
nh gn: cc gi trc gn cho cc bi
n. C
n ph
i
gn mt gi trcho m
i bi
n trc khi sdng bi
n trong cu l
nh ti
p theo.
* Quy t
c
t tn bi
n:
- Tn bi
n hp lc
u t
o bi cc chv s, b
t

u b
ng ch. Nn
t tn bi
n
ph
n nh gi trm n
i di
n cho.
Cc tn sau hp l
:

- 16 -

Bi ging Tin ng dng 2 Matlab 7

Hsig, Let2try, Dhaluu, T1, V2, z25c5


Cc tn sau khng hp l
:
chu-ky, 2P, %x, @wru
- Chi
u di tn bi
n: M
c d tn bi
n c thc
di ty , nhng Matlab sch
sd
ng N k t

u tin c
a tn, v v
y cc bi
n khc nhau khng
c c N k
t
u tin
u ging nhau.
N = namelengthmax
N =
63

- B
n c thsdng hm 'isvarname' ki
m tra tnh hp lc
a tn bi
n. Hm tr
vgi tr1 n
u tn hp lv 0 n
u tn khng hp l
.
isvarname 8th_column
ans =
0

% Not valid - begins with a number

- Thng thng, tn bi
n khng phthuc vo chhoa - chthng. V th'xyz'
sgi
ng nh'xYz'.
- Trnh

t tn bi
n trng vi tn cc hm chu
n, ho
c cc tkha ca Matlab. V
nhv
y thng thng b
n skhng thsd
ng cc hm, tkha ca Matlab na.
VD: N
u b
n gn cho 1 bi
n tn l 'sqrt' mt gi tr
, th b
n skhng thsd
ng
hm c
n b
c hai (sqrt) na!
- Matlab

ng k trc r
t nhi
u tkha (xem b
ng l
nh 'iskeyword'):
'break' 'case' 'catch' 'continue' 'else' 'elseif' 'end' 'for' 'function'
'global' 'if' 'otherwise' 'persistent' 'return' 'switch' 'try' 'while'
v cc hm, xem danh sch trong Help/Functions/Categorical List); v cc h
ng
s
. Mt sh
ng sv hm thng d
ng c thxem mc 2.5 v 2.6.
2.3.

Cc kiu dliu -
nh dng kt qu

* Tng qut vcc ki


u dli
u:
- Matlab sd
ng 15 ki
u (lo
i) dli
u chnh. Mi mt ki
u dli
u ny

u
d
ng c
a m
t ma tr
n ho
c m
ng. Cc m
ng ho
c ma tr
n ny c kch ct
i thi
u
l 0-nhn-0 v c thpht tri
n ti m
ng n-chi
u vi kch cty .
- Ngoi ra cn c cc ki
u dli
u do ngi dng
nh ngh
a (thi
t l
p), ki
u
hng
i t
ng, v ki
u dli
u lin quan tiJava.

- 17 -

Bi ging Tin ng dng 2 Matlab 7

Hnh 2.1. Cc ki
u dli
u ca Matlab
*
nh d
ng k
t qu
:
- Sd
ng l
nh 'format' cng cc
nh d
ng. L
nh ny chlm thay
i cch m k
t
qu
c hi
n thtrn mn hnh, khng lm thay
i chnh xc ca sho
c
php tnh. H
u h
t cc php tnh sh
c c
a Matlab
c thc hi
n vi chnh
xc Double, ngh
a l chnh xc 16 chssau d
u ph
y th
p phn.
- thc hi
n lnh, td
u nh
c c
a ca sl
nh nh m
t trong cc l
nh sau:
format short

: d
u ph
y th
p phn c

nh, 5 chs

format long

: d
u ph
y c
nh, 15 chs

format short e

: k hi
u khoa h
c, 5 chs

format long e

: k hi
u khoa h
c, 15 chs

format short g

: d
u ph
y c
nh ho
c di
ng, 5 chs

format long g

: d
u ph
y c
nh ho
c di
ng, 15 chs

format hex

: format d
ng Hexa (h16)

format '+'

: dng (+), m (-), v k ttr


ng (blank) ng vi 0

format bank

: Dollars v cents

format rat

: tlxp xinteger

- Thng thng, 'format short' l d


ng m
c

nh. Khi
c g
i ln, mt d
ng
format sc hi
u lc ti khi n
c thay
i.
2.4.

Cc kiu dliu s& sphc

- Integer: v dnh-5 hay 9888.

- 18 -

Bi ging Tin ng dng 2 Matlab 7

- Double precision reals: Trong Matlab, t


t ccc sthc
c lu vi
chnh
xc double, khng gi
ng cc ngn ngl
p trnh khc nhC hay Fortran khi chc
mt lo
i ring bi
t float hay real*8 cho cc sthc vichnh xc single.
- Mt d
ng ng
n cc khi
u qucho vi
c nh
p cc sr
t ln ho
c r
t b l d
ng
-7
k hi
u 'e'. Ch
ng h
n -1.23456e-7 l d
ng ng
n ca -1.23456 x 10 ; v 8.76e+12
12
l d
ng vi
t ng
n ca 8.76 x 10 . V d
:
>> 1.23e-2
ans =
0.0123
>> 5e6
ans =
5000000

- Sphc:
c nh
p vo di d
ng 3+2*i ho
c 3+2*sqrt(-1).
- Chu
i: l m
t m
ng t
p hp c
a cc k t, c nh
p vo di d
ng 'abc' ho
c
'vi du day la mot chuoi'.
Trn
y l nhng ki
u dli
u cb
n m b
n sr
t thng dng trong kha hc
ny. bi
t danh sch

y
hn, b
n c thdng l
nh 'help datatypes' tca s
nh
p l
nh.
2.5.

Cc k t, Chui v Vn bn

- Khn
ng xl v
n b
n trong tnh ton r
t hu ch cho vi
c nh
p/xu
t k
t qu
t/ti mn hnh v file lu trn
a. c thqu
n l v
n b
n, mt lo
i dli
u l
'character' c a vo Matlab. M
t m
nh ca v
n b
n
n gi
n l m
t chui
(vect) hay mt mng cc k t.
VD:

>> t1='A'

sgn gi trA cho m


t m
ng k ttn 't1', kch thc 1 x 1.
>> t2='BCDE'

sgn gi trBCDE cho m


t m
ng k ttn 't2', kch thc 1 x 4.
- Cc chui c th
c c
ng vi nhau b
ng cch sd
ng cc ton tthao tc
trong m
ng.
VD:

>> t3=[t1, t2]

sgn gi trABCDE cho m


t m
ng k ttn 't3', kch thc 1 x 5.
>> t4=[t3, ' la 5 ky tu dau tien
'trong bang chu cai latinh.']

sgn gi tr

'ABCDE la 5 ky tu dau tien '


'trong bang chu cai latinh.'

cho mt m
ng k ttn 't4', kch thc 2 x 26.

- 19 -

';...

'

Bi ging Tin ng dng 2 Matlab 7

- C
n ch r
ng scc k thai dng ph
i b
ng nhau, n
u khng vi
c thc thi
cu l
nh trn sd
n ti mt li:
??? Error using ==> vertcat
All rows in the bracketed expression must have the same
number of columns.

- D
u ba ch
m '...' thhi
n r
ng cu l
nh cn ti
p tc dng sau.
* Chuy
n
i gia chui v s
- i khi chng ta c
n chuy
n m
t chui thnh m
t stng ng, ho
c ngc l
i.
Cc cng vi
c chuy
n
i ny c thc hi
n bi l
nh:
- 'str2num': chuy
n mt chui thnh stng ng
v hai l
nh:
- 'num2str': chuy
n mt sthc thnh chu
i t
ng ng
- 'int2str':

chuy
n mt chui thnh stng ng

- Nhng l
nh ny r
t hu ch trong vi
c t
o ra cc nhn v tiu mt cch t

ng, ch
ng h
n nh
2.6.

Cc hng sdng sn

Matlab

nh ngh
a s
n nhi
u hm sr
t hu ch, bao gm:
pi, = 3.141592654...
i v j, chai

u bng ph
n o ca sphc, = sqrt(-1)
inf, 'infinity' hay 'v cng'
NaN, 'not-a-number' hay 'khng ph
i l m
t s
'
ans, lun c gn cho k
t quc
a l
nh tnh trc

...
B
n nn trnh gn l
i gi trkhc cho cc h
ng snu trn n
u c th
. Chc mt
ngo
i ll i v j, v chai thng
c sdng nhcc chsc
a vng l
p. Vi
c
gn l
i gi trkhc cho cc h
ng sny l ch
p nh
n
c v sphc lun c th
thu c b
ng cch sdng sqrt(-1).
2.7.

Cc hm dng sn

- Cng nhnhng ngn ngb


c cao khc, Matlab thc thi cc 'function' (hm)
nhi
u hn 'procedure' (chng trnh con). Cc hm ny bao gm c
n b
c hai

- 20 -

Bi ging Tin ng dng 2 Matlab 7

(sqrt), ly tha (exp), logarit (log, log10, log2), gi trtuy


t
i (abs), v cc hm
lng gic (sin, cos, tan, atan,...). V d
:
>> sin(45)
ans =
0.8509

trk
t qub
ng sin c
a 45 radians... m thc ra
nh ca b
n l tnh sin c
a 450,
45
sb
ng 180 radians:
>> sin(45/180*pi)
ans =
0.7071

v ki
m tra l
i xem b
n c thu
c

2
nh

nh khng
2

>> sqrt(2)/2
ans =
0.7071

- Ch r
ng t
t ccc tnh ton c
a Matlab
u c l
i lm trn, m
i khi b
n l
i
th
y mtcch khng mong i. V d
, b
n khng nn ng
c nhin khi th
y
>> tan(pi)

ans =
-1.2246e-016

Nn nhr
ng li lm trn c m
t kh
p ni, v chng ta nn n gi
n ti
p nh
n
k
t quny nhtan()=0.
* Danh mc cc hm dng sn phbi
n:
Cc hm lng gic:
sin

- hm sin.

sind

- sin ca argument tnh theo


.

sinh

- sin hypecbolic.

asin

- arcsin, hay hm ngh


ch

o c
a hm sin.

asind

- hm ngh
ch
o ca hm sin, k
t qutheo
.

asinh

- hm ngh
ch
o ca hm sin hyperbolic.

cos

- hm cos.

cosd

- cos c
a argument tnh theo
.

cosh

- cos hyperbolic.

acos

- hm ngh
ch
o ca hm cos.

acosd

- hm ngh
ch
o ca hm cos, k
t qutheo
.

acosh

- hm ngh
ch
o ca hm cos hyperbolic.

- 21 -

Bi ging Tin ng dng 2 Matlab 7

tan

- hm tang.

tand

- tang ca argument tnh theo

tanh

- tang hyperbolic.

atan

- hm ngh
ch
o ca hm tang.

atand

- hm ngh
ch
o ca hm tang, k
t qutheo
.

atan2

- hm ngh
ch
o ca hm tang 4 gc ph
n t.

atanh

- hm ngh
ch
o ca hm tang hyperbolic.

cot

- hm ctang.

cotd

- ctang c
a argument tnh theo
..

coth

- ctang hyperbolic.

acot

- hm ngh
ch
o ca hm ctang.

acotd

- hm ngh
ch
o ca hm ctang, k
t qutheo
.

acoth

- hm ngh
ch
o ca hm ctang hyperbolic.

Cc hm ly tha:
exp

- hm m
.

expm1

- tnh chnh xc exp(x)-1.

log

- logarit cstnhin.

log1p

- tnh chnh xc log(1+x).

log10

- logarit cs10.

reallog

- loga cstnhin ca sthc.

realsqrt

- c
n b
c hai c
a mt s>= 0.

sqrt

- c
n b
c hai.

nthroot

- nghi
m thc b
c n ca cc sth
c.

Cc hm lin quan

n sphc:
abs

- gi trtuy
t
i.

angle

- gc pha.

complex

- xy dng dli
u vsphc tcc ph
n thc v
o.

conj

- lin hp ca phc.

imag

- ph
n
o ca phc.

real

- ph
n thc c
a phc.

isreal

- hm logic, trvgi tr'true' vi m


ng sthc.

- 22 -

Bi ging Tin ng dng 2 Matlab 7

cplxpair

- s
p x
p cc svcc c
p lin hp phc.

Cc hm lm trn v ph
n d:
fix

- lm trn vpha 0.

floor

- lm trn vpha m v cng.

ceil

- lm trn vpha d
ng v cng.

round

- lm trn vpha snguyn g


n nh
t.

mod

- m
un (l
y ph
n dca php chia).

rem

- l
y ph
n dc
a php chia (tng tmod)

sign

- hm l
y d
u c
a mt bi
n, trv+1, 0, -1 (+, 0, -).

V d:
mod([1

7],3)

ans =
1

2.8.

Cc php ton quan h

* Cc ton tquan h(so snh):


Ton t

C php

M t

<

A<B

Nhhn

<=

A <= B

Nhhn ho
c bng

>

A>B

Ln hn

>=

A >= B

Ln hn hoc b
ng

==

A == B

Bng

~=

A ~=B

Khng bng

* M t:
- Cc ton tquan hthc hi
n sso snh tng ph
n tvi ph
n tgia hai
m
ng. N cho k
t qul mt m
ng logic c cng kch c, vi cc ph
n tca
m
ng l
ng (1) n
u quan h
l ng, v ph
n tc
a m
ng l sai (0) n
u
khng ng.
- Cc ton t<, >, <=, and >= chsd
ng ph
n thc c
a cc ton h
ng cho php
so snh. Cc ton t== v ~= ki
m tra cph
n thc v ph
n
o. V d:

>> X = 5*ones(3,3)
X =
5

- 23 -

Bi ging Tin ng dng 2 Matlab 7


5

>> Y= [1 2 3; 4 5 6; 7 8 9]

Y =
1

>> X >= Y
ans =
1

K
t quc trvdi d
ng mt ma tr
n c cng kch thc vi ma tr
n X v
Y. Trong m
i ph
n tc gi tr1 (ng - true) ho
c 0 (sai - false) ty thuc vo
slogic c
a php so snh X>=Y.
2.9.

Cc php ton logic

- Matlab bi
u di
n
ng v sai bi cc snguyn t1 v 0:

ng = 1, sai = 0

(true = 1, false = 0)

- V dtrong qu trnh tnh ton, bi


n x (x l mt
i lng v h
ng) nh
n mt
gi trb
t k
, chng ta c thti
n hnh cc php ki
m tra logic cho n:
x == 2

xem x c b
ng 2 khng?

x ~= 2

xem x c khc 2 khng?

x>2

xem x c ln hn 2 khng?

x<2

xem x c nhhn 2 khng?

x >= 2

xem x c ln hn ho
c b
ng 2 khng?

x <= 2

xem x c nhhn ho
c b
ng 2 khng?

-
c bi
t ch ti cch vi
t trong Matlab l php ki
m tra b
ng nhau sd
ng
hai d
u b
ng vi
t li
n nhau = =.
V dchng ta c:
>> x = pi
x =
3.1416
>> x ~= 3
ans =
1
>> x ~= pi

- 24 -

Bi ging Tin ng dng 2 Matlab 7


ans =
0

- Khi X l mt vc thay ma tr
n, cc php ki
m tra ny s
c ti
n hnh cho
tng ph
n tc
a X.
V dmc trc (2.8), php ki
m tra xem X c ln hn ho
c b
ng Y hay khng
cho ta k
t qu
:

>> X >= Y
ans =
1

- Chng ta c thphi hp cc php ki


m tra logic, v d4 Y 6
>> Y>=4 & Y<=6
ans =
0
0
1
1
0
0

0
1
0

* Cc ton tlogic chnh trong Matlab v ngh


a ca chng

Ch
ng h
n nh

&

v (and)

hoc (or)

khng (not)

~=

ngh
a l khng b
ng

~(x>5)

ngh
a l x khng ln hn 5, n
u x=4 th php
ki
m tra ny scho k
t qu
ng (true), hay = 1

- M
t ng dng khc na ca cc php ki
m tra logic l ta c th
xa(hay b
qua) cc ph
n tnh
t

nh c
a mt ma tr
n:

khi tnh phn blu tc theo chi


u su (tnh ty knh), ta c thb
qua lp bin vi chi
u su nc z th
a mn i
u ki
n z <= delta (delta
l chi
u dy lp bin).

khi tnh t
n su
t vt qu mt ngng N no c
a chi
u cao sng
trong bsli
u o
c vsng vctH, ta c thki
m tra i
u ki
n
H(i) > N.

VD:
>> H = [4.7506
1.1557
3.0342
3.8105
2.2823
0.0925
>> N = 3;

>> kiemtra = H > N

kiemtra =

- 25 -

2.4299
4.1070

4.4565... (shift + )
2.2235];

Bi ging Tin ng dng 2 Matlab 7

1
0
1
0
>> H = H.* kiemtra

H =
4.7506 0 3.0342 0

4.4565

3.8105

4.1070

Nh
vctH by gichcn cha cc sli
u sng c chi
u cao ln hn
ngng 3m.
2.10. Kt hp nhiu lnh trn mt dng; n kt qutnh.
D
u ph
y (,) v d
u ch
m ph
y (;) l nhng k tc ngh
a

c bi
t trong
Matlab, v schng tl r
t hu ch.
* K
t hp nhi
u l
nh trn mt dng:
Ton tph
y (,) c dng
nhm nhi
u l
nh trn mt dng, v d:
>> x=3.5, y=-5.0, x3 y

x =
3.5000
y =
-5
ans =
47.8750

* n k
t qutnh (Surpessing output)
- Thng thng, chng ta khng mu
n theo di t
t ccc tnh ton trung gian, hay
ta mun
n
i m
t cu l
nh, m
t di
n gi
i. Khi
ta dng d
u ch
m ph
y (;). V
d
:
>> x=3.5; y=-5.0; x3 y

ans =
47.8750

Trong v dtrn, k
t quc
a hai l
nh gn
u tin

c
n
i.

- 26 -

Bi ging Tin ng dng 2 Matlab 7

3. CHNG III: VECT

3.1.

Gii thiu

-
i stuy
n tnh l tri tim v l ph
n h
n c
a Matlab. Trong thc tth ban
u
Matlab l tvi
t t
t c
a
matrix laboratory. V v
y hn b
t kngn ngno
khc, Matlab khuy
n khch v trng
i b
n t
n d
ng m
i khn
ng ca cc m
ng,
vctv ma tr
n.
* M
t vi thut ngtrong chng III (Vct) v IV (Ma trn):
- Mng l mt t
p hp cc s, c gi l cc ph
n t hay cc
u s
, c
bi
t
n vi m
t ho
c nhi
u chsch
y su
t cc t
p h
p chs
. Trong Matlab, cc
t
p hp chslun l chu
i snguyn tb
t

u b
ng 1.
- Schi
u c
a mt m
ng l scc chsc
n thi
t

nh ngh
a m
t ph
n ttrong
m
ng. Ch
ng h
n m
ng 2 chi
u sc
n 2 chsi v j

c trng cho mt ph
n t
ca m
ng.
- Kch thc c
a m
ng l mt danh sch cc kch th
c c
a cc t
p hp chs
, v
d
:
>> r = [1 2 3; -1 -2 -7]
r =
1
2
3
-1
-2
-7
>> size(r)
ans =
2
3

Ngh
a l kch thc c
a m
ng

sl 2x3 (2 hng, 3 c
t).

- Ma tr
n l mt m
ng hai chi
u (kch thc m x n vi cc quy lu
t

t bi
t cho
php cng, nhn v cc tnh ton khc. N

c trng cho mt sbi


n
i tuy
n
tnh vton h
c. Hai chi
u c
a ma tr
n l hng v ct (m hng v n ct).
- Vctl m
t ma tr
n m m
t chi
u chc chs=1. Cth
, m
t vcthng l
mt ma tr
n chc m
t hng (kch thc 1 x n), cn m
t vctct l m
t ma tr
n
chc mt ct (kch thc m x 1).
- M
c d khi ni
m m
ng t
ng qut hn v t tnh ch
t ton h
c hn m
t ma trn,
nhng hai thu
t ngny v
n thng
c dng l
n vi nhau. Hn na, Matlab

i khi khng c m
t sphn bi
t chnh thc no, thm ch l gia mt
i lng
v hng v m
t ma trn kch thc 1x1.
- Cc l
nh c thc s
p x
p theo sphn bi
t gia m
ng/ma tr
n, nhng
Matlab thng cho php b
n sdng chng l
n l
n m
t cch tho
i mi. tng

- 27 -

Bi ging Tin ng dng 2 Matlab 7

y (v b
t cchno khc) l Matlab mun gicho ngn ngc
a mnh n gi
n
v tnhin, b
n c thtmnh trnh khi cc r
c r
i.
- Cc ph
n tn ltrong ma tr
n c thc ti
p c
n v sa
i b
ng cch s
d
ng chsph
n t(subscripting). Trong Matlab, ph
n tthi ca vctV c
bi
u di
n b
ng k hi
u V(i), chs
c vi
t trong ngo
c
n. V d
:
>> V = [10 20 30]
V =
10
20
30
>> V(2)

ans =
20
>> V(2)=50

V =
10
50
30

- Sau y chng ta sxem xt l


n lt hai lo
i vctchnh trong Matlab: vct
hng v vctct.
3.2.

Vcthng

Vcthng l chu
i cc s
c phn cch bi d
u ph
y ho
c kho
ng trng. S
lng cc
u s
c g
i l chi
u di ca vct, v mi

u sthng c
nh
c

n nhph
n t
, ho
c
hp ph
nca vct. C php cb
n
nh
p1
vctl m
t chu
i cc gi tr
c bao trong c
p ngo
c vung [ ]. V d
:

>> v = [ 1 3 sqrt(5)]
v =
1.0000
3.0000
>> length(v)
ans =
3

2.2361

ho
c cch khai bo khc cho k
t qut
ng t, sd
ng cc d
u ph
y (, )
>> v = [1, 3, sqrt(5)]
v =
1.0000
3.0000

2.2361

- Trong v d

u tin, cc kho
ng trng
c dng phn cch cc ph
n tc
a
vct. Kho
ng trng (space) r
t quan tr
ng trong khi khai bo vct,
i
u ny c
thminh h
a b
ng skhc bi
t nhgia hai dng l
nh di y:
>> v2 = [3+ 4 5]
v2 =
7
5
>> v3 = [3 +4 5]
v3 =
3
4
5

- Nh c
p trn, chng ta c thxem ho
c thay
i gi trca nhng ph
n
tring bi
t c
a vct:

- 28 -

Bi ging Tin ng dng 2 Matlab 7


>> w(2) = -2, w(3)
w =
1
-2
3
ans =
3

3.3.

Vectct

Vctct c c
u t
o tng tnhvcthng. Khi

nh ngh
a vctc
t, cc ph
n
tc phn cch nhau bik t
; ho
c bi
newlines. V d
:
>> c = [ 1; 3; sqrt(5)]
c =
1.0000
3.0000
2.2361
>> c2 = [3
4
5]
c2 =
3
4
5
>> c3 = 2*c - 3*c2
c3 =
-7.0000
-6.0000
-10.5279

(shift + )
(shift + )

V dtrn cho th
y cc vctc
t c th
c c
ng ho
c trvi nhau n
u chng c
cng chi
u di.
3.4.

Ton thai chm ( : )

- Ton tny dng t


o ra vc thng m
t cch nhanh chng:
>> x = 1:4

x =
1 2 3 4
>> y = 3:7

y =
3 4 5 6 7
>> z = 1:-1

z =
Empty matrix: 1-by-0

- M
t cch t
ng qut th a : b : c st
o ra m
t vc tvi cc ph
n tb
t
u
tgi trc
a a, t
ng d
n vi bc t
ng b
ng gi trca b, cho t
i khi

t ti gi tr
ca c (skhng t
o ra m
t gi tr
vt qu c). i
u ny gi
i thch v sao 1:-1 t
o ra
mt vctrng [ ].
>> 0.32:0.1:0.6

ans =
0.3200 0.4200 0.5200
>> -1.4:-0.3:-2

ans =

- 29 -

Bi ging Tin ng dng 2 Matlab 7


-1.4000 -1.7000 -2.0000

- Ton t
: cn c dng
trch xu
t mt ph
n c
a vct. Githi
t chng ta
c vc t
>> r = [1:2:6, -1:-2:-7]
r =
1 3 5 -1 -3 -5 -7

th
trch ra cc ph
n ttth3

n th6 ta c thdng l
nh:
>> r(3:6)
ans =
5 -1 -3 -5

ho
c trch cc ph
n ttheo mt quy lu
t, ch
ng h
n:
>> r(1:2:7)
ans =
1 5 -3 -7

Hy xem r(1:2:7)
3.5.

cho

ta k
t qunhthno?

Lm vic vi vect& ma trn (mng)

* Cc php ton shc:


- Chng ta c thti
n hnh m
t sphp ton sh
c nh
t

nh (c
ng, tr) vi cc
vctc cng chi
u di. Matlab sbo l
i khi ta thc hi
n cc php ton ny vi
cc vctc kch thc (chi
u di) khc nhau. V d
:
v1 =
[1
2
3]
v2 =
[4
5
6]
>> v1+v2

ans =
5 7 9
>> v3=3*v1
v3 =
3 6 9
>> v4=2*v1-3*v2

v4 =
-10 -11 -12
>> v5=[10 11 12 13];

>> v4+v5
??? Error using ==> plus
Matrix dimensions must agree.

- M
t vc tcng c thnhn dc vi m
t
i lng v hng (mt s
), thao tc

c Matlab ti
n hnh vi tng phn t.
- ti
n hnh cc tnh ton cng lo
i (tnh ton v
i t
ng ph
n t): nhn, chia v
ly tha, Matlab a ra cc ton t .*, ./ v .^. V d
:
>> v1.*v2
ans =
4 10

18

- 30 -

Bi ging Tin ng dng 2 Matlab 7


>> v2./v1
ans =
4.0000

2.5000

2.0000

Ton tl
y tha c th
c sdng theo hai cch, vi l
y tha sv hng
ho
c l
y tha vct:
>> v2.^2
ans =
16 25 36
>> v2.^v1
ans =
4 25 216

L do Matlab c
n cc ton t
. ny sc lm r hn trong chng 5.
- .* thc ra c ngh
a c
a mt php nhn ma tr
n, tng ng vi .* cho cc vct.
T
t ccc hm sh
c dng s
n c
a Matlab
c thi
t k
ho
t
ng vi cc
vct(v ma tr
n), v v
y chng ta c thxy dng cc di
n gi
i

i sho
t
ng
vi tng ph
n tc
a vct.
x
y

VD: o
n m l
nh di y tnh ton gi trbi
u thc 2 x x 3 cos(. y )
theo-tng-ph
n-t. Tnh vi m
i mt ph
n ttrong vctx v y:
>> x = [1 2 3]; y = [4 5 6];

>> s = 2*sqrt(x) + x./y - x.^3.*cos(pi*y)


s =
1.2500
11.2284 -23.0359

Lu cc php tnh ca cc

i lng v hng trn cc vctkhc nhthno


vi cch lm vi
c ph
n tvi ph
n t, v d: 2 * sqrt(x) r rng l nhn sv
hng vi vct, trong khi x/y th khc, v v
y
y ta c
n ph
i sd
ng x./y
Ch : Cc php cng v trphn tv
i phn tlra cng phi sd
ng .+ v ., tuy nhin trong v dny th khng c
n thi
t.
* Ghp cc vct:
- C tht
o ra m
t vcttnhng vctc trc n
u nhkch thc ca chng
tng thch vi nhau, v d:
>> w = [1 2 3], z
>> cd = [2*z,-w],
w =
1 2 3
z =
8 9
cd =
16 18 -1 -2
ans =
-3 -2 -1 16

= [8 9]
sort(cd)

-3
18

- 31 -

Bi ging Tin ng dng 2 Matlab 7

Lu r
ng cu l
nh cu
i cng (sort) s
p x
p cc ph
n tc
a vcttheo chi
u t
ng
d
n. Ta cng c thsdng cc l
nh cat, vertcat, horzcat ghp n
i cc vct
(xem thm help).
* Cc l
nh cho thng tin vma tr
n (vc t):
size

kch thc theo m


i chi
u

length -

kch thc c
a chi
u di nh
t (
c bi
t l cho vct)

ndims -

schi
u

find

cc chsc
a cc ph
n tkhc 0

* Chuy
n vma tr
n:
Ta c thchuy
n
i mt vcthng thnh mt vctc
t (v ngc l
i) b
ng mt
qu trnh g
i l chuy
n v
k hi
u b
ng k t . Hy xem cc v dsau:
>> w, w', c, c'

w =
1 -2 3
ans =
1
-2
3
c =
1.0000
3.0000
2.2361
ans =
1.0000 3.0000 2.2361
>> t = w + 2*c'

t =
3.0000 4.0000 7.4721
>> T = 5*w'-2*c

T =
3.0000
-16.0000
10.5279

3.6.

Xl dliu vi cc hm dng sn cho vect& ma trn

(Xem thm Help v bi gi


ng trn lp)
* S
p x
p dli
u: sort
* Tm gi trln nht: max
* Tm gi trnhnht: min

- 32 -

Bi ging Tin ng dng 2 Matlab 7

* Tnh tng: sum


* Tm gi trtrung bnh: mean
* Tm l
ch qun phng: std

- 33 -

Bi ging Tin ng dng 2 Matlab 7

4. CHNG IV: MA TRN I S & TUYN TNH

4.1.

nh ngh
a v khi to ma trn

- Ma tr
n l d
ng c
u trc dli
u cb
n c
a Matlab. V nh c
p chng
trc, cc vctch
ng qua l nhng d
ng

c bi
t c
a ma tr
n c kch thc (1 x
n) ho
c (m x 1).
- Td
u nh
c ca ca snh
p l
nh,
nh l
nh help elmat v help
mt danh sch cc l
nh v hm lm vi
c vi ma tr
n trong Matlab.

matfun

- C php c
a vi
c

nh ngh
a v khi t
o ma tr
n r
t gi
ng vi nhng g b
n
th
y vi vct: cc kho
ng tr
ng (ho
c d
u ph
y) phn cch cc ph
n ttrong mt
hng, v cc d
u ch
m ph
y l k hi
u cho bi
t b
t

u m
t hng mi sau .
V dkhi b
n
nh:
>> A = [2 -1 0 0; 1 1 2 3; -1 4 0 5 ]

Matlab s
a ra k
t qu
A =
2

-1

-1

V bi
n A by gicha m
t ma tr
n 3x 4.
- Cc ph
n tn lc
a m
t ma tr
n c thc ti
p c
n v ch
nh sa theo cng
mt cch nhvi cc vct, l cung c
p cc chshng v c
t. V dl
nh
A(3,2) = 0 sthay

thgi trph
n tc
t 2 hng cui cng ca ma tr
n A thnh 0.

- C nhi
u l
nh
khi t
o m
t sd
ng ma tr
n
c bi
t, v d
zeros(n,m)

t
o ma tr
n vi t
t ccc ph
n t= 0

ones(n,m)

t
o ma tr
n vi t
t ccc ph
n t= 1

eye(n)

t
o ma tr
n n vkch thc n x n.

- khi t
o mt ma tr
n vung
c bi
t, b
n c thsdng d
ng ng
n zeros(n),
l
nh ny ng
m

nh r
ng shng v sc
t c
a ma tr
n l b
ng nhau.
4.2.

Mt sma trn c bit

* Cc l
nh dng
xy dng ma tr
n v m
ng:
eye

ma tr
n
n v

- 34 -

Bi ging Tin ng dng 2 Matlab 7

zeros -

ma tr
n vi t
t ccc ph
n t= 0

ones -

ma tr
n vi t
t ccc ph
n t= 1

diag

ma tr
n
ng cho (ho
c chch xu
t m
t ng cho)

toeplitz -

ma tr
n vi mi
ng cho b
ng 1 h
ng s

triu

ma tr
n tam gic trn

tril

ma tr
n tam gic di

rand

ma tr
n vi cc ph
n tng
u nhin (t-1
n 1)

linspace -

ma tr
n vi cc ph
n tcch

u nhau

cat

mc ni cc ma tr
n vi nhau theo mt chi
u

nh

repmat -

xy dng ma tr
n mi b
ng cch l
p m
t vc ttheo 1 chi
u
(ho
c nhi
u chi
u)

nh

Xem help
c hng d
n chi ti
t hn vcch sd
ng cc hm ny.
4.3.

Cc php ton vi tng phn ttrong ma trn

4.4.

Cc php ton vi ma trn

4.5.

Gii phng trnh i s

4.6.

Gii hphng trnh i stuyn tnh

4.7.

Tm nghim ca a thc

4.8.

Gii phng trnh phi tuyn

4.9.

Gii phng trnh vi phn

4.10. Cc lnh hu ch khc


inv(A), the matrix inverse,

det(A), the determinant of a matrix,

- 35 -

Bi ging Tin ng dng 2 Matlab 7


trace(A), the trace,

cond(A), the condition number,

norm(A), the matrix norm.

eig(A), _nds the eigenvalues and eigenvectors.

(Tng tnhphn vct- Xem thm Help v bi gi


ng trn lp)

- 36 -

Bi ging Tin ng dng 2 Matlab 7

5. CHNG V: SCRIPTS V FUNCTIONS (M-FILES)

5.1.

Gii thiu M-file

- Cc M-file l cc file ASCII (file text) bnh thng cha cc (cu) l


nh Matlab.
Mt
i
u thi
t y
u l cc file
c ph
n mr
ng l '.m' (VD: baitap2.m) v v l
do ny, chng thng c bi
t
n di ci tn cc m-files.
- C hai lo
i m-file: Script v Function. Cc Script v Function files c
ng ho
t

ng g
n nhcc Procedures v Functions trong cc ngn ngl
p trnh thng
d
ng khc.
- Vcb
n ni dung ca mt script file
c hi
u ging h
t nhkhi n
i dung

c g vo t
i d
u nh
c ca snh
p l
nh. Hi
u n gi
n th n chthc hi
n mt
chui cc cu l
nh ca Matlab. Tuy nhin trong th
c tnhi
u ngi dng a thch
sdng Matlab b
ng cch nh t
t ccc l
nh vo script file v ch
y (cc) file .
u i
m ca phng php sdng script l:
T
o ra v xem xt, ch
nh sa m
t chu
i nhi
u dng l
nh (th
ng l 4, 5
dng trln).
C thddng xem l
i ho
c thc hi
n l
i cng vi
c c
a b
n sau ny.
Ch
y cc tnh ton (cng vi
c)
i h
i cng cao c
a CPU trn n
n, x
l k
t quv lu l
i t
ng, cho php b
n log-off (lin quan ti UNIX).
5.2.

Bin son v thc thi M-file

- Bin so
n: Matlab cung c
p cho ta mt cng cbin so
n cc m-file kh tt,
l Matlab editor. Tuy nhin b
n c thtdo sd
ng cc ng d
ng so
n th
o khc
cho file text c
a Windows nhNotepad, Textpad...
- B
n c thkhi
ng Matlab Editor b
ng nhi
u cch: Tmenu File/New/M-file,
ho
c nh
n thp phm t
t
Ctrl N, hay cch nh
n vo nt New Doccument
trn thanh cng c
, cch
nh vo ca snh
p l
nh
edit v tn file (n
u file cha
tn t
i trong thm
c hi
n thi, Matlab sh
i b
n
kh
ng

nh r
ng b
n mun
t
o ra m
t file mi vi tn nhv
y)
- So
n th
o cc cu l
nh ca b
n v Save.
- bi
t trong thm
c hi
n t
i (current directory) c nhng m-file no, b
n c
thsd
ng l
nh
>> what

- 37 -

Bi ging Tin ng dng 2 Matlab 7

- xem n
i dung ca mt m-file, b
n nhy p vo file

mn ra ho
c

nh l
nh
>> type

tn_file

- Thc thi: c ththc thi mt m-file, n c


n ph
i tn t
i trong thmc hi
n
thi (xem c
a sCurrent Directory). B
n c thdi chuy
n gia cc thm
c trong
cng g
n gi
ng nhvi trnh duy
t Exprorer ca Windows, ho
c dng l
nh
editpath (path l
ng d
n
n thmc m Matlab stm ki
m file ).
- Bin d
ch: khng c
n thi
t bin d
ch chai lo
i M-file ca Matlab. Mun thc
hi
n cc l
nh cha trong file ny r
t n gi
n, b
n chc
n nh tn file (khng c
n
ph
n mr
ng '.m') td
u nh
c ca sl
nh . Cc ch
nh sa
ti
n hnh vi file v
ghi l
i vo
a s
c thc thi khi b
n g
i function hay script
l
n sau.
V dgi thc thi cc l
nh c trong file baitap2.m nhsau:
>> baitap2

Chc cc thng s
u ra s
c thhi
n trn mn hnh, chkhng ph
i b
n
thn cc cu l
nh.
- c thxem cc cu l
nh c trong file cng lc vi cc thng s

u ra, b
n

nh l
nh
>> echo on

v l
nh 'echo off' st
t chc n
ng ny.
5.3.

Ch thch (comments)

- Mt d
ng cu quan tr
ng trong M-file l cu ch thch, c b
t

u b
ng k t
ph
n tr
m (%). B
t cph
n text no sau k t'%' trn mt dng l
nh sc
Matlab bqua khng thc hi
n (trtrng hp k t% l mt ph
n c
a chui k
tgia hai d
u nhy
).
- M
c ch chnh ca tnh n
ng ny l cho php bsung cc cu ch thch
(comments) vo script file, m tr rng hn m
c
ch, tnh n
ng cc l
nh,
o
n,
vng l
p, bi
n...
- Hn na, kh
i cc cu ch thch

u tin trong mt M-file sho


t
ng nhmt
hng d
n sd
ng m-file c
a b
n, v shi
n ra ca snh
p l
nh khi b
n s
d
ng l
nh help + tn_m-file.
V d: gistrong file baitap2.m c
a b
n c ni dung sau:
% script nay giai quyet cac bai tap ve nha
% lien quan toi kien thuc chuyen nganh ky thuat bien
%
z= rand(1);

% muc nuoc bien

- 38 -

Bi ging Tin ng dng 2 Matlab 7


a=omega*t*sin(2*pi);

% bien do song...

Th khi mt ngi dng khc ngi vo my tnh c


a b
n, mun bi
t nhng thng
tin cb
n nh
t xem file baitap2.m vi
t vv
n g, hc thnh vo ca s
l
nh:
help baitap2

v k
t qunh
n
c sl
script nay giai quyet cac bai tap ve nha
lien quan toi kien thuc chuyen nganh ky thuat bien

5.4.

Cc hm m-file (function m-files)

- Trc tin chng ta c


n phn bi
t cc hm m-file v cc hm sdng s
n, hm
trong mt dng.

Hm dng s
n, VD nhsqrt( ), log( ), exp( ), sin( )...

Hm trong 1 dng (inline function): l cch n gi


n nh
t m ngi
dng c th

nh ngh
a mt hm, VD: Dng l
nh di y skhai bo
hm f ( x ) x.sin( x ) 2 v tnh gi trhm t
i x=5 b
ng cch chuy
n
hm ny cho l
nh inline c
a Matlab trong mt c
p d
u nhy :
>> f = inline('x*sin(x)+2'), f(5)
f =
Inline function:
f(x) = x*sin(x)+2
ans =
-2.7946

Hm vi m-file: Dng cho cc hm phc t


p hn, ch
ng h
n nhc
cha cc vng l
p, cu
i
u ki
n... b
n c
n dng m-file khai bo cc
hm
.

- Sau na chng ta c
n phn bi
t cc hm m-file v cc script-file:

Script m-file, nh
c
p ph
n tr
c, khng ph
i l mt hm. N
khng c cc tham s

u vo cng nh

u ra, v
n gi
n n chthc
hi
n m
t chui cc cu l
nh ca Matlab, v
i cc bi
n
c
nh ngh
a
trong khong gian lm vi
c.

Hm m-file khc vi script m-file chn c mt dng

nh ngh
a
hm, qua lin hgia cc tham s

u vo v
u ra.

Hm l cch chy
u pht huy khn
ng ca Matlab. So v
i cc script, cc hm
c khn
ng phn chia nhi
m vtt hn nhi
u.
Mt v dvhm trong Matlab c ththam kh
o bi t
p 4 (tnh di
n tch tam
gic), chng 8 trong gio trnh ny.

- 39 -

Bi ging Tin ng dng 2 Matlab 7

* Cc bc chnh c
n tun theo khi khai bo m
t hm trong Matlab l:
-
t tm cho hm, lu r
ng tn
khng c xung
t vi cc tn

c Matlab dnh trc. Trong v dny tn hm l dientich v v


y cc

nh ngh
a c
a n s
c lu trong mt file tn l dientich.m
-

Dng
u tin ca file ny c
n c d
ng thc nhsau:
function[cc outputs] = tn_hm(cc inputs)

L
y v dtrong bi ton c
a chng ta, bi
n

u ra S (di
n tch) l mt hm
sc
a cc bi
n
u vo a, b, c (l chi
u di c
a ba c
nh). Do
dng

u
tin ca m-file hm dientich sl:
function [S] = area(a,b,c)

- So
n th
o hng d
n sdng cho hm (khng b
t buc, xem thm ph
n
ch thch - Comments). M tng
n gn mc
ich c
a hm v lm thno

sd
ng n. Cc dng ny c
n b
t
u b
ng k t%, hay chnh l cc
dng ch thch m ta
c
p, v Matlab sbqua n khi thc thi hm.
- Cu
i cng v c
ng l quan trng nh
t: so
n th
o m l
nh thc thi ni
dung ca hm. i cng vi n
i dung ta c
ng c
n

y
cc cu ch thch

ngi dng khc c thhi


u
c qu trnh ta ang lm.
Mtm-file hm hon ch
nh c thtrng nhsau (theo v dtrn c
a chng ta)
function [A] = dientich(a,b,c)
% Tinh dien tich cua mot tam giac
% khi biet chieu dai 3 canh la a, b va c.
% Dau vao:
% a,b,c: Chieu dai cua cac canh
% Dau ra:
% A: Dien tich tam giac
% Cach su dung (cu phap):
% Dientichcantinh = dientich(2,3,4);
% Nguoi viet: Ng.Ba.Tuyen, 2007.
s = (a+b+c)/2;
A = sqrt(s*(s-a)*(s-b)*(s-c));
%%%%%%%%% ket thuc dientich %%%%%%%%%%%

Ta th
y r
ng ch thch
y kh

, v ngi dng sau c thddng hi


u

c ni dung c
ng nhcch sdng hm dientich b
ng cch
nh l
nh help
dientich tca snh
p l
nh, hng d
n thu c snhsau:
>> help dientich

Tinh dien tich cua mot tam giac


khi biet chieu dai 3 canh la a, b va c.
Dau vao:
a,b,c: Chieu dai cua cac canh
Dau ra:
A: Dien tich tam giac
Cach su dung (cu phap):
Dientichcantinh = dientich(2,3,4);
Nguoi viet: Ng.Ba.Tuyen, 2007.

Thsdng hm va l
p tnh di
n tch m
t tam gic khc:

- 40 -

Bi ging Tin ng dng 2 Matlab 7


>> dientich(4, 5, 7)
ans =
9.7980

Nhv
y chng ta
i qua cc bc cb
n tkhai bo m
t hm b
ng m-file,
so
n th
o n
i dung, m l
nh, v sdng hm. Hy sdng help
c hi
u bi
t
su hn vhm trong Matlab.
* Mt kha c
nh quan trng khc c
a hm M-file l h
u h
t cc hm xy dng
trong Matlab (trnhng hm li ton h
c)

u l cc M-file m b
n c th
c v
copy. y l mt cch r
t t
t h
c h
i, luy
n t
p lp trnh v cng l m
t m
o.
5.5.

Cu lnh rnhnh (if v switch)

- Thng thng mt hm c
n rnhnh ty theo cc i
u ki
n thc thi. Matlab
cung c
p cho ta cc cng c
lm vi
c ny cng nhh
u h
t cc ngn ngl
p
trnh khc.
* Cu l
nh if...elseif...else...end
- V dsau minh h
a h
u h
t cc tnh n
ng c
a if

if isinf(x) | isreal(x)
disp(So lieu dau vao xau!)
y = NaN;
elseif (x == round(x)) && (x > 0)
y = prod(1:x-1);
else
y = gamma(x);
end

- Ta th
y cc i
u ki
n cho cu l
nh if c thlin quan ti cc ton tquan h

c
p chng 2, c
ng c thlin quan ti cc hm cho ta gi trlogc (isinf,
~isreal...
ki
m tra xem x c ph
i l sv cng, hay x khng ph
i l sthc... ).
* Cu l
nh switch...case...case... case...otherwe...end
- Bcu l
nh if/elseif chhu ch trong trng hp chc m
t vi la chn. Cn
khi c m
t slng ln cc la ch
n khd
, thng thng ta dng switch thay
th
. V d
:
switch donvi
case Chieudai
disp(met)
case The tich
disp(lit)
case Thoi gian
disp(giay)
otherwise
disp(Toi chiu thua)
end

- 41 -

Bi ging Tin ng dng 2 Matlab 7

- Di
n gi
i c
a l
nh switch c thl m
t chu
i ho
c m
t s
. Trng hp
u tin
ph hp vi case th cc l
nh ca n s
c thc thi.
- C thsd
ng otherwise ho
c khng. Trong trng hp c sd
ng, th Matlab
thc thi cc l
nh sau otherwise n
u khng c trng hp no ph hp vi cc
case.
5.6.

Vng lp (for v while)

* Vng l
p for...end
-
c sd
ng khi ta mun l
p m
t o
n m l
nh cho m
t sl
n ty (thc ra ta
st dng

n n trong Matlab hn l trong cc ngn gnl


p trnh khc, bi v
Matlab cung c
p cho ta ton t:)
- V d, v
thsin(n..x) trong kho
ng -1x 1 vi cc gi trkhc nhau c
an
= 1, 2, ...8.
- Thc thi: Chng ta c tha ra 8 l
nh vring r
, nhng sddng hn nhi
u
n
u ta sdng m
t vng l
p. D
ng
n gi
n nh
t ca n sl
>> x = -1:.05:1;

>> for n = 1:8


(shift + )
subplot(4,2,n), plot(x,sin(n*pi*x))
end

(shift + )

T
t ccc l
nh gia hai dng b
t
u b
ng
for v k
t thc b
ng
end
u c
l
p
i l
p l
i vi n=1 l
n thnh
t, n=2 l
n th2... cho ti khi n=8.
L
nh subplot t
o ra m
t m
ng 4x2 ca s
thcon trong m
t
thchnh. l
n
l
p thn, mt hnh sc vln ca s
thcon thn.

Hnh v
: Minh ha cho vng lp for...end

* Vng l
p while...end

- 42 -

Bi ging Tin ng dng 2 Matlab 7

- c sd
ng khi b
n mu
n thc hi
n l
p i l
p l
i m
t o
n m l
nh ca
Matlab cho ti khi mt i
u ki
n (logic) no
c tha mn, nhng ta khng
thni trc n sc
n l
p bao nhiu l
n. Khi
chng ta c thsdng vng l
p
ny.
- V d
, tm gi trln nh
t ca n sao cho t
ng diy v
n nhhn 100?
12 2 2 3 2 ... n 2

- M l
nh cho Matlab thc thi nhi
m vtrn:
>> S = 1; n = 1;
>> while S+ (n+1)^2 < 100
n = n+1; S = S + n^2;
end
>> [n, S]

ans =
6
91

(shift + )
(shift + )

- V dkhc: Tm gi trg
n
ng c
a nghi
m ph
ng trnh x=cos(x) ?
5.7.

c dliu tfile v ghi ra file


(SV 45B khng h
c/cha hc ph
n ny)

- Nh
p dli
u trc ti
p tbn phm strnn khng th(khng thc t
) khi

Lng dli
u qu ln

Dli
u
c dng cho phn tch nhi
u l
n

Trong nhng trng hp ny th ngi sd


ng Matlab sch
n cch nh
p/xu
t d
li
u vifile dli
u.
- Hai l
nh save v load m ta hc chng 2 c
ng c chc n
ng ghi v
c gi
trca cc bi
n vo/t
a.
- Khi lm vi
c vi file dli
u, m
t i
u c
t y
u c
n lu l
nh d
ng ca d
li
u ph
i ng.
nh d
ng dli
u l cha kha quy
t
nh vi
c bin d
ch dli
u.
C hai d
ng file dli
u: formatted v unformatted (c
nh d
ng v khng
nh
d
ng).

File dli
u c
nh d
ng sd
ng cch
nh d
ng chui khai bo
chnh xc xem dli
u
c lu vtr no v nhthno.

File dli
u khng
nh d
ng th khc, n ch

nh r
nh d
ng c
a s.

Cch
n gi
n nh
t
h
c cch lm vi
c vi file dli
u l thng qua v dsau:
Gisdli
u d
ng sc lu trong file c tn table.dat trong thmc hi
n
hnh, dli
u nhsau
100

2256

- 43 -

Bi ging Tin ng dng 2 Matlab 7


200
300
400
500

4564
3653
6798
6432

3 l
nh sau
>> fid = fopen('table.dat','r');
>> a = fscanf(fid,'%3d%4d');
>> fclose(fid);

sl
n lt lm cc nhi
m v:

Mm
t file

c, vi
c ny c ch
nh b
ng chui
r, (r l vi
t t
t
ca read). Bi
n fid
c gn cho m
t gi trb
ng 1 snguyn tduy
nh
t,

c trng cho file ssdng (sny cn gi l schthc


a file).
Sau ny mi khi nh
c
n file ny chng ta ssd
ng schthfid.

c vo bnhtng c
p stfile (file c schthl fid), mt sc 3
chsv mt sc 4 chs
.

ng file (file c schthl fid).


Qu trnh ny t
o ra m
t vc tct cha cc ph
n t100 2256 200 4564 ...500
6432. Vctny c th
c chuy
n
i vma tr
n 5x2 b
ng l
nh:

A = reshape(2,2,5)';

.......... (lc bt) .............. (xem thm Help n


u c
n thi
t) ....................

6. CHNG VI: THDNG NG

6.1.

Biu din ng qu trnh

Trng hp
n gi
n nh
t l bi
u di
n sbi
n thin t
ng gi
m sli
u trong mt
dy. Ch
ng h
n vi dy sli
u mc nc z
o c ta c thbi
u di
n di d
ng

ng qu trnh nhsau:
z = [-0.05 0.18 0.28 0.33 0.19 0 -0.26 -0.35 -0.31 -0.22 0.05 0.14 0.31
0.38 0.18 0.09 -0.11 -0.20 -0.36 -0.11 0.08];1
plot(z)
L
nh plot(z) svbi
u
d
ng ng vi sli
u cho bi vec-tz. Trng hp
ny tr
c honh s
nh sthtl
n lt 1, 2,... i
u ny khng gip ch g trong
trng hp thng thng khi tr
c honh c
n bi
u thkho
ng cch khng gian ho
c
1 Ch r
ng
y xu
ng dng do h
n chbngang c
a ti li
u. Khi l
p trnh khng
n Enter v my s
hi
u nh
m z thnh m
t ma tr
n.

- 44 -

Bi ging Tin ng dng 2 Matlab 7

thi gian. Ch
ng h
n, n
u sli
u z v dtrn l mc nc o c t
i cc thi

i
m 0 s, 10 s, 20 s... (cch nhau 10 giy) th ta c thbsung m l
nh nhsau:
figure;
t = 0:10:200;
plot(t, z);
y l
nh figure c tc d
ng t
o ra m
t hnh mi.
Ch : Cc vec-tc
n vthng c r
t nhi
u ph
n t, v do
ta c
n dng d
u;
cui cu l
nh ng
n khng cho my hi
n l
i n
i dung ca ton bvec-t
.
Tm l
i vbi
u d
ng
ng ni chung ta theo 3 bc sau:
1) Pht sinh m
t vec-tcha cc t
a x ca cc i
m
2) Pht sinh mt vec-tcha cc t
a
y, c thl tsli
u s
n c, ho
c l mt
hm tnh tcc gi trtng ng ca x. Trong trng hp sau c
n lu php tnh
c
n
c p dng cho tng ph
n tmt.
3) Thc hi
n l
nh vplot(x, y)
Trong cc bi
u ta ph
i ghi tiu ca bi
u
v
i
n cc
i lng v n v
ln cc trc (x, y). C ththc hi
n vi
c ny b
ng cch:
title('Tiu
bi
u
')
xlabel('Tiu
trc x')
ylabel('Tiu
trc y')
Ch
ng h
n vi v dvm
u quan tr
c m
c n
c theo thi gian nhtrn ta c th
vi
t:
title('Qua trinh muc nuoc thuc do')
xlabel('t (s)')
ylabel('z (m)')2
K
t qubi
u
thu
c nhtrn Hnh 1. MatLab t
ng c
n ch
nh ph
m vi ca
trc tung v trc honh sao cho c thhi
n thton bsli
u c
n v
. Tuy v
y
trong m
t strng hp ta c
n thhi
n tng ph
n ca bi
u
, ho
c v tnh th
m
mm c thch
nh sa ph
m vi c
a cc tr
c. Cu l
nh nhsau:
2 V
y n
u mu
n c V(m3 ) th sao? Hy thV(m^3) xem!

- 45 -

Bi ging Tin ng dng 2 Matlab 7

axis([xmin xmax ymin ymax])


trong
:
xmin, xmax l
n lt l gii h
n tri v ph
i c
a trc honh
ymin, ymax l
n lt l gii h
n d
i v trn c
a trc tung.
Ta c
n nh
p c4 gi trni trn ca vec-tph
m vi tr
c. Ch
ng h
n khi mun
bi
u thmc nc chtrong kho
ng thi gian tt = 100 s

n t = 150 s, v h
n ch
cao
m
t nc t0
n 0.4 m, ta g l
nh:
axis([100 150 0 0.4])
Qua trinh muc nuoc thuc do
0.4

0.2

0.3
z (m)

z (m)

Qua trinh muc nuoc thuc do


0.4

-0.2

-0.4

0.2

0.1

50

100
t (s)

150

200

0
100

110

120

130

140

150

t (s)

Hnh 1: V dvbiu dng ng

Hnh 2: Biu dng ng sau khi ch


nh li
phm vi cc trc

xa ton bthhi
n thi, ta g l
nh:
clf
6.2. La chn mu v, nt v
Trng hp c nhi
u
ng nt vkhc nhau, ta nn phn bi
t b
ng nhng ki
u
v mu nt vkhc nhau. Nhng la ch
n ny c ngay trong cu l
nh plot.
plot(x, y, 'la ch
n')
Trong , la chn l m
t chu
i k tc 3 ph
n qui
nh nhsau:
md-vi m l m
t k tchmu v
, thng l ch
u ca tti
ng Anh tng ng
d l k hi
u
nh d
u cc i
m nt
-- l mt hay hai k tthhi
n ki
u nt v
V d:

- 46 -

Bi ging Tin ng dng 2 Matlab 7

plot(x, y, 'r') v
thnt vmu
(red). Khng c la ch
n ki
u nt vcth
,
do
my svki
u nt li
n (m
c

nh).
plot(x, y, 'g--') v
thnt vxanh lc (green). Nt v
c ch
n l ki
u nt t
(--).
plot(x, y, 'b*-') vthnt vxanh lam (blue). Nt vc ch
n l ki
u nt li
n
vi cc i
m d
u sao (*-).

Hnh 3: Ki
u nt vcng cc thuc tnh khc c thla chn
trc ti
p sau khi chn chEdit Plot v nhy phi chut
vo ng biu

Nhv
y c ththp cc ki
u mu v nt vkhc nhau, theo b
ng sau
y 3:
Mu v

i
m nt

Nt v

red,

nt li
n

d
u sao

green, xanh lc

--

nt t

d
u c
ng

blue, xanh lam

nt ch
m

hnh vung

black,
en

.-

nt ch
m g
ch ^

tam gic

3 Th
c ra ta c thl
a ch
n ki
u v nt vtrc ti
p trn bi
u
c
a MatLab b
ng cch ch
n Edit Plot
(ho
c nt
trn thanh cng c
) r
i nhy ph
i chu
t vo

ng c
n ch
nh v l
a ch
n Line Style (ki
u

ng), Line
Width (br
ng) ho
c Marker (ki
u
i
m nt) (xem Hnh 3).

- 47 -

Bi ging Tin ng dng 2 Matlab 7

Theo m
c

nh, khi c m
t ng mi c vra th
ng csbi
n m
t. v
nhi
u
ng trn cng mt bi
u ta c
n g l
nh:
hold on
trc khi vcc ng ti
p theo.
Ch
ng h
n ta c ththm mt
ng nt
t n
m ngang bi
u thmc nc b
ng 0
theo cch sau:
hold on; plot([0 200],[0 0],':');
B
n thn trn
ng m
c nc c ththm cc
i
m d
u *:
plot(t,z,'*-');
Qua trinh muc nuoc thuc do
0.4

0.2

0.2

z (m)

z (m)

Qua trinh muc nuoc thuc do


0.4

-0.2

-0.4
0

-0.2

50

100
t (s)

150

200

Hnh 4: Bi
u dng ng vi hai nt vc
ki
u khc nhau

-0.4
0

50

100
t (s)

150

Hnh 5: Bi
u c khung v ng dng

N
u mu
n ng khung thv t
o cc
ng dng ta l
n lt g vo cc l
nh:
box on
grid on
Ngc l
i, xa cc ng
ng khung v
ng dng, chc
n g:
box off
grid off
6.3. To cc ch thch, ch gii trn hnh v
Mt bi
u m
c d mang nhi
u thng tin nhng
i khi ta v
n mu
n lm r thm
b
ng nhng ch thch (thng l nhng nt vn gi
n b
ng tay v ch thch
b
ng ch). Ch
ng h
n, vi v dtrn ta mu
n chra trn bi
u
vtr mc nc

t cc

i (nhHnh 6). Cch lm c ththeo cc bc sau:


Vo menu Insert Ellipse, vm
t vng trn vo vtr

nh c
a ng qu
trnh

- 48 -

200

Bi ging Tin ng dng 2 Matlab 7

Vo menu Insert Text Box, v


ch ra mt khung chnh
t v g vo z max4
Vo menu Insert Arrow, v
ch m
i tn chtkhung chvo vng trn
Mu
n xa cc ch thch, chc
n ch
n
i tng c
n xa,
n Delete.

Qua trinh muc nuoc thuc do


0.4
z max

z (m)

0.2

-0.2

-0.4

50

100
t (s)

150

200

Hnh 6: Biu vi cc ch thch

* Ch gi
i (legend):
Khi c nhi
u
ng bi
u trn m
t th
, c
n c ch gi
i (legend)
phn bi
t
chng. Gisc
ng trn
thqu trnh mc nc trn, ta bsung thm mt

ng mc nc tnh ton
c tm hnh:
z2 =[0.05 0.2 0.34 0.38 0.28 0.08 -0.21 -0.35 -0.23 -0.18 0.11 0.22 0.4
0.45 0.2 0.13 -0.02 -0.11 -0.32 -0.02 0.09];
hold on; plot(t,z2,'-o');
title('Qua trinh muc nuoc tai N23');
Trn thanh cng c
,
n nt
(ho
c menu Insert Legend). Sau
hy nhy
p
ph
n ch gi
i mi xu
t hi
n, g vo tn ch gi
i c
n

t (Hnh 7).

4 Mu
n c z max, hy thg z_{max}. G z_max c

c khng, t
i sao?

- 49 -

Bi ging Tin ng dng 2 Matlab 7

Hnh 7: Ch
nh sa tn ch gii tng ng vi cc
ng qu trnh

6.4. Xa ng biu , lu biu


- N
u vsai mt
ng bi
u
no ta c thxa b
ng cch ch
n menu Tools
Edit Plot; ch
n ng bi
u

,
n Delete ho
c ch
n Delete trong danh mc khi
nhy ph
i chut trn Hnh 3.
- MatLab c thlu l
i bi
u
chng ta t
o ra, di d
ng nhi
u d
ng file
nh
chu
n hi
n nay: *.gif, *.png, *.jpeg, *.emf, *.eps v.v... Bn c
nh , MatLab cn
c m
t d
ng file ring g
i l *.fig, trong lu ton bthng tin ca cc
ng,
nt,
i
m... trn bi
u
. Do v
y m file fig chi ti
t hn
ng thi thng c kch
thc file ln.
- lu bi
u trong MatLab ta chn Menu File Save, sau nh
p tn cho file
hnh m ta mu
n lu. C
ng c thnh
n vo bi
u tng Save ( ) trn thanh cng
c. Ch ch
n ki
u file hnh (Save as type) thch h
p.
6.5. thLogarit
Trong mt strng h
p, cc thlogarit c
n
c sd
ng, ch
ng h
n bi
u

ng c
p ph
i h
t. Mun
t thang logarit vi tr
c honh ta chc
n thay tn l
nh
plot b
ng semilogx.
Ch
ng h
n ta c
n v
ng c
p phi h
t vi m
u bn ct sau:
ng knh
(mm)

Kh
i lng
(mg)

- 50 -

Bi ging Tin ng dng 2 Matlab 7

d < 0.15
0.15 < d < 0.21
0.21 < d < 0.30
0.30 < d < 0.42
0.42 < d < 0.60
0.60 < d
(Ton b
)

900
2900
16000
20100
8900
1200
50000

Trc khi vthhy tnh tlbn ct tng ng vi m


i kho
ng
ng knh v
tlc
ng d
n:
KhoiLuong = [900 2900 16000 20100 8900 1200];
TiLe = KhoiLuong / 50000;
Hm cumsum gip ta tnh c
ng d
n, ch
ng h
n:
>> cumsum(TiLe)
ans =
0.0180 0.0760 0.3960 0.7980 0.9760 1.0000
Ta c
n tnh tlP theo ph
n tr
m, cho nn:
P = cumsum(TiLe) * 100;
ng knh
(mm)
d < 0.15
0.15 < d < 0.21
0.21 < d < 0.30
0.30 < d < 0.42
0.42 < d < 0.60
0.60 < d
(Ton b
)

Kh
i
lng
(mg)
900
2900
16000
20100
8900
1200
50000

Tl
(%)
1.8
4.8
32.0
40.2
17.8
2.4
100

T
lc
ng
d
n
P (%)
1.8
7.6
39.6
79.8
97.6
100

ng knh
d (mm)
0.15
0.21
0.30
0.42
0.60
1

Sli
u dng v
thl hai c
t sau cng: tlc
ng d
n (P) v ng knh (d).
C P (%) kh
i lng bn ct m
n hn d (mm).
y
githi
t r
ng ng knh
ln nh
t b
ng 1 mm nhl gii h
n trn ca bi
u
.
d = [0.15 0.21 0.30 0.42 0.60 1];
title('Bieu do duong cap phoi hat');
xlabel('d (mm)');
ylabel('P (%)');
semilogx(d,P,'*-');
grid on; box on;

- 51 -

Bi ging Tin ng dng 2 Matlab 7


Bieu do duong cap phoi hat
100

P (%)

80
60
40
20
0

10
d (mm)

Hnh 8: V dvi biu c trc theo thang logarit

Cc thvi thang logarit trn tr


c y v trn c2 tr
c cng c thc hi
n tng
tvi cc cu l
nh l
n lt l semilogy v loglog.
6.6. Dy biu
B
ng l
nh figure ta c tht
o ra nhi
u hnh v
c l
p trn nhi
u ca s
. Tuy v
y,
nhi
u lc ta mu
n c m
t dy (ho
c b
ng) cc bi
u x
p kti
p nhau, c kch
thc b
ng nhau
ti
n vi
c so snh. MatLab htrhthng subplot (bi
u

nh) vi cu l
nh c d
ng chung nhsau:
subplot(m,n,k);

Hnh 9: Vtr cc bi
u trong dy to bng l
nh subplot

- 52 -

Bi ging Tin ng dng 2 Matlab 7

St
o ra mt b
ng gm (m n) bi
u
nh(m hng v n ct). Ti
p hnh thk
(tnh ttrn xu
ng di, tri qua ph
i) s
c kch ho
t v chu
n bc v
.
Ch
ng h
n, sau khi thc hi
n l
nh
subplot(2,3,4);
ta c k
t qunhHnh 8.
G
n hn na ta c thvi
t (trong trng hp m, n, k < 10):
subplot 234
Xt mt v dn gi
n: ta c
n vng qu trnh mc n
c (z) v v
n tc dng
ch
y (v) theo thi gian (t), nhng trn hai bi
u khc nhau. c s
i chi
u
vthi gian gia hai bi
u
ta nn x
p chng theo mt ct dc. Nhv
y m = 2 v
n = 1.
t = 0:5:100;
z = [-0.14 -0.08 -0.05 -0.04 0.01 0.07 0.15 0.23 0.25 0.37 0.4 0.45
0.55
0.6 0.66 0.76 0.82 0.91 1 1.03 1.14];
v = [0.84
0.89 0.91 0.89 0.91 0.88 0.92 0.97 0.97 0.97 0.99
1.02 0.96 1.03 0.98 1.04 1.04 1.11 1.04 1.12 1.16];
subplot 211
plot(t, z); xlabel('t (phut)'); ylabel('z (m)');
title('Duong qua trinh muc nuoc tai diem A1');
subplot 212
plot(t, v, 'g'); xlabel('t (phut)'); ylabel('v (m/s)');
title('Duong qua trinh luu toc tai diem A1');
K
t qunhtrn Hnh 7.5

5 MatLab cn c l
nh plotyy cho php hai tr
c tung v
i hai

i l

ng khc nhau (ch


ng h
n z v v) trn
cng m
t bi
u

- 53 -

Bi ging Tin ng dng 2 Matlab 7

Duong qua trinh muc nuoc tai diem A1


1.5

z (m)

1
0.5
0
-0.5

20

40

60
80
t (s)
Duong qua trinh luu toc tai diem A1

100

v (m/s)

1.4
1.2
1
0.8

20

40

60

80

t (s)

Hnh 10: Hai ng qu trnh trn hai subplot

- 54 -

100

Bi ging Tin ng dng 2 Matlab 7

7. CHNG VII: THKHNG GIAN


Trong kthu
t r
t c
n cc bi
u
khng gian. Thng g
p nh
t l cc bnh
(b
n

a hnh ca mt khu v
c nh). Bn c
nh , bi
u khng gian cn c
thc dng
bi
u di
n su
a hnh hay mt trng khng gian ni chung
(nhi
t
, kh p ...). Trong t
t ccc tr
ng hp ni trn, lun c m
t bi
n (z)

c bi
u di
n theo hai bi
n khng gian trn m
t

t (x, y).
7.1.

Cc dng cbn

Cc dng cbn

MatLab htrnhi
u phng php bi
u di
n sli
u; trong ti li
u ny ta lm quen
vi m
t slo
i cb
n, l:
M
ng mu (color patch)

ng
ng mc (contour)
Bm
t 3 chi
u (surface)
Hy b
t

u vi m
t v d
n gi
n l m phng

a hnh y bi
n c
a mt khu
vc gitng
c cho trong ma tr
n z. y bi
n ny c d
ng tng tnhm
t
c
t ngang cn b
ng (Dean) theo phng trnh:
z = - 0.1 y2/3
Vi trc x dc theo bi bi
n v trc y hng ra khi. Ta xt l
i t
a trn m
t
b
ng, cc
i
m nt li c ph
m vi 0 < x < 200, 0 < y < 200. Kho
ng cch gia
cc i
m nt li theo phng x l x = 10, theo phng y l y = 4. Ngh
a l ta

c
a t
t ccc
i
m nt li c d
ng:

0,0
10,0
200,0

0,4
10,4
200,4

x i , y i
=

0,200
10,200
200,200

L
nh meshgrid sgip ta lm
i
u :
[x, y] = meshgrid(0:10:200, 0:4:200);
(Mt l
n na c
n ch d
u ; cui cu l
nh, n
u khng r
t nhi
u con ssc
in ra mn hnh!)
L
nh meshgrid l
y hai thng s
: thng svec-tthnh
t l cc t
a trn trc x,
thng svec-tthhai l cc t
a
trn trc y. K
t quta
c mt ma tr
n cc

- 55 -

Bi ging Tin ng dng 2 Matlab 7

i
m trn mt vng hnh chnh
t (51 21) c cc t
a
tng ng dng tcc
vec-ttrn6. Sau
m
ng z s
c tnh tm
ng y theo cng thc Dean:
z = -0.1 * y .^ (2/3);
Trong c
n ch php tnh l
y tha cho tng ph
n t.

Cu l
nh n gi
n nh
t hi
n thm
ng
mu bi
u thz l:
pcolor(x, y, z)
B
ng mu m
c
nh c dng c tn l
7
jet. Ta c ththay b
ng mu ny b
ng
mt sb
ng mu khc, ch
ng h
n:
colormap(gray); pcolor(x, y, z);
C
n hi
n tn cc tr
c x v y theo cch
tng tnhta
lm vi bi
u
d
ng

ng:
xlabel('x(m)'); ylabel('y(m)');

Hnh 11: Bng mu bi


u th
a hnh y bin vi
mt ct ngang cn bng theo Dean

C thhi
n ththanh ch thch bn c
nh
b
ng mu b
ng l
nh:
colorbar
Vi
t thm dng chz(m) bn c
nh thanh chd
n mu ny b
ng cch Insert
Text Box. Xa b
ng bao c
a hnh chnh
t b
ng cch nhy ph
i chu
t Line
Style None.
Ch r
ng khi hi
n cc b
n
a hnh / b
n vm
t b
ng, trong h
u h
t cc
trng hp ta mu
n
t nhng tlb
ng nhau trn hai trc x v y. Khi
ta dng
l
nh:
axis equal;

6 x v y

u l ma tr
n 2 chi
u. Do cc
i
m trn l
i x
p theo hng nn ta nh
n th
y cc ph
n tgi
ng
nhau trn m
i c
t c
a x (cc
i
m c cng t
a
x); v t
ng t

i vi y.

0
0
x=

10 200
10 200

10 200

0
0 0
4
4 4
v y=

200 200 200

] [

7 B
ng mu jet m
c d r
c rnhng khng hi
u qukhi in tr
ng
en, thay vo
nn dng b
ng mu
gray.

- 56 -

Bi ging Tin ng dng 2 Matlab 7

Ti
p theo ta c khung c
a thl
i cho va vi b
ng mu 8:
axis tight;

V c
ng nh
i vi m
ng mu, ta c thc
n
ch
nh cc tr
c mt cch hp l:
axis equal tight;
xlabel('x(m)'); ylabel('y(m)');

-3

-3

140
-2.5

120

-2.5

-2.5

100
-2

-2

-2

-1.5

-1.5

-1.5

80
60

Cc
ng
ng mc c
a
y bi
n
xu
t
hi
n song song vi tr
c x, nhng c
n ph
i c
gi trstrn ng
ng mc:
clabel(C,h);

-3

160

y (m)

Bn c
nh cch dng bi
u
m
ng mu, cn
c thbi
u thdi d
ng
ng
ng mc.
Cch ny thng c dng vi cc b
n in
ln gi
y:
[C,h] = contour(x,y,z);9

40
-1

-1

-1

20
-0.5
00
0

50

-0.5
0

100
x (m)

-0.5
0
150

0
200

Hnh 12: ng ng mc bi
u din
a
hnh y bi
n vi mt ct theo Dean

Ta c
ng c thbi
u di
n
a hnh di d
ng khng gian (3 chi
u) sd
ng l
nh
surf ho
c mesh:
figure; surf(x, y, z);
figure; mesh(x, y, z);
Sau
hy sdng cng cxoay hnh b
ng cch
n nt Rotate 3D trn thanh
cng c(

).

8 Hai l
nh trn c th

c g
p l
i thnh m
t l
nh axis equal tight
9 Cch vi
t ny c vkhc vi cu l
nh thng th
ng, tuy nhin theo MatLab, cc l
nh v

u c thvi
t
d
i d
ng hm. Ch
ng h
n, hy g thl
nh zzz = plot(t, z). M
t khc, c g khc n
u ta g l
nh
clabel(contour(x,y,z)); ?

- 57 -

Bi ging Tin ng dng 2 Matlab 7

Hnh 13: Bi
u din mt ct Dean di dng
mt 3 chiu

Hnh 14: Biu din mt ct Dean di dng li


3 chi
u

7.2. Ch
nh cc vtr trong khng gian 2 chiu
Khi thhi
n dli
u khng gian b
ng m
ng mu, trong mt strng hp ta ph
i
chra nhng vtr tha mn m
t i
u ki
n no . Cch n gi
n nh
t l
nh d
u
chng b
ng nhng i
m ring.
Ch
ng h
n, hy chra cc vtr c z < -3
trong v dtrn. C hai bc nhsau:
Tm cc ch
s(i,j) trong ma tr
n c gi
trtha mn z(i,j) < -3
Ch
m cc i
m xc

nh bi x(i,j), y(i,j)
ln m
ng mu
ind = find(z < -3);
hold on;
plot(x(ind), y(ind), ... 'k.');
Hnh 15: nh du trn mng mu 2 chiu

7.3. Mt ct
a hnh
Trong nhi
u trng hp c
n bi
u di
n m
t m
t c
t
a hnh tbi
u
hai chi
u.
V tng qut hn, c thl phn bsu nc, p su
t, m
n, hay b
t k mt
bi
n
c trng no dc theo mt tuy
n xc
nh trn m
t b
ng.
Sli
u ca m
t c
t c l
y t1 ct (ho
c hng) tm
ng 2 chi
u tng ng.
Ch
ng h
n, m
t c
t c x = 100 m (tng ng vi c
t th11 (trong s21 c
t) trong
ma tr
n z):

- 58 -

Bi ging Tin ng dng 2 Matlab 7

ymc1 = y(11,:);
zmc1 = z(11,:);
plot(ymc1, zmc1, '*-');
xlabel('y (m)'); ylabel('z (m)');
7.4. Trng vct
Trong cc bi ton kthu
t thy
ng lc thng yu cu m phng trng dng
ch
y. Bi
u di
n dng ch
y trong khng gian 2 chi
u c htrr
t tt trong
MatLab b
ng cu l
nh:
quiver(x, y, u, v)
trong x, y l hai ma tr
n cha t
a
c
a t
t ccc i
m theo phng ngang
(thng
c pht sinh b
ng l
nh meshgrid); u v v l hai ma tr
n cha thnh
ph
n lu t
c c
a t
t ccc i
m (u l lu tc theo phng x, v l lu t
c theo
phng y).
Gistrong thm
c hi
n thi
c file data_u.txt v data_v.txt, m
i file cha
mt ma tr
n gi tru v v. Khi
, hai ma tr
n ny
c
c nhsau:
u = dlmread('data_u.txt');
v = dlmread('data_v.txt');
Gisu v v

c c kch th
c gi
ng nhau = s
i
m trn trc x si
m trn
trc y:
[sizex, sizey] = size(u);
Ta mu
n bi
u di
n ln hnh vi, ch
ng h
n, x = 10 m v y = 5 m:
dx = 10; dy = 5;
[x, y] = meshgrid(0:dx:(sizex 1)*dx, 0:dy:(sizey -1) * dy);
figure;
quiver(x, y, u, v);
xlabel('X(m)'); ylabel('Y(m)');
axis equal tight;

- 59 -

Bi ging Tin ng dng 2 Matlab 7

50

Y (m)

40
30
20
10
0
0

20

40

60

80

X(m)

Hnh 16: Biu di


n trng vec-t

- 60 -

Bi ging Tin ng dng 2 Matlab 7

8. PHN BI TP
Bi t
p s1:
Tnh ton sng theo sli
u sau:
o

T = 8 s, H = 2 m, = 30 .
o

Ggi trcho 3 bi
n T, Ho, alpha0.
Th Co.
Th L
o

M1 file disperse.m b
ng cch g>> edit disperse
Vi file mi mhy g vo ni dung sau:function [L] = disperse(h, Lo)
L = Lo;
err = Inf;
while err > 0.1;
Ltry = Lo * tanh(2*pi*h / L);
err = abs(Ltry - L);
L = Ltry;
end;
Ta
thi
t l
p
c hm tnh L tcc gi trh v Lo cho trc
Hy thi
t l
p mt vec-th cha su khc nhau: 3 m, 3.2 m, ..., 4 m. Tnh L t
i
cc su cho bih.
Th C tng
ng vi L
Tnh sin_alpha theo cng thc
sin= sin* C / Co(ch
n v
!)
o

Th alpha (dg l
nh asin)
Th Kr = sqrt(cos/ cos
)
o

Th Ksh theo cg thc Ksh =


Tnh H = Ho Ksh Kr
Ghi l
i cgi

trca H

- 61 -

Bi ging Tin ng dng 2 Matlab 7

Vi
t k
t qura file ketqua.txt

Bi t
p s2
Quan hgia v
n chuy
n bn ct S v lu tc u c quan hd
ng: S = aub . xc

nh cc hsa v b ng
i ta ti
n hnh th nghi
m v thu
c k
t qusau:
u (m/s)
0.2
0.35
0.57
0.68
0.81
0.96
1.12
S
(m3 /s.m)

0.0002

0.0018

0.0159

0.0282

0.0609

0.1258

0.2858

1) Hy nh
p cc gi tru v S vo hai vec-t, sau
tnh X v Y l logarit tng

ng c
a u v S.
2) Vth
i
m ca X v Y.
3) Hai h s a v b
c xc

nh b
ng cch da vo quan h
:
log S = log a + b log u, hay Y = b X + log a.
Sdng hm polyval
tnh b v log a trong phng trnh trn nhsau:
p = polyval(X, Y, 1)
Ph
n t

u c
a vec-tp chnh l b; ph
n tth2 ca p b
ng log a.
Hy tnh a.
4) V
th
ng th
ng: Y = b X + log a ln cng htrc vi cc
i
m ch
m
cu
2).
Bi t
p s3
1) Mt chui sli
u o

c v
n tc dng ch
y
c pht sinh bi:
t = 0:0.5:48;
N l dy sng
u nhin c chi
u di b
ng length(t)
u = 0.4 + 0.12 sin(2t / 24) + 0.05 N
2) Tnh
ng su
t ti
p t
i ven b, bi
t
0.5
C = 60 m /s
= g u 2 / C 2
Thi
t l
p subplot 3 hng 1 ct. Hai vng trn vhai thu ~ t, ~ t.
2
3) N
u bc thnh ph
n
t st vi ng su
t ti
p ti h
n
c = 0.65 N/m , hy ch
ra xem c bao nhiu thi i
m xu
t hi
n >
c.

- 62 -

Bi ging Tin ng dng 2 Matlab 7

4) Cng thc xi l
ng bc xc
nh bi:
Hy tnh kho
ng cch xi lE.
E = 10 (
u >
c) n
c
= 0
trng hp cn l
i
VE ~ t ln vng
thdi cng t
o bi subplot.

Bi t
p s4:
Cho vctX = [10 20 30]
v Y = [10 40 30].
1. Tnh di
n tch tam gic t
o bi 3
nh c ta
X(1)Y(1), X(2)Y(2),
X(3)Y(3).
2. T
ng qut hn, tnh di
n tch
a gic n c
nh (trn m
t ph
ng 2 chi
u) vi ta
xi v yi ca
nh thi cho bi ph
n tthi c
a vctX v Y tng ng (do
X
v Y l 2 vctc cng chi
u di = n).

LI GII
Bi t
p s1:
Hng d
n: t
o m
t script file c tn baitap1.m, so
n th
o ni dung d
i y, v
ghi l
i. Sau ch
y file ny, ta sthu c k
t qu
.
% baitap1
% Inputs:
T, H0, alpha0
% Outputs: C0, L0, L
%------------------------------------------------------------clear all;
g=9.81;
T=8;
H0=2;
alpha0=30;
%------------------------------------------------------------L0=g*T^2/(2*pi)
C0 = L0/T;
h=[3:0.2:4]
% n=length(h);
% for i = 1:n

- 63 -

Bi ging Tin ng dng 2 Matlab 7


%
L(i)=disperse(h(i), L0);
% end;
L = disperse(h,L0);

% Wave length

C=L/T
% Wave celerity
sin_alpha=sin(alpha0)/C0*C
alpha = asin(sin_alpha)
% arcsin
Kr=sqrt(cos(alpha0)./cos(alpha))
% Refraction coefficient
k=2*pi./L
% Wave number
Ksh=sqrt(1./tanh(k.*h)/(1+2*k.*h/sinh(2*k.*h))) % Shoaling coefficient
H=H0*Ksh.*Kr
% Wave height

Bi t
p s2:
Hng d
n: t
o m
t script file c tn baitap2.m, so
n th
o ni dung d
i y, v
ghi l
i. Sau ch
y file ny, ta sthu c k
t qu
.
(Bi ny lm theo cc bc nhtrn lp: tnh log(u), log(S), vln trc t
a
thng (khng vln tr
c loga v
y ta tnh gi trca loga r
i), v xc

nh
cc hsa, b c
a ng thng mtcch g
n
ng trn th
).

Bi t
p s3:
Hng d
n: t
o m
t script file c tn baitap3.m, so
n th
o ni dung d
i y, v
ghi l
i. Sau ch
y file ny, ta sthu c k
t qu
.
clear all;
t=0:0.5:48
N=rand(1,length(t));
u=0.4+0.12*sin(2*pi*t/24)+0.05*N
plot(N);
hold on;
plot(u,'+');
C=60;
Rho = 1000;
g=9.81;
To = Rho*g/C^2*u.^2
plot(t,To)
hold on
grid on
Toc = 0.65
10 * (To - Toc) .* (To > Toc) + 0 .* (To <= Toc)

Bi t
p s4:
Hng d
n: L
n lt thc hi
n cc b
c sau:
1. T
o mt script file c tn baitap4.m, so
n th
o n
i dung di
y, v ghi l
i.

- 64 -

Bi ging Tin ng dng 2 Matlab 7

function Sdagiac = dientich(x,y);


% Tinh dien tich da giac
n = length (x);
m = length (y);
if m ~=n
'Error: 2 vecto X va Y can co chieu dai bang nhau!'
else
Sdagiac = 0;
for i = 1:(n-1)
Sdagiac = Sdagiac + 0.5*(y(i)+y(i+1))*(x(i+1)-x(i));
end
Sdagiac = Sdagiac + 0.5*(y(n)+y(1))*(x(1)-x(n));
end

2. V
a ri ta
t
o ra m
t hm mi trong Matlab, vi tn l hm dientich. S
d
ng hm ny ta c thddng tnh
c di
n tch
a gic ni chung v tam gic
ni ring b
ng cch gi hm tca snh
p l
nh
>> dientich(X,Y)

Lu r
ng hm tnh di
n tch ng
m

nh r
ng 2 vc tX, Y y
cha sli
u
cho trc vta cc

nh c
a
a gic theo nhquy
c. H
n na, khi nh
p ta

ta
nh scc
nh t1

n n theo chi
u kim
ng h.
* tnh di
n tch tam gic S vi chi
u di 3 c
nh cho trc l a, b, c, b
n c th
ththu
t ton khc nhsau:
S p ( p a)( p b)( p c )

vi p=(a+b+c)/2 l mt na chu vi.

- 65 -

Bi ging Tin ng dng 2 Matlab 7

9. TI LIU THAM KHO:


1. Matlab R14 - Helps & Demos, The Mathworks, Inc., 2004
2. David F. Griffths, An introduction to Matlab, Department of MathematicsThe University of Dundee Sweden, 1996
3. John M. Stockie, A Whirlwind Tour of MATLAB for Students of CS 3113,
Department of Mathematics and Statistics, University of New Brunswick Canada, 2003
4. Bill Mason, Introduction to Matlab, Northeastern University - College of
Computer and Information Science USA, 2003.
5. Tobin A. Driscoll, Crash course in MATLAB, Department of Mathematical
Sciences - University of Delaware USA, 2006
6. Nguy
n Hong H
i & Nguy
n Vi
t Anh, Lp trnh Matlab v ng dng,
NXB Khoa hc v Kthu
t H Ni, 2005
7. Nguy
n Phng Quang, Matlab & Simulink dnh cho ks
i
u khi
n t

ng, NXB Khoa h


c & Kthu
t H N
i, 2006
8. Nguy
n Phng Th
o, Programming in Matlab, handouts, 2007
9. H. Thy Li, Matlab version 7.0 cb
n, Kha tin hc nng cao cho cn
bgi
ng dy c
a dn 95 bNN&PTNT, handouts, 2007
10. Knight A., Basics of MatLab and beyond, CRC Press, 2000
11. Timothy A. Davis & Kermit Sigmon, Matlab Primer, Chapman &
Hall/CRC
12. R. J. Braun, Beginning Matlab Exercises, Department of Mathematical
Sciences University of Delaware USA.

- 66 -

You might also like