You are on page 1of 78

KHOA CNG NGH IN T V TRUYN THNG

B MN CNG NGH K THUT MY TNH

BI GING
M PHNG V M HNH HA

THI NGUYN 2011


1

MC LC
MC LC ...................................................................................................................................... 2
CHNG I .................................................................................................................................... 4
GII THIU KIN THC M PHNG .................................................................................. 4
1.1. Mt s nh ngha c bn ..................................................................................................... 4
1.2. M hnh ha h thng........................................................................................................... 5
1.2.1. Vai tr ca phng php m hnh ha h thng............................................................ 5
1.2.2. Phn loi m hnh ha h thng .................................................................................... 7
1.3. Phng php m phng........................................................................................................ 9
1.3.1. S khi...................................................................................................................... 9
1.3.2. Bn cht ca phng php m phng ......................................................................... 10
1.3.3. Cc bc nghin cu m phng .................................................................................. 13
1.3.4 Mt s mi trng m phng thng gp.................................................................... 15
CHNG II................................................................................................................................. 16
MI TRNG MATLAB V CCH LP TRNH............................................................... 16
2.1 Gii thiu mi trng lm vic Matlab ............................................................................... 16
2.2 Cc hm ton ....................................................................................................................... 16
2.3 Tnh ton vi vector v ma trn........................................................................................... 17
2.3.1. Khai bo vector v ma trn.......................................................................................... 17
2.3.2. Tnh ton vi vector v ma trn................................................................................... 20
2.4 Cc php so snh v php ton Logic ................................................................................. 23
2.5 Bin, cu trc v trng ...................................................................................................... 24
2.5.1. Bin ............................................................................................................................. 24
2.5.2. Cu trc ....................................................................................................................... 25
2.5.3. Trng......................................................................................................................... 28
2.6 Qun l bin ........................................................................................................................ 29
2.7 R nhnh v vng lp .......................................................................................................... 31
2.7.1 Lnh r nhnh if v switch ........................................................................................... 31
2.7.2 Vng lp for v while ................................................................................................... 31
2.7.3 Gin on bng continue v break ............................................................................... 32
2.8 Cc scripts v cc hm ca Matlab...................................................................................... 34
2.8.1. Cc scripts ca Matlab................................................................................................. 34

2.8.2. Cc hm ca Matlab .................................................................................................... 35


2.9 Nhp xut d liu ................................................................................................................ 36
CHNG III ............................................................................................................................... 37
HA TRONG MATLAB..................................................................................................... 37
3.1 C s ho Matlab ........................................................................................................... 37
3.2 ho 2 chiu..................................................................................................................... 39
3.3 ho 3 chiu..................................................................................................................... 42
3.3.1 Cc lnh Plots ............................................................................................................... 42
3.3.2 Phi cnh trong ho 3-D.......................................................................................... 44
3.3.3 Nhp, xut v in ho................................................................................................ 44
CHNG IV ............................................................................................................................... 46
C S SIMULINK ..................................................................................................................... 46
4.1 Khi ng Simulink ............................................................................................................ 46
4.2 Cc thao tc c bn vi Simulink........................................................................................ 48
4.3 Tn hiu v cc loi d liu ................................................................................................. 50
4.3.1 Lm vic vi tn hiu.................................................................................................... 50
4.3.2 Lm vic vi cc loi s liu ........................................................................................ 51
4.4 Th vin Sources v Sinks .................................................................................................. 52
4.4.1 Th vin Sources.......................................................................................................... 52
4.4.2 Th vin Sinks.............................................................................................................. 58
4.5 Th vin Math ..................................................................................................................... 60
4.6 Khai bo tham s v phng php tch phn chun b cho m phng. ............................... 63
4.6.1 Khi ng v ngng m phng .................................................................................... 66
4.6.2 X l li........................................................................................................................ 68
4.6.3 Tp hp cc tham s trong Script ca Matlab.............................................................. 68
4.6.4 In m hnh Simulink..................................................................................................... 69
4.7 H thng con (Sub system).................................................................................................. 70
4.7.1 To h thng con .......................................................................................................... 70
4.7.2 Th vin signals v Subsystem .................................................................................... 71
4.7.3 Kch hot c iu kin cc h thng con ...................................................................... 74

CHNG I
GII THIU KIN THC M PHNG
1.1. Mt s nh ngha c bn
-

i tng (object) l tt c nhng s vt, s kin m hot ng ca

con ngi c lin quan ti.


-

H thng (System) l tp hp cc i tng (con ngi, my mc),

s kin m gia chng c nhng mi quan h nht nh.


-

Trng thi ca h thng (State of system) l tp hp cc tham s,

bin s dng m t h thng ti mt thi im v trong iu kin nht nh.


-

M hnh ( Model) l mt s phn nh i tng, con ngi dng

s nghin cu, thc nghim nhm tm ra quy lut hot ng ca i


tng hay ni cch khc m hnh l i tng thay th ca i tng gc
nghin cu v i tng gc.
-

M hnh ha (Modeling) l thay th i tng gc bng mt m

hnh nhm cc thu nhn thng tin quan trng v i tng bng cch tin hnh cc
thc nghim trn m hnh. L thuyt xy dng m hnh v nghin cu m hnh
hiu bit v i tng gc gi l thuyt m hnh ha.
Nu cc qu trnh xy ra trong m hnh ng nht (theo cc ch tiu nh
trc) vi cc qu trnh xy ra trong i tng gc th ngi ta ni rng m hnh
ng nht vi i tng. Lc ny ngi ta c th tin hnh cc thc nghim trn
m hnh thu nhn thng tin v i tng.
-

M phng (Simulation, Imitation) l phng php m hnh ha da

trn vic xy dng m hnh s (Numerical model) v dng phng php s


(Numerical method) tm cc li gii. Chnh v vy my tnh s l cng c hu
hiu v duy nht thc hin vic m phng h thng.
L thuyt cng nh thc nghim chng minh rng, ch c th xy dng
c m hnh gn ng vi i tng m thi, v trong qu trnh m hnh ha bao
4

gi cng phi chp nhn mt s gi thit nhm gim bt phc tp ca m hnh,


m hnh c th ng dng thun tin trong thc t. Mc d vy, m hnh ha
lun lun l mt phng php hu hiu con ngi nghin cu i tng, nhn
bit cc qu trnh, cc quy lut t nhin. c bit, ngy nay vi s tr gip c lc
ca khoa hc k thut, nht l khoa hc my tnh v cng ngh thng tin, ngi ta
pht trin cc phng php m hnh ha cho php xy dng cc m hnh ngy
cng gn vi i tng nghin cu, ng thi vic thu nhn, la chn, x l cc
thng tin v m hnh rt thun tin, nhanh chng v chnh xc. Chnh v vy, m
hnh ha l mt phng php nghin cu khoa hc m tt c nhng ngi lm
khoa hc, c bit l cc k s u phi nghin cu v ng dng vo thc tin
hot ng ca mnh.
1.2. M hnh ha h thng
1.2.1. Vai tr ca phng php m hnh ha h thng
a) Khi nghin cu trn h thng thc gp nhiu kh khn do nhiu nguyn
nhn gy ra nh sau:
- Gi thnh nghin cu trn h thng thc qu t.
V d: Nghin cu kt cu ti u, bn, kh nng chng dao ng ca
t, tu thy, my bay, ngi ta phi tc ng vo i tng nghin cu cc lc
ln n mc c th ph hy i tng t nh gi cc ch tiu k thut
ra. Nh vy, gi thnh nghin cu s rt t. Bng cch m hnh ha trn my
tnh ta d dng xc nh c kt cu ti u ca cc thit b ni trn.
- Nghin cu trn h thng thc i hi thi gian qu di.
V d: Nghin cu nh gi tin cy, nh gi tui th trung bnh ca h
thng k thut (thng thng tui th trung bnh ca h thng k thut khong 30
40 nm), hoc nghin cu qu trnh pht trin dn s trong khong thi gian 20
50 nm, Nu ch i qung thi gian di nh vy mi c kt qu nghin cu
th khng cn tnh thi s na. Bng cch m phng h thng v cho h thng
5

vn hnh tng ng vi khong thi gian nghin cu ngi ta c th nh gi


c cc ch tiu k thut cn thit ca h thng.
- Nghin cu trn h thc nh hng n sn xut hoc gy nguy him cho
ngi v thit b.
V d: Nghin cu qu trnh chy trong l hi ca nh my nhit in,
trong l luyn clanhke ca nh my xi mng ngi ta phi thay i ch cp
nhin liu (than, du), tng gim sn lng gi cp, thay i p sut trong l,
Vic lm cc th nghim nh vy s cn tr vic sn xut bnh thng, trong nhiu
trng hp c th xy ra chy, n gy nguy him cho ngi v thit b. Bng cch
m phng h thng, ngi ta c th cho h thng vn hnh vi cc b thng s,
cc ch vn hnh khc nhau tm ra li gii ti u.
- Trong mt s trng hp khng cho php lm thc nghim trn h thng
thc.
V d: Nghin cu cc h thng lm vic mi trng c hi, nguy him,
di hm su, di y bin, hoc nghin cu trn c th ngi, Trong nhng
trng hp ny dng phng php m phng l gii php duy nht nghin cu
h thng.
b) Phng php m hnh ha cho php nh gi nhy ca h thng khi
thay i tham s hoc cu trc ca h thng cng nh nh gi phn ng ca h
thng khi thay i tn hiu iu khin. Nhng s liu ny dng thit k h
thng hoc la chn thng s ti u vn hnh h thng.
c) Phng php m hnh ha cho php nghin cu h thng ngay c khi
cha c h thng thc
Trong trng hp ny, khi cha c h thng thc th vic nghin cu trn
m hnh l gii php duy nht nh gi cc ch tiu k thut ca h thng, la
chn cu trc v thng s ti u ca h thng ng thi m hnh cng c
dng o to v hun luyn.
6

Trong nhng trng hp ny dng phng php m phng m hnh ha l


gii php duy nht nghin cu h thng.
1.2.2. Phn loi m hnh ha h thng
C th cn c vo nhiu du hiu khc nhau phn loi m hnh. Hnh 1.1
biu din mt cch phn loi m hnh in hnh. Theo cch ny m hnh chia
thnh hai nhm: m hnh vt l v m hnh ton hc hay cn gi l m hnh tru
tng.

- M hnh vt l l m hnh c cu to bi cc phn t vt l. Cc thuc


tnh ca i tng phn nh cc nh lut vt l xy ra trong m hnh. Nhm m
hnh vt l c chia thnh m hnh thu nh v m hnh tng t. M hnh vt l
thu nh c cu to ging i tng thc nhng c kch thc nh hn cho ph
hp vi iu kin ca phng th nghim. V d, ngi ta ch to l hi ca nh
my nhit in c kch thc nh t trong phng th nghim nghin cu cc
ch thy vn ca p thy in. u im ca loi m hnh ny l cc qu trnh
vt l xy ra trong m hnh ging nh trong i tng thc, c th o lng quan
st cc i lng vt l mt cch trc quan vi chnh xc cao. Nhc im ca
m hnh vt l thu nh l gi thnh t, v vy ch s dng khi thc s cn thit.

- M hnh vt l tng t c cu to bng cc phn t vt l khng


ging vi i tng thc nhng cc qu trnh xy ra trong m hnh tng ng
vi qu trnh xy ra trong i tng thc. V d, c th nghin cu qu trnh dao
ng ca con lc n bng m hnh tng t l mch dao ng R-L-C v qu trnh
dao ng iu ha trong mch R-L-C hon ton tng t qu trnh dao ng iu
ha ca con lc n, hoc ngi ta c th nghin cu ng dy ti in bng m
hnh tng t l mng bn cc R-L-C. u im ca loi m hnh ny l gi thnh
r, cho php chng ta nghin cu mt s c tnh ch yu ca i tng thc.
- M hnh ton hc thuc loi m hnh tru tng. Cc thuc tnh c
phn nh bng cc biu thc, phng trnh ton hc. M hnh ton hc c chia
thnh m hnh gii tch v m hnh s. M hnh gii tch c xy dng bi cc
biu thc gii tch. u im ca loi m hnh l cho ta kt qu r rng, tng qut.
Nhc im ca m hnh gii tch l thng phi chp nhn mt s gi thit n
gin ha c th biu din i tng thc bng cc biu thc gii tch, v vy
loi m hnh ny ch yu c dng cho cc h tin nh v tuyn tnh.
- M hnh s c xy dng theo phng php s tc l bng cc chng
trnh chy trn my tnh s. Ngy nay, nh s pht trin ca k thut my tnh v
cng ngh thng tin, ngi ta xy dng c cc m hnh s c th m phng
c qu trnh hot ng ca i tng thc. Nhng m hnh loi ny c gi l
m hnh m phng. u im ca m hnh m phng l c th m t cc yu t
ngu nhin v tnh phi tuyn ca i tng thc, do m hnh cng gn vi i
tng thc. Ngy ny, m hnh m phng c ng dng rt rng ri.
C th cn c vo cc c tnh khc nhau phn loi m hnh nh: m
hnh tnh v m hnh ng, m hnh tin nh v m hnh ngu nhin, m hnh
tuyn tnh v m hnh phi tuyn, m hnh c thng s tp trung, m hnh c thng
s di, m hnh lin tc, m hnh gin on,
M hnh phi t c hai tnh cht c bn sau:
Tnh ng nht: m hnh phi ng nht vi i tng m n phn nh theo
nhng tiu chun nh trc.
8

Tnh thc dng: C kh nng s dng m hnh nghin cu i tng. R


rng, tng tnh ng nht trong m hnh phi a vo nhiu yu t phn nh
y cc mt ca i tng. Nhng nh vy nhiu khi m hnh tr nn qu phc
tp v cng knh n ni khng th dng tnh ton c ngha l mt i tnh
cht thc dng ca m hnh. Nu qu ch trng tnh thc dng, xy dng m hnh
qu n gin th sai lch gia m hnh v i tng thc s ln, iu s dn
n kt qu nghin cu khng chnh xc. V vy, ty thuc vo mc ch nghin
cu m ngi ta la chn tnh ng nht v tnh thc dng ca m hnh mt cch
thch hp.
1.3. Phng php m phng
1.3.1. S khi
Cc m hnh s khi gm hai i tng, cc ng dy tn hiu v cc
khi. Chc nng ca ng dy tn hiu l truyn dn tn hiu, hoc gi tr, t
im gc ban u ca n (thng l mt khi) ti im kt thc (thng l mt
khi khc). Hng ca dng tn hiu c xc nh bi mi tn trn ng tn
hiu. Mt hng ch c xc nh cho mt ng tn hiu, ton b cc tn hiu
truyn trn cc nhnh khc phi theo hng ring. Mi khi l mt thnh phn x
l tc ng ti tn hiu v tham s u vo to ra tn hiu u ra. Bi v cc
khi chc nng c th l phi tuyn cng nh tuyn tnh nn tp hp cc khi chc
nng ring v thc t l khng gii hn v hu nh khng bao gi c s ging
nhau gia cc nh cung cp v ngn ng ca khi chc nng. Tuy nhin, mt s
ba khi c bn phi c thit lp cc ngn ng s khi c im chung.
Cc khi ny l nt cng, khi khuch i v b tch phn. Mt h thng kt hp
cht ch ba khi c m t nh Hnh 1.2.

R +
_
+

Nt cng

B khuch i

B tch phn

Hnh 1.2: V d v mt h thng 3 khi


1.3.2. Bn cht ca phng php m phng
Phng php m phng c th nh ngha nh sau:
M phng l qu trnh xy dng m hnh ton hc ca h thng thc v sau
tin hnh tnh ton thc nghim trn m hnh m t, gii thch v d on
hnh vi ca h thng thc.
Theo nh ngha ny, c ba im c bn m m phng phi t c. Th
nht l phi c m hnh ton hc tt tc l m hnh c tnh ng nht cao vi h
thc ng thi m hnh c m t r rng thun tin cho ngi s dng. Th hai
l m hnh cn phi c kh nng lm thc nghim trn m hnh tc l c kh nng
thc hin cc chng trnh my tnh xc nh cc thng tin v h thc. Cui
cng l kh nng d on hnh vi ca h thc tc l c th m t s pht trin ca
h thc theo thi gian.
Phng php m phng c xut vo nhng nm 80 ca th k 20, t
n nay phng php m phng c nghin cu, hon thin, v ng dng
thnh cng vo nhiu lnh vc khc nhau nh lnh vc khoa hc k thut, khoa
hc x hi, kinh t, y t, Sau y trnh by mt s lnh vc m phng php m
phng c ng dng v pht huy c u th ca mnh.
-

Phn tch v thit k h thng sn xut, lp k hoch sn xut.

nh gi phn cng, phn mm ca h thng my tnh.

Qun l v xc nh chnh sch s tr mua sm vt t ca h thng kho vt


t, nguyn liu.
10

Phn tch v nh gi h thng phng th qun s, xc nh chin lc


phng th, tn cng.

Phn tch v thit k h thng thng tin lin lc, nh gi kh nng lm vic
ca mng thng tin.

Phn tch v thit k cc h thng giao thng nh ng st, ng b,


hng khng, cng bin.

nh gi, phn tch v thit k cc c s dch v nh bnh vin, bu in,


nh hng, siu th.

Phn tch h thng kinh t, ti chnh.


Phng php m phng c ng dng vo cc giai on khc nhau ca

vic nghin cu, thit k v vn hnh cc h thng nh sau:


+ Phng php m phng c ng dng vo giai on nghin cu, kho
st h thng trc khi tin hnh thit k nhm xc nh nhy ca h thng i
vi s thay i cu trc v tham s ca h thng.
+ Phng php m phng c ng dng vo giai on thit k h thng
phn tch v tng hp cc phng n thit k h thng, la chn cu trc h
thng tha mn cc ch tiu cho trc.
+ Phng php m phng c ng dng vo giai on vn hnh h thng
nh gi kh nng hot ng, gii bi ton vn hnh ti u, chn on cc trang
thi c bit ca h thng.
Qu trnh m hnh ha c tin hnh nh sau: Gi h thng c m
phng l S. Bc th nht ngi ta m hnh ha h thng S vi cc mi quan h
ni ti ca n. thun tin trong vic m hnh ha, ngi ta thng chia h S
thnh nhiu h con theo cc tiu ch no S = S1, S2, S3, , Sn. Tip n ngi
ta m t ton hc cc h con cng cc quan h gia chng. Thng thng gia cc
h con c mi quan h trao i nng lng v trao i thng tin. Bc th hai
ngi ta m hnh ha mi trng xung quanh E, ni h thng S lm vic, vi cc
11

mi quan h tc ng qua li gia S v E. Khi c m hnh ca S v E, ngi ta


tin hnh cc thc nghim trn m hnh, tc l cho S v E lm vic mt iu
kin xc nh no . Kt qu ngi ta thu c mt b thng s ca h thng,
hay thng gi l xc nh c mt im lm vic ca h thng. Cc thc
nghim c lp li nhiu ln v kt qu m phng c nh gi theo xc sut
thng k. Kt qu m phng cng chnh xc nu s ln thc nghim, cn gi l
bc m phng cng ln. V l thuyt bc m phng l hu hn nhng phi
ln v ph thuc vo yu cu ca chnh xc.
Hnh 1.3 trnh by qu trnh nghin cu bng phng php m phng v
quan h gia h thng thc vi kt qu m phng.

Hnh 1.3 Qu trinh nghin cu bng phng php m phng


Nhn vo hnh 1.3 ta thy rng nghin cu h thng thc ta phi tin
hnh m hnh ha tc l xy dng m hnh m phng. Khi c m hnh m phng
s tin hnh lm cc thc nghim trn m hnh thu c cc kt qu m phng.
Thng thng kt qu m phng c tnh tru tng ca ton hc nn phi thng
qua x l mi thu c cc thng tin kt lun v h thng thc. Sau dng cc
thng tin v kt lun trn hiu chnh h thc theo mc ch nghin cu ra.

12

1.3.3. Cc bc nghin cu m phng

Hnh 1.4 Cc bc nghin cu m phng


Khi tin hnh nghin cu m phng thng thng phi thc hin qua 10
bc nh c biu din bi lu nh hnh 1.4.
Bc 1: Xy dng mc tiu m phng v k hoch nghin cu.

13

iu quan trng trc tin l phi xc nh r mc tiu nghin cu m


phng. Mc tiu c th hin bng cc ch tiu nh gi, bng h thng cc
cu hi cn c tr li.
Bc 2: Thu thp d liu v xc nh m hnh nguyn l.
Ty theo mc tiu m phng m ngi ta thu thp cc thng tin, cc d liu
tung ng ca h thng S v mi trng E. Trn c s xy dng m hnh
nguyn l Mnl, m hnh nguyn l phn nh bn cht ca h thng S.
Bc 3: Hp thc ha m hinh nguyn l Mnl
Hp thc ha m hnh nguyn l l kim tra tnh ng n, hp l ca m
hnh. M hnh nguyn l phi phn nh ng bn cht ca h thng S v mi
trng E nhng ng thi cng phi tin dng, khng qu phc tp cng knh.
Nu m hnh nguyn l Mnl khng t phi thu thp thm thng tin, d liu tin
hnh xy dng li m hnh.
Bc 4: Xy dng m hnh m phng Mmp trn my tnh.
M hnh m phng Mmp l nhng chng trnh chy trn my tnh. Cc
chng trnh ny c vit bng cc ngn ng thng dng nh FORTRAN,
PASCAL, C++, hoc cc ngn ng chuyn dng m phng nh GPSS,
SIMSCRIPT,
Bc 5: Chy th
Sau khi ci t chng trnh, ngi ta tin hnh chy th xem m hnh m
phng c phn nh ng cc c tnh ca h thng S v mi trng E hay khng.
giai on ny cng tin hnh sa cha cc li v lp trnh.
Bc 6: Kim chng m hnh
Sauk hi chy th ngi ta c th kim chng v nh gi m hnh m
phng c t yu cu hay khng, nu khng phi quay li t bc 2.
Bc 7: Lp k hoch th nghim
14

bc ny ngi ta phi xc nh s ln th nghim, thi gian m phng


ca tng b phn hoc ton b m hnh. Cn c vo kt qu m phng ( bc 9),
ngi ta tin hnh hiu chnh k hoch th nghim t c kt qu vi
chnh xc theo yu cu.
Bc 8: Th nghim m phng
Cho chng trnh chy th nghim theo k hoch c lp bc 7.
y l bc thc hin vic m phng, cc kt qu ly ra t bc ny.
Bc 9: X l kt qu
Th nghim m phng thng cho nhiu d liu c tnh thng k xc sut.
V vy, c kt qu cui cng vi chnh xc theo yu cu, cn phi thc hin
vic x l cc kt qu trung gian. Bc x l kt qu ng vai tr quan trng trong
qu trnh m phng.
Bc 10: S dng v lu tr kt qu.
S dng kt qu m phng vo mc ch nh v lu gi di dng cc
ti liu c th s dng nhiu ln.
1.3.4 Mt s mi trng m phng thng gp
- Matrix/ System Build
- Easy 5
- Matlab/ Simulink
- LabView
- VisSim

15

CHNG II
MI TRNG MATLAB V CCH LP TRNH
2.1 Gii thiu mi trng lm vic Matlab

2.2 Cc hm ton
Chng trnh Matlab c sn rt nhiu hm ton tp hp trong bng sau y.
xem k hn, c th s dng cc lnh help elfun hoc help datafun. Tt c cc
hm trong bng u c kh nng s dng tnh vi vector.
Cc hm ton
sqrt(x)

Cn bc hai

rem(x, y) S d ca php chia x/y

exp(x)

Hm m c s e

round(x) Lm trn s

log(x)

Logarithm t nhin

ceil(x)

Lm trn ln

log10(x) Logarithm c s thp phn

floor(x)

Lm trn xung

Gi tr tuyt i

sum(v)

Tng cc phn t vector

abs(x)

16

sign(x)

Hm du

prod(v)

Tch cc phn t vector

real(x)

Phn thc

min(v)

Phn t vector b nht

imag(x)

Phn o

max(v)

Phn t vector ln nht

mean(v)

Gi tr trung bnh cng

phase(x) Gc pha ca s phc

Cc hm lng gic
Hm arctg 900

sin(x) Hm sin

atan(x)

cos (x) Hm cos

atan2(x) Hm arctg 1800

tan(x) Hm tg

sinc(x)

Hm sin (pi x)/(pi x)

2.3 Tnh ton vi vector v ma trn


2.3.1. Khai bo vector v ma trn
Matlab c mt s lnh c bit khai bo hoc x l vector v ma trn.
Cch n gin nht khai bo, to nn vector hoc ma trn l nhp trc tip. Khi
nhp trc tip, cc phn t ca mt hng c cch bi du phy hoc v tr cch
b trng (trong cc trng hp khc Matlab s b qua v tr trng, cc hng ngn
cch bi du (;) hoc ngt dng.
V d:
>> my_vector = [2 3 4]
my_vector =
2

>> my_matrix = [my_vector; 5 6 7]


my_matrix =
2

7
17

Vector c cc phn t tip din vi mt bc i nht nh, c th c


nhp mt cch n gin nh ton t (:) nh sau:
Start: increment: destination
Nu ch nhp start v destination th Matlab s t ng t increment l +1.
V d:
>> my_vector = (1:3:8)
my_vector =
1

>> my_vector1 = (1:8)


my_vector1 =
1

Cng c th nhp cc vector tuyn tnh cng nh vector c phn hng


logarithm bng cch dng lnh:
linspace(start, destination, number)
logspace(start, destination, number)

i vi logspace th start v destination c nhp bi s m thp phn,


v d: 100 = 102 ta ch cn nhp 2.
V d:
>> linspace(1,7,3)
ans =
1

>> logspace(1,3,5)
ans =
1.0e+003 *

18

0.0100

0.0316

0.1000

0.3162

1.0000

Bng cc hm ones(line, column) v zeros(line, column) ta to cc ma


trn c phn t l 0 hoc 1. Hm eye(line) to ma trn n v, ma trn ton
phng vi cc phn t 1 thuc ng cho, tt c cc phn t cn li l 0. Kch
c ca ma trn hon ton ph thuc ngi nhp.
V d:
>> ones(2,2)
ans =
1

>> zeros(2,2)
ans =
0

>> eye(3)
ans =
1

Vic truy cp tng phn t ca vector hoc ma trn c thc hin bng
cch khai bo ch s ca phn t, trong cn lu rng: Ch s b nht l 1 ch
khng phi l 0. c bit, khi cn xut tng hang hay tng ct, c th s dng
ton t (:) mt cch rt li hi. Nu du (:) ng mt mnh, iu y c ngha l:
Phi xut mi phn t thuc hng hay ct.
V d:
19

>> my_matrix(2,3)
ans =
7

Matlab c mt lnh rt hu ch, phc v to ma trn vi chc nng tn hiu


th, l rand(line, column). Khi gi, ta thu c ma trn vi phn t mang cc
gi tr ngu nhin.
V d:
>> rand (2,3)
ans =
0.9501

0.6068

0.8913

0.2311

0.4860

0.7621

2.3.2. Tnh ton vi vector v ma trn


Nhiu php tnh c th c p dng cho vector v ma trn.
-

Cc php tnh vi tng phn t: .*


>> [2 3 4] .* [1 2 3]
ans =
2

12

>> [2 3 4] .^ [1 2 3]
ans =
2

64

Chuyn v ma trn matrix:


transpose (maxtrix) hoc matrix.
>> transpose (my_matrix)
ans =

20

./

.^

Chuyn v ma trn matrix c phn t phc lin hp:


ctranspose (maxtrix) hoc matrix

(i vi cc gi tr thc, hai lnh trn cho ra kt qu nh nhau)


>> matrix = [1+i 1-i;2 3]
maxtrix =
1.0000 + 1.0000i

1.0000 - 1.0000i

2.0000

3.0000

>> ctranspose(matrix)
ans =

1.0000 - 1.0000i

2.0000

1.0000 + 1.0000i

3.0000

o ma trn:
inv(matrix)
>> matrix = [1 2;4 9]
matrix =

Tnh nh thc ca ma trn:


det(matrix)
>> det(matrix)
ans =
21

Tnh cc gi tr ring ca ma trn:


eig(matrix)
>> eig(matrix)
ans =
0.1010
9.8990

Xc nh hng ca ma trn:
rank(maxtrix)
>> rank (my_matrix)
ans =
2

Tnh vector sai phn:


diff(vector [n])
>> vector= [1 2 3]
vector =
1

>> diff(vector)
ans =
1

Chp vector (nhn a thc): nu hai vector cn chp c s phn t l cc h

s ca hai a thc, kt qu thu c s ng vi cc h s sau khi nhn hai a thc


vi nhau.
conv(vector 1, vector 2)
22

>> vector1 = [2 3 4]
vector1 =
2

>> vector2 = [1 2 3]
vector2 =

>> conv(vector1,vector2)
ans =
2

16

17

12

2.4 Cc php so snh v php ton Logic


Cc php tnh logic c th s dng cho tt c cc s. Khi tnh, cc gi tr
khc 0 ng vi logic true v cc gi tr 0 ng vi logic false. Khi xut gi tr ln
mn hnh ta s ch thu c cc s 0 hoc 1.
Php so snh

Php tnh logic

==

eq(a,b)

bng

not(a,b)

Negation (NOT)

~=

ne(a,b)

khc

&

and(a,b)

AND

<

lt(a,b)

b hn

or(a,b)

OR

<=

le(a,b)

b hn hoc bng

xor(a,b)

exclusive OR

>

gt(a,b)

ln hn

>=

ge(a,b)

ln hn hoc bng

Ch :

23

Cc php tnh c thc hin theo trnh t: trc ht l cc biu thc ton,

tip theo l cc biu thc logic. Tuy nhin, khi c cm gic khng chc chn, c
th dng cch vit vi du ngoc n.
-

Mt lnh hu ch l exist(variable) gip kim tra xem trong Workspace c

tn ti bin hay hm no tn l variable hay khng: Nu khng: Nu khng ta thu


c kt qu l s 0, nu kt q l s khc 0, chnh l s ni ln bn cht ca
variable, chng hn 1 ni rng variable l bin trong wordspace, 2 ni rng
variable l mt Matlab File trong th mc Matlab, C th xem danh mc cc
lnh nh help ops.
2.5 Bin, cu trc v trng
2.5.1. Bin
Thng thng, kt qu ca cc bin c gn cho ans. S dng du = ta c
th nh ngha mt bin, ng thi gn gi tr cho bin . Khi nhp tn ca mt
bin m khng gn gi tr, ta thu c gi tr hin ti ca bin. Tt c cc bin u
l bin global trong Workspace. Tn ca bin c th cha ti 32 ch ci, gch
ngang thp (_) cng h ch s. Ch vit hoa v ch thng u c phn bit.
Vic nhp gi tr c th c thc hin thnh mt chui lnh trong cng
mt dng, ch cch nhau bi du (;). Nu s dng du phy (,) tch cc lnh,
khi y cc gi tr s c xut ra mn hnh.
V d:
>> variable_1 = 25; variable_2 = 10;
>> variable_1
variable_1 =
25
>> a = variable_1 + variable_2, A = variable_1/variable_2
a =
24

35
A =
2.5000

Mt s tn bin nh pi, i, j v inf c Matlab dng ch cc hng s


hay k hiu, vy nn ta phi trnh s dng chng. i vi cc php tnh bt nh
(0/0), trn mn hnh s hin kt qu NaN (Not A Number). Eps cho ta bit cp
chnh xc tng i khi biu din s vi du phy ng (V d: eps = 2.2204e016)

V d:
>> 1/0
Warning: Divide by zero.
ans =
Inf
>> 0/0
Warning: Divide by zero.
ans =
NaN

2.5.2. Cu trc
thun tin cho vic qun l v s dng, ta c th tp hp nhiu bin li
trong mt cu trc. Trong mi mng c mt tn ring (mt chui k t string)
t gia hai du ( ) c km theo gi tr. Mt cu trc c to nn bi lnh
struct(name_1, value_1, name_2, value_2, )
>> matrix=[2 3 4;3 4 5]
matrix =
25

>> my_struct=struct('data',matrix,'size',[2,3]);

Vic truy cp vo d liu c thc hin vi du (.)


>> my_struct(2).data=matrix.^(-1);
>> my_struct(2).data(1,:)
ans =
0.5000

0.3333

0.2500

Cu trc mc vng
Cc cu trc ng nhin cng c th c to nn mc vng vi nhau. V
d sau y minh ha kh nng : Ta khai bo mt cu trc c tn l componist
vi mng u tin c tn l name, c gn gi tr l chui k t Johann
Sebastian Bach. Mt cu trc th 2 c tn datum vi 3 mng Day, Month v
Year ct gi ngy, thng v nm sinh. Sau ta gn cu trc datum vo mng
born ca cu trc componist:
>> componist = struct('name','Johann Sebastian Bach')
componist =
name: 'Johann Sebastian Bach'
>> datum.Day = 21;
>> datum.Month = 'March';
>> datum.Year = '1685';
>> componist.born = datum;
>> componist
componist =
name: 'Johann Sebastian Bach'
26

born: [1x1 struct]

Ta gn cho mng name ca cu trc componist gi tr mi l chui k t


Wolgang Amadeus Mozart. Cc gi tr ca mng born c gn trc tip:
>> componist(2).name = 'Wolfgang Amadeus Mozart';
>> componist(2).born.Day = 27;
>> componist(2).born.Month = 'January';
>> componist(2).born.Year = 1756;
>> componist(2)
ans =
name: 'Wolfgang Amadeus Mozart'
born: [1x1 struct]

>> componist(2).born
ans =
Day: 27
Month: 'January'
Year: 1756

Cu trc componist lc ny mang c im cu trc ca cc vector, v


vy c th x l cc phn t ca cu trc nh cc vector. Trong v d va nu,
cc vector chnh l hai mng name v born:
>> componist
componist =
1x2 struct array with fields:
name
born
27

2.5.3. Trng
Tng qut mt mc cao hn cu trc l trng. chnh l cc Array
(mng nhiu chiu), cha Cell (t bo) vi d liu thuc cc loi v kch c khc
nhau. Ta c th to ra Cell Array bng lnh cell, hoc n gin bng cch ghp
cc phn t bn trong du ngoc { }. Tng phn t ca Cell Array c th c
truy cp nh cc vector, ma trn thong thng hoc nh cc Array nhiu chiu, ch
cn lu rng: Thay v s dng du ngoc trn ( ) ta s dng du ngoc mc { }.
Gi s ta to mt Cell Array rng c tn my_sell nh sau:
>> my_sell = cell(2,3)
my_sell =
[]

[]

[]

[]

[]

[]

By gi ta ln lt gn cho tng mng ca my_cell cc gi tr sau y,


trong c c cc phn t cu trc componist(1) v componist(2) mc
2.5.2:
>> my_cell{1,1} = 'Xin chao cac ban! ';17
>> my_cell{1,2} = 10;
>> my_cell{1,3} = [1 2;3 4];
>> my_cell{2,1} = componist(1);
>> my_cell{2,2} = componist(2);
>> my_cell{2,3} = date;

Khi nhp tn ca Cell Array trn mn hnh hin ln y cu trc ca n.


C th bit ni dung(hay gi tr) ca mt hay nhiu Cell khi ta nhp cc ch s ca
Cell:
>> my_cell

28

my_cell =
[1x36 char
[1x1

struct]

10]

[2x2 double]

[1x1 struct]

'23-Nov-2009'

>> my_cell{2,3}
ans =
23-Nov-2009
>> my_cell{2,1:2}
ans =
name: 'Jahann Sebastian Bach'
born: [1x1 struct]
ans =
name: 'Wolfgang Amadeus Mozart'
born: [1x1 struct]
>> my_cell{2,2}.born.Month
ans =
January

2.6 Qun l bin


Kch c ca vector hay ma trn c xc nh bi lnh size(variable). i
vi vector cn c th dng lnh length(variable), v khi s dng lnh cho
ma trn ta s thu c gi tr ca vector mang kch c ln nht. Ngoi ra mt bin
c th c kch c l 0, nu n c to nn bi lnh variable = [].
>> a = [2 4 5;1 2 4]
a =
2

4
29

>> length(a)
ans =
3
>> size(a)
ans =
2

>> variable = []
variable =
[]

Bng lnh who ta c th kim tra c mi bin ang tn ti trong


Workspace nh danh mc hin trn mn hnh. Bng whos ta cn bit thm cc
thng tin v kch c v nhu cu b nh ca bin. Bng lnh clear[variable_1
variable_2 ] ta c th xo c ch ch mt s bin nht nh, nu ch gi clear
ta s xo ton b bin trong Workspace.
>> whos
Name

Size

Bytes

Class

2x3

48

double array

ans

1x1

double array

3x2

48

double array

componist

1x2

1256

struct array

datum

1x1

398

struct array

my_cell

2x3

1878

variable

0x0

cell array
double array

Grand total is 221 elements using 3636 bytes


30

2.7 R nhnh v vng lp


2.7.1 Lnh r nhnh if v switch
Bng cc php so snh v logic mc trc, ta c th a ra c cc quyt
nh, phn bit cc trng hp. lm iu , Matlab c cc lnh sau y:
-

if term command [elseif term command ][else command] end

swith term case term command [...][otherwise command] end


>> if test<=2; a=2, elseif test<=5; a=5,else a=10, end;
a =
5
>> switch test case 2; a=2, case {3 4 5}; a=5, otherwise

a=10, end;
a =
5

Trong c hai trng hp trn, cc lnh con c ngn cch bi du (;) v du


(,). Trong cc Scripts, thng ta hay vit nhiu cu trc if v switch mc vng,
an xen ln nhau.
2.7.2 Vng lp for v while
Bng vng lp ta c th thc hin lp li nhiu ln mt s lnh nht nh:
-

For variable = term command end

While term command end


Trong c hai trng hp, lnh break u c tc dng kt thc vng lp.
vidu.m
for k=1:0;
k^2
31

end;
n = 1;
while 1
n=n+1;
m=n^2
if m>10
break;
end;
end
>> vidu
m =
4
m =
9
m =
16

Trong v d trn vng lp for khng h c thc hin v phm vi 1:0


ca k l phm vi rng v iu kin ngng c kim tra trc. Ngc li, cng
trong v d vng lp while c thc hin t nht mt ln v iu kin
ngng ch c kim tra sau cng. Ngoi ra, vng while cn hai lnh end kt
thc.
2.7.3 Gin on bng continue v break
Hai lnh hay c s dng iu khin chu trnh tnh ton l continue v
break. Trong vng lp for hay while, khi gi continue ngay lp tc chu trnh
32

tnh chuyn sang bc lp k tip, mi lnh cha thc hin ca vng lp s b b


qua.
Lnh break cn mnh hn: Ngng vng lp ang tnh. Lnh break c tc
dng c trong cc cu trc r nhnh dng if, switch. Nu break c s dng
ngoi vng for, while trong phm vi ca mt script file hay function ca
Matlab, khi y script file v function s b ngng ti v tr ca break.
V d: Kim tra xem trong cc s nguyn thuc khong 3 7, s no l s
nguyn t. Vic kim tra c thc hin mch vng bn ngoi.
>>for m = 3:1:7,
For n = 2:1:m-1,
If mod(m,n) ~= 0, continue, end
Fprintf( %2d is not a prime number!\n, m)
Break
End % n
If n == m-1,
Fprintf(!! %2d is a prime number!\n, m)
End % if
end % m
Mch vng trong c nhim v: Ln lt chia s cn kim tra m cho tt c
cc s trong khong t 2 ti (m-1), sau kim tra xem s d mod(m, n) ca php
chia c khc 0 hay khng. Nu s d bng 0, khi y m chia ht cho n v lnh
continue khng c gi, lnh fprintf xut thng bo ln mn hnh. Nu s

d khc 0, khi y m khng chia ht cho n v lnh continue c hiu lc, lnh
fprintf v break b b qua chuyn sang kim tra vng lp mi vi n ln

hn. Nu m khng chia ht cho cc s trong khong t 2 n (m-1), m ch chia


33

ht cho 1 v bn thn m, khi y m l s nguyn t. Vic kim tra n == m-1 l cn


thit, v nu m khng phi l s nguyn t, v v vy vng lp pha trong c
ri b bi lnh break tip tc cc lnh thuc vng lp pha ngoi.
Matlab a ra kt qa trn mn hnh nh sau:
!! 3 is a prime number!
2 is not a prime number!
3 .
xem tt c cc lnh to kh nng iu khin chng trnh tnh ton, ta
gi lnh help lang.
2.8 Cc scripts v cc hm ca Matlab
2.8.1. Cc scripts ca Matlab
Bn cnh kh nng nhp lnh trc tip, ta c th vit v ct nhiu chui
lnh trong cc script ca Matlab di dng file vi k t ASCII (m-file). Mt
script c khai bo tn khng c ui .m. son tho cc file ta c th s
dng trnh son tho ca Matlab bng cch gi menu File/New/M-file hoc
File/Open. Cng c th gi trc tip nh nt nhn trn ca s Matlab. Nu cha
ci t trnh son tho , c th s dng bt k trnh son tho ASCII no khc
cng c.

34

Hnh 2.3 Trnh son tho ca Matlab vi v d file PWM.M


V mt dng lnh c th tr nn qu di, ngi s dng c th xung dng
(cha kt thc) bng du
2.8.2. Cc hm ca Matlab
Mt dng c bit ca hm m-files l cc hm ca Matlab (cc function).
Khi gi mt function ta c th chuyn giao d liu cho function hay nhn d
liu do function tr li. Ngoi ra, mt function cng c th c cc
function khc hay script gi, v mt script cng c th c cc scripts gi.

Cc bin trong phm vi mt function l bin local (cc b). Cc bin


global (ton cc, c gi tr s dng chung) c nh ngha bi lnh global

variable Lnh nh ngha phi c gi trc tip t Command Windows ca

35

Matlab, hay t mt script, v cng c th nh ngha trong phm vi mt


function.

Trong phm vi function ta c th s dng hai bin nargin v nargout


xc nh s lng d liu c chuyn giao hay nhn tr li.
Nu mt Matlab script hay mt Matlab function ln u tin c gi,
Matlab s dch ra m o, l m s c kch hot thc hin nhim v t ra cho
script hay function. Nu v sau khng c s thay i g trong m-file, qu trnh
dch s khng xy ra ln th hai. Bng lnh clear functions ta c th xo
cng bc cc hm dch, ng thi gi nguyn cc m-files.
2.9 Nhp xut d liu
Thng thng, Matlab tm c cc script hay d liu, bt buc cc file
lin quan phi nm ti th mc hin ti. Mt s lnh iu hnh v qun l file
pwd

Hin th th mc hin ti

dir []

Hin th ni dung ca th mc []

ls []

Hin th ni dung ca th mc []

cd directory

Chuyn th mc

mkdir directory

To th mc mi

copyfile source destination

Sao chp (copy) file

delete file

Xo file

! commando

Gi lnh t h iu hnh

36

CHNG III
HA TRONG MATLAB
3.1 C s ho Matlab
Khun kh ca mi thao tc xut ho trn nn Matlab l Figure. C th
to ra ca s nh hnh 2.2 bng cch gi lnh figure v mi figure s t ng
c nh s.
>> figure

C th gi mt figure c s bng lnh figure(number). S ca figure


s hin th nu ta gi gcf (Get hendle to Current figure).
>> gcf
ans =
1

37

Bng lnh subplots (row, column, counter), c th chia u mt figure


thnh nhiu subplots ( ho con) c counter (b m) nh s pha trn
bn tri. Nu vic nh s ch cn mt ch s, chng s c vit tun t khng
cn du phy hay du cch.
C th xo ni dung ca mt figure bng lnh clf (clear current figure),
v lnh delete

figure(number) s xo chnh figure. Tng t, lnh

close(number) s ng figure mang s number cn lnh close all s ng tt

c cc figures ang m. C th xem c im ca mt figure bng lnh get, vi


lnh set ta li c th lp c im cho figure.
Vic lp trnh ho trong Matlab lun ph thuc vo i tng c th v
v cng phong ph. Mt cng c lm nh bt cng vic l trnh son tho c tnh
ho (property editor) vi ca s gii thiu hnh sau:

Vic phn chia thang bc ca trc thng c Matlab t ng thc hin.


Tuy nhin, ta c th phn chia th cng trong trng hp hai chiu (2-D) bng
lnh axis([x_min,x_max,y_min,y_max]) v trong trng hp ba chiu (3-D)
axis([x_min,x_max,y_min,y_max,z_min,z_max]). Lnh axis(auto) s trao

quyn chia trc li cho Matlab. Lnh grid on s to ra mt li to ng vi


cch chia trc xc nh. i vi ho 3-D ta c thm lnh box on to
khung bao cho 3-D-Plot.

38

in k t vo mt ho ta c nhiu kh nng khc nhau: Dng


xlabel(string), ylabel(string), zlabel(string) in tn cho trc; dng
title(string) in tn cho figure. Ngoi ra ta cn c th vit cc k t ln cao,

tt thp hay cc k t Hy Lp.


Bng lnh legend(string_1,string_2,, [position]) ta c th in thm
mt s li ghi ch vo ho. V tr ca li ghi ch c xc nh bi s ghi
trong [position], vi ngha: 14 s t li ghi ch vo 4 gc, 0 t t ng v -1
t vo bn phi, cnh ho. Lnh text(x_value,y_value,string) cho php ta
in mt on vn bn vi ni dung string vo to bt k x_value, y_value
trong ho.
S dng lnh zoom on | off dung chut ct v co dn mng .
Ngoi ra, ca s figure cn c mt vi nt cho php dung chut in on vn
bn, v thm nt hoc mi tn, v m Property Editor.
C th thm thng tin chi tit v xut ho ra mn hnh bng cch gi
help graph2d, help graph3d v help specgraph.

3.2 ho 2 chiu
Lnh plot (x_value,y_value [,plotstyle]) v th ni cc im cho bi
cp gi tr x_value, y_value. Thng thng cc im c ni bi mt nt lin.
Nu ta np lun phin nhiu vector x/y, ta s thu c nhiu nt ni c lp vi
nhau. Nu thiu x_value, khi y cc gi tr ca y_value s c v theo th t ch
s ca chng. Nu y_value l cc gi tr phc, khi y th v vi hai trc o v
trc thc. Lnh stars cng c vit vi c php tng t nhng s to ra th
bc thang.
Chui k t plotstyle cu to bi hai thnh phn: Thnh phn th nht l
mt ch ci chn mu v thnh phn th hai l chui k hiu c trng cho
dng chm/ gch ni to nn nt th.

39

Nt v im

Mu
k en

Nt lin

Chm trn

b Xanh lam

sm

--

Nt t

Chm sao

c Xm

Vng

Nt gch chm

Du cng

g Xanh l cy

Trng

Nt chm

Du nhn

Mi ln gi mi lnh plot, cc th c trong Figure (hoc trong


Subplot) hin ti s b xo. C th ngn chn cc iu bng cch gi lnh hold
on sau lnh plot u tin.
figure;
subplot (121);
plot([-5:0.1:5],cos((-5:0.1:5)*pi), 'k:');
hold on;
fplot ('2*sin(x)', [-5 5]);
subplot(122);
t = (0:20)*0.9*pi;
plot(cos(t),sin(t));

40

Lnh fplot(function, range) trong v d trn minh ha kh nng v trc


tip cc hm tng minh. Ngoi ra, Matlab cn to iu kin v cc hm khng
tng minh mt cch d dng nh lnh ezplot(function_1, [function_2,] range).
Hai lnh semilogx v semilogy cng c c php ging nh plot vi
im khc duy nht: Hai trc x v y c chia thang logarithm. Lnh loglog c
tc dng chia ng thi c hai trc x v y theo thang logarithm.
th BODE v bng lnh bode:
>> figure;
>> pt1 = tf ([1],[0.04 1]);
>> pd = tf ([0.04 1], [1]);
>> bode (pt1,'b-',pd,'r--')

41

3.3 ho 3 chiu
3.3.1 Cc lnh Plots
Lnh plot3 c tc dng tng t nh lnh plot, im khc duy nht l
plot3 c thm vector s liu th ba dnh cho trc z.
>> phi = (0:100) / 100*2*pi;
>> plot3(sin(2*phi), cos(3*phi), phi, 'b*');

42

biu din cc hm 2 chiu di dng mt trong khng gian ta s dng


lnh surf(x_value, y_value, z_value [, color]). Nu x_value, y_value, z_value l
cc ma trn c s hng v s ct ging nhau, khi y cc im ca ho s c
v v ni lin thnh mt.
Nu cc im c mt khong cch u n v pha hai trc x v y, khi y
x_value v y_value c th ch l vector. Trong trng hp ny, cc gi tr x_value
c chun theo ct v y_value chun theo hang ca ma trn z_value.
Hai lnh mesh v waterfall c c php ging nh surf, nhng li to
ra mt li khng in y v ho kiu thc nc. Ngc li contour li v
nn cc ng ng mc (ng ni cc im c cng z_value).

43

Ngoi ra ta cn c th thm mt ma trn color xc nh mu cho ho.


Mi phn t ca color ng vi mt phn t ca z_value. Cc gi tr mu s c
s dng trong mt bng mu, v ta c th thay i bng nh lnh
colormap(name). Nu khng khai bo ma trn mu, Matlab s t ng gn color

= z_value. Di mu c th c co dn thang nh lnh caxis (color_min,


color_max).
3.3.2 Phi cnh trong ho 3-D
C th dng lnh view(horizontal,vertical) phi cnh cho ho 3
chiu bng cch khai cc gc theo phng nm ngang v phng thng ng tnh
bng (o, Degree). Gc chun cho trc l (-37.5o, 30o). Ngoi ra, cng c th
to dng hay thay i phi cnh bng cch nhy v ko th chut, sau khi gi
lnh rotate3d.
3.3.3 Nhp, xut v in ho
Nu cn phi gn mt File ho c sn vo khun hnh ca Figure, ta c
th s dng hai lnh variable = imread(file,fmt) v image(variable).
>> anh = imread('anh1.jpg','jpeg');
>> image(anh)

44

Bng lnh imread ta gn File ho vi nh dng fmt cho bin variable.


Nu variable nhn hnh nh ch bao gm gam mu xm, variable s l mt bin 2
chiu. Nu l hnh nh mu RGB, variable s l mt mng 3 chiu. nh dng
ca ho c khai bo bi fmt. Lnh image (variable) s xut ho mi gn
cho variable ra mn hnh Figure c cha nh vi nh dng .jpg
ho Figure ca Matlab cng c th c xut sang cc nh dng khc.
Lnh print fnumber s in Figure mang s number ra my in. Lnh print
fnumber -dfmt file s xut Figure thnh file vi cc nh dng ho khc. V

d: bmp (Windows bitmap), emf (Enhanced meta), eps (EPS level 1),

jpg

(JPEG image), pcx (Paintbrush 24-bit) hay tif (TIFF image, compressed).
bit chi tit hy gi lnh help print.
Nu cn phi lu li sau ny x l, c th ct cc ho thu c
thnh File vi nh dng fig ca Matlab. ct hoc ta i theo menu File / Save
as, hoc gi lnh saveas(handle, file [,format]). Lnh saveas ct handle
(Figure hin ti, c th dng gcf hi) thnh tp c tn file vi mt trong cc
nh dng: fig (File nh phn), m (gm mt File fig v mt File Script).

45

CHNG IV
C S SIMULINK
4.1 Khi ng Simulink
c th lm vic vi Simulink, trc ht ta phi khi ng Matlab. Nu
chy di h iu hnh Linux, sau khi thc hin lnh simulink3 ta s thu c
ca s th vin ca Simulink. Nu lm vic di Windows, sau khi gi simulink
ta c ca s tra cu th vin nh sau:

46

Cc th vin con Source (cc khi ngun tn hiu), Sinks (cc khi xut tn
hiu), Math (cc khi ghp ni ton hc) v Signals & Systems (cc khi tn hiu
v h con) s c gii thiu trong phm vi chng ny.
Tnh cht ca cc khi chc nng
Tt c cc khi chc nng u c xy dng theo mt mu ging nhau
nh sau:

Mi khi c mt hay nhiu u vo/ra (tr trng hp ngoi l: cc khi


thuc hai th vin con Source v Sinks), c tn v trung tm ca hnh khi ch
nht c biu tng th hin c im ring ca khi. Ngi s dng c th tu
thay i tn ca khi (nhy kp phm chut tri vo v tr tn), tuy nhin, mi tn
ch c th s dng mt ln duy nht trong phm vi ca s m hnh m phng. Khi
nhy kp phm chut tri trc tip vo khi ta s m ca s tham s Block
Parameters (tr cc khi Scope, Slider Gain, Subsystem) v c th nhp th cng
cc tham s c trng ca khi. Khi nhp xong, nhy chut tri vo nt OK hay
nt Apply Simulink chp nhn cc tham s va nhp. Nu nhy kp phm chut
tri vo nt Help ta s m ca s ca tin ch tr gip trc tuyn. Nhy mt ln
47

phm chut phi trc tip vo khi c tc dng m menu cha cc lnh cho php
son tho v lp nh dng khi.
Simulink phn bit hai loi khi chc nng: Khi o (vitural) v khi thc
(not vitural). Cc khi thc ng vai tr quyt nh khi chy m phng m hnh
Simulink. Vic thm hay bt mt khi thc s thay i c tnh ng hc ca h
thng ang c m hnh Simulink m t. C th nu nhiu v d v khi thc
nh: khi Sum hay khi Product ca th vin con Math. Ngc li cc khi o
khng c kh nng thay i c tnh ca h thng, chng ch c nhim v thay i
din mo ho ca m hnh Simulink. chnh l cc khi nh Mux, Demux,
hay Enable thuc th vin con Signal & System. Mt s khi chc nng mang c
tnh o hay thc tu thuc theo v tr hay cch thc s dng chng trong m hnh
Simulink.
M hnh Simulink
T ca s th vin khi (Library) hay t ca s truy cp th vin (Library
Browser) ta c th to ra cc ca s m phng mi bng cch i theo menu File /
New / Model, hoc m cc File c sn qua menu File / Open. Mt File Simulink
khi c ct gi s c ui .mdl.
4.2 Cc thao tc c bn vi Simulink
Sao chp: Bng cch gp v th Drag & Drop nh phm chut phi l c
th sao chp mt khi t th vin con (cng c th t mt ca s khc ngoi th
vin).
Di chuyn: Ta c th d dng di chuyn mt khi trong phm vi ca s ca
khi nh phm chut tri.
nh du: Bng cch nhy phm chut tri vo khi ta c th nh du, la
chn tng khi, hoc ko chut nh du nhiu khi mt lc.

48

Xa: c th xa cc khi v cc ng ni b nh du bng cch gi


lnh menu Edit / Clear. Bng menu Edit / Undo hoc t hp phm Ctrl+Z ta c th
cu vn li ng tc xa va thc hin.
H thng con: Bng cch nh du nhiu khi c quan h chc nng, sau
gom chng li thng qua menu Edit / Create Subsystem, ta c th to ra mt h
thng con mi.
Ni hai khi: Dng phm chut tri nhy vo u ra ca mt khi, sau di
mi tn ca chut ti u vo cn ni. Sau khu th ngn tay khi phm chut,
ng ni t ng c to ra. C th r nhnh tn hiu bng cch nhy phm
chut phi vo mt ng ni c sn v ko ng ni mi xut hin ti u vo
cn ni.
Di chuyn ng ni: lu tn hiu thong v d theo di, nhiu khi ta
phi di chuyn, b tr li v tr cc ng ni. Khi nhy chn bng chut tri ta c
th di chuyn tu cc im gc hoc di chuyn song song tng on thng ca
ng ni.
To vector ng ni: d phn bit gia ng ni n v ng ni
cc tn hiu theo nh dng vector, hoc ma trn, hoc mng, ta c th chn menu
Format / Wide nonscalar lines tng b dy ca ng ni.
Ch th kch c v dng d liu ca tn hiu: Lnh chn qua menu Format /
Signal dimensions s hin th kch c ca tn hiu i qua ng ni. Lnh menu
Format / Port data types ch th thm loi d liu ca tn hiu qua ng ni.
nh dng cho mt khi: Sau khi nhy phm chut phi vo mt khi, ca
s nh dng khi s m ra. Ti mc Format ta c th la chn kiu v kch c
ch, cng nh v tr ca tn khi, c th lt hoc xoay khi. Hai mc Foreground
Color v Background Color cho php ta t ch mu bao quang cng nh mu
nn ca khi.

49

nh dng cho ng ni: Sau khi nhy phm chut phi vo mt ng


ni, ca s nh dng ng s m ra. Ti y c cc lnh cho php ct b, chp
hoc xo ng ni.
Hp i thoi v c tnh ca khi: Hoc i theo menu ca ca s m
phng Edit / Block Properties, hoc chn mc Block Properties ca ca s nh
dng khi, ta s thu c hp i thoi cho php t mt vi tham s tng qut v
c tnh ca khi.
Hp i thoi v c tnh ca tn hiu: C th ti c hp thoi Signal
Properties ca mt ng ni hoc bng cch nhy chut nh du ng ni trn
ca s m phng, sau i theo menu Edit / Signal Properties t ca s nh
dng ng. Trong hp i thoi ta c th t tn cho ng ni mt cch n
gin hn: Nhy kp phm chut tri vo ng ni ta s t ng ti c ch
nhp vn bn.
4.3 Tn hiu v cc loi d liu
4.3.1 Lm vic vi tn hiu
Trong Simulink ta phn bit ba loi kch c tn hiu:
Tn hiu n.
Vector tn hiu: Cn c gi l tn hiu 1-D, v kch c ca tn hiu
ch c xc nh theo mt chiu vi di n.
Ma trn tn hiu: Cn c gi l tn hiu 2-D, v kch c ca tn
hiu c xc nh theo hai chiu [mn]. C vector hng [1n] v
vector ct [m1] cng thuc v phm tr ma trn tn hiu.

50

Khi to Simulink, cc khi o s to nn cc ng tn hiu o, duy nht


nhm mc ch lm cho s cu trc tr nn ri mt, ngi s dng d qun
l hn. Tn hiu o c th c 51hem51 s tp hp hnh nh ca nhiu tn hiu
o, khng o, hay hn hp c hai loi. Trong qu trnh m phng, Simulink s
dng mt th tc tn signal propagation nhn bit: Nhng tn hiu thc no
c ghp vo 51hem tn hiu o.
i vi cc tn hiu o ta c th m hp thoi Signal Properties v khai
chn Show propagated signals. Sauk hi khai chn tn ca tn hiu s t ng c
b sung 51hem phn trong ngoc < >, cho bit cc tn hiu cha trong .
Bus tn hiu l tp hp cc tn hiu o ring r. Khi tch Bus bi b phn
phn knh Demux ta s khng th truy cp vo tng phn t ca mi tn hiu, m
ch c th truy cp vo tng tn hiu.
4.3.2 Lm vic vi cc loi s liu
Bn cnh cc c im c gii thiu, mi tn hiu thuc s cu trc
Simulink u c gn mt loi s liu nht nh, v do quyt nh n dung
lng b nh dnh cho mt tn hiu. Simulink cng h tr tt c cc loi s liu
ca Matlab.
double: chnh xc cao, du phy ng.
51

single: chnh xc va, du phy ng.


int8, uint8, int16, uint16, int32, uint32: s nguyn 8-, 16- hay 32- bit
c / khng c du.
52oolean: bin logic 0 hoc 1.
Loi s liu mc nh sn ca Simulink l double. Trong qu trnh m
phng, Simulink s kim tra xem vic o gia cc loi s liu c ng hay
khng, nhm loi tr cc kt qu sai lm c th xy ra.
Kh nng khai bo, xc nh loi s liu ca tn hiu cng nh ca tham s
thuc cc khi chc nng trong Simulink l c bit c ngha, nu ta d nh to
ra t m hnh Simulink m chy cho cc ng dng thi gian thc. Nhu cu v b
nh v tc tnh ton ph thuc vo loi s liu c ta chn.
4.4 Th vin Sources v Sinks
4.4.1 Th vin Sources
a) Constant
Khi constant to nn mt hng s thc hoc phc, hng s c th l scalar,
vector hay ma trn tu theo cch ta khai bo tham s Constant Value v
Interpret vector parameters as 1-D c c chn hay khng. Nu c chn,
ta c th khai bo tham s Constant Value l vector hang hay ct vi kch c [1n]
hay [n1] di dng ma trn. Nu khng c chn, cc vector hang ct
ch c s dng nh vector vi chiu di n, tc l tn hiu 1-D.

52

b) Step v Ramp
Nh hai khi Stemp v Ramp ta c th to nn cc tn hiu dng bc thang
hay dng dc tuyn tnh, 53at kch thch cc m hnh Simulink. Trong hp
thoi Block Parameters ca khi Step ta c th khai bo gi tr u / gi tr cui v
c thi im bt u ca tn hiu bc nhy. i vi Ramp ta c th khai bo
dc, thi im v gi tr xut pht ca tn hiu u ra.
i vi c hai khi, ta c th s dng tham s tu chn Interpret vector
parameters as 1-D quyt nh cc tn hiu dng bc nhy hay dng dc tuyn
tnh c gi tr scalar hay vector hay ma trn.
Ch : Hai khi Step v Ramp khng phi ch to ra mt tn hiu nh nhiu
ngi vn hiu nhm, m c th to ra mt tp cc tn hiu c x l di dng
vector hng hay ct hoc ma trn.
c) Signal Generator v Pulse Generator
Bng Signal Generator ta to ra cc dng tn hiu kch thc khc nhau.

53

Cung cp cho 4 dng song khc nhau (ging nh my pht 54at ):


+ Sng Sin
+ Sng vung (Square)
+ Sng rng ca (Sawtood)
+ Sng ngu nhin (Random)
Vi Pulse Generator to chui xung hnh ch nht. Bin v tn s c
th khai bo tu . i vi Pulse Generator ta cn c kh nng chn t l cho b
rng xung (tnh bng phn trm cho c chu k). i vi c hai khi ta c th s
dng tham s tu chn Interpret vector parameters as 1-D quyt nh cc tn
hiu c gi tr scalar hay vector ma trn.

54

i vi cc h gin on hay h lai (s c c hai loi khi lin tc v


gin on) ta s dng khi Discrete Pulse Generator to chui xung ch nht.
d) Repeating Sequence
Khi Repeating Sequence cho php ta to nn mt tn hiu tun hon tu .
Tham s Time values phi l mt vector thi gian vi cc gi tr n iu tng.
Vector bin ra Output values phi c kch c ph hp vi chiu di ca tham s
Time values. Gi tr ln nht ca vector thi gian quyt nh chu k lp li ca
vector bin ra.

55

e) Sine Wave
Khi Sine Wave c s dng to tn hiu hnh sin cho c hai loi m
hnh: lin tc (tham s Simple time = 0) v gin on (tham s Simple time = 1).
Tn hiu u ra y ph thuc vo 56at ham s chn: Amplitude, Frequency v
Phase trn c s quan h y = Amplitude.sin(Frequency.time + Phase). V n
v ca Phase l [rad], ta c th khai bo trc tip gi tr ca Phase l mt h s
no nhn vi pi. Ging nh khi Constant, ta c th s dng tham s tu chn
Interpret vector parameters as 1-D quyt nh cc tn hiu c gi tr calar hay
vector hay ma trn.

56

f) From Workspace
Khi From Workspace c nhim v ly s liu t ca s Matlab Workspace
cung cp cho m hnh Simulink. Cc s liu ly vo phi c dng ca biu thc
Matlab, khai bo ti dng Data.

57

g) From File
Bng khi From File ta c th ly s liu t mt MAT-File c sn. MATFile c th l kt qu ca mt ln m phng trc , c to nn v ct i
nh khi To file trong s Simulink.

4.4.2 Th vin Sinks

58

Th vin ny bao gm cc khi xut chun ca Simulink. Ngoi kh nng


hin th n gin bng s, cn c cc khi dao ng k biu din cc tn hiu
ph thuc thi gian hay biu din hai tn hiu trn h to XY.
a) Scope

Nh khi Scope ta c th hin th cc tn hiu ca qu trnh m


phng. Khi nhn vo nt Properties, hp thoi Scope Properties (c im ca
Scope) s m ra. Chn general ta c th t ch cho cc trc. Khi t Number
of axes > 1, ca s Scope s c nhiu th con ging tng t nh lnh Subplot
ca Matlab. Nu in mt s c th vo time range, th s ch c biu din
ti thi im do gi tr ca s xc nh.

b) XY Graph

Khi ny biu din hai tn hiu u vo trn h to XY di


dng ho Matlab u vo th nht (bn trn). ng vi trc X u th hai ng
vi trc Y.
c) To Workspace

59

Khi To Workspace gi s liu u vo ca khi ti mi trng Matlab


Workspace di dng mng (Array), Stracture hay Stracture with time v ly
chui k t khai ti variable name t tn cho tp s liu c ghi.

d) To File
Khi ny gip ta ct tp s liu (mng hay ma trn) u vo ca khi
cng vi vector thi gian di dng Mat-File. Array nh dng ging nh nh
dng m khi From File cn, v vy s liu do To File ct c th c From File
c trc tip m khng cn phi x l g.
4.5 Th vin Math
Th vin ny c mt s khi c chc nng ghp ton hc cc tn hiu khc
nhau, c nhng khi n gin ch nhm cng hay nhn tn hiu cn c cc hm
phc tp nh lng gic v logic Sau y ta xt chc nng ca mt s khi
quan trng trong th vin ny.
a) Sum

60

Tn hiu ra ca khi Sum l tng cc tn hiu u vo (V d nh tn hiu


u vo l cc tn hiu hnh Sin th tn hiu u ra cng l cc tn hiu hnh Sin).
Khi Sum cng c th tnh tng tng phn t (v d tn hiu vo gm hai tn hiu:
Sin(x) v [5 9 3] th tn hiu ra s c dng [Sin(x)+5 Sin(x)+9 Sin(x)+3]

b) Product v Dot Product

Khi Product thc hin php nhn tng phn t hay ma trn cng nh
php chia gia cc tn hiu vo (dng 1- D hay 2 D) ca khi, v d: nu mt
khi Product c tham s Number of Inputs = */*, vi ba tn hiu vo l 5, sinx v
[4 4 5 6] khi y tn hiu u ra c dng [20/Sinx 20/Sinx 25/Sinx 30/Sinx].

Khi Dot Product tnh tch v hng ca cc Vector u vo. Gi tr


u ra ca khi tng ng vi lnh Matlab y = Sum(cn(u1)*u2).
c) Math Function v Trigonometric Function

61

C hai khi ny u c th x l tn hiu 2-D. Khi Math Function c


mt lng ln cc hm ton c chun b sn cho php ta la chn theo nhu
cu s dng.

Cn khi Trigonometric Function c tt c cc hm lng gic


quan trng.
d) Gain v Slider Gain
Khi Gain c tc dng khuch i tn hiu u vo (nh dng 1-D hay 2D) bng biu thc khai bo ti Gain. Biu thc ch c th l mt bin hay mt
s bin. Bin phi tn ti trong mi trng Matlab Workspace th khi y
Simulink mi tnh ton c bin.

Khi Slider Gain cho php thay i h s khuch i v hng trong qu


trnh m phng.

62

4.6 Khai bo tham s v phng php tch phn chun b cho m phng.
Trc khi tin hnh m phng ta phi c nhng thao tc chun b nht
nh: l khai bo tham s v phng php m phng. Cc thao tc chun b
c thc hin ti hp thoi Simulation Parameters. Ti tt c cc tham s u
c mt gi tr mc nh sn, ngha l: C th khi ng m phng tt nht, phi
thc hin chun b, t cc tham s ph hp vi m hnh Simulink c th.
Hp thoi Simulation Parameters bao gm cc trang:
a) Solver (thut ton)
Ti trang ny ta c th khai bo thi im bt u v kt thc, thut ton
tch phn v phng php xut kt qu ca m phng.

Simulink cung cp cho ta mt s thut ton khc nhau gii bng s


phngt rnh vi phn. p ng mt ph kh rng cc bi ton t ra. i vi h
gin on ta c th chn thut ton discrete vi bc tch phn linh hot (VariableStep) hay c nh (Fixed-step).
63

Thut ton Variable-step lm vic vi bc tch phn linh hot. Vic gii
cc phng trnh vi phn c bt u vi bc tch phn khai bo ti Initial step
size. Nu ngay khi va bt u, o hm ca cc bin trng thi qu ln, Solver
s chn gi tr b hn gi tr ghi ti Intial step size. Trong qu trnh m phng,
Simulink s c gng gii phng trnh vi phn bng bc cho php ln nht ghi ti
Max step size. Kch c Max step size c th tnh nh sau:

Do c kh nng thch nghi bc tch phn, thut ton Slover vi Variablestep c th gim st bin thin ca cc bin trng thi t thi im va qua ti thi
im hin ti. Thm vo , thut ton c th nhn bit cc v tr khng lin tc
ca hm nh cc t bin dng bc nhy.
b) Gim st sai s
c th thch nghi bc tch phn vi ng hc ca cc bin trng thi,
ti mi bc tch phn, Simulink li tnh bin thin ca bin trng thi t thi
im va qua ti thi im hin ti. bin thin c gi l sai s cc b
local error ei (i = 1 : s bin trng thi ca h. C mi bc tch phn, thut
ton Solver (dng Variable-step) li kim tra xem local error ca mi bin trng
thi c tho mn iu kin acceptable error (sai s c th chp nhn) c xc
nh bi tham s Relative tolerance v Absolute tolerance hp thoi Simulation
Parameters (vit tt l eltol v abstol). iu kin acceptable error c m t bng
cng thc sau:
ei

max ( reltol.|xi|,abstol)
acceptable error

Nu mt trong s cc bin trng thi khng tho mn iu kin trn, bc


tch phn t ng c gim v qu trnh tnh ca bc s c lp li. Vic
acceptable error c xc nh trn c s la chn ti a c nguyn do nh sau:
64

Gi tr khai bo tai Relative tolerance l ng vi bin thin cho php tnh bng %
ca gi tr tc thi ca bin trng thi xi. Nu acceptable error ch c quyt nh
bi Relative tolerance, vy khi |xi| b th relation tolerance c th tr nn qu b,
ng ngha vi vic: Bin trng thi khng c php bin thin g na. iu ny
khng xy ra nu acceptable error c chn theo cng thc trn. Nu ta khai
bo cho Absolute tolerance gi tr auto, khi y Simulink s bt u bng 10-6. Sau
abstol c t v reltol.max(|xi|). Nh cch chn bc linh hot nh vy,
Simulink cho php cc bin trng thi vn c
c) Zero crossing detection
Khi nim zero crossing trong Simulink c hiu l tnh khng lin tc
trong din bin ca trng thi hay l cc im khng thng thng. Cc tn hiu
khng lin tc thng do mt s khi nht nh gy ra nh Abs, Backslash, Dead
Zone, Saturation hay Switch. Mi khi hm loi ny c km theo mt bin zero
crossing, ph thuc vo cc bin trng thi khng lin tc v i du mi khi gp
im khng lin tc. C sau mi bc tch phn, Simulink li kim tra cc bin
zero crossing v qua nhn bit: Trong bc hin ti c xy ra zero crossing hay
khng. Nu c Simulink s tnh chnh xc ti a thi im xut hin bng phng
php ni suy gia gi tr va qua v gi tr hin ti ca bin zero crossing . Khi
bit chnh xc, Simulink bt u tnh tip t cn phi. V vy, nu chn sai s
qu th s c nguy c b st cc im khng. Nu c nghi vn b st im khng,
cn phi gim sai s khai bo m bo l Solver vi Variable-step s chn
bc tnh nh.
Solver vi Fixed-step hot ng vi bc c nh v vic gim st pht
hin cc im khng lin tc l khng th. Song v bit chnh xc s lng bc
tch phn, ta c th c lng kh chnh xc thi gian tnh ca m hnh m phng.
iu ny c bit c ngha nu ta d kin ci t m hnh (sau khi m phng
thnh cng) trn mt cu hnh Hardware no .
d) Workspace I/O
65

Nh khai bo thch hp ti trang Workspace I/O ta c th gi s liu vo,


hoc c s liu t mi trng Matlab Workspace m khng cn s dng cc khi
nh To Workspace, From Workspace trong m hnh Simulink. Ngoi rat a c th
khai bo gi tr ban u cho cc bin trng thi ti y.
Input: tn ca cc tp s liu cn c t Workspace, cc tp s liu c th
nh dng Array, Structure v Structure with time.
Initial State: tn ca bin ang gi gi tr ban u, bin c th c nh
dng Array hay Structure. Vic tn dng kh nng khai bo bin gi gi tr ban
u l rt quan trng khi ta cn s dng cc gi tr trng thi ca mt ln m
phng trc , ang cn nm trong Workspace nh kch hot Save to
Workspace v khai bo Final state.
Bin ra ca m hnh Simulink c ct bng cch in tn bin ra vo
Output, sau khi kch hot Output. Tng t State ct bin trng thi vo
Workspace
e) Advance (khai bo nng cao)
Sauk hi nhn nt Configure ca Inline parameters, ta thu c ca s mi
khai bo cu trc tham s ca m hnh. Vic kch hot Inline parameters s
ph nh kh nng thay i tham s ca cc khi trong qu trnh m phng. Duy
nht nhng tham s lit k trong danh sch Global (tunable) parameters l vn c
th thay i c. V nhng tham s khng thay i c s b coi l hng s, thi
gian s gim i ng k.
4.6.1 Khi ng v ngng m phng
Qu trnh m phng ca m hnh Simulink c khi ng qua menu
Simulation/Start. Trong khi m phng, c th chn Simulation/Pause tm
ngng, hay Simulink/Stop ngng hn qu trnh m phng.
Thm vo ta cn c th iu khin qu trnh m phng bng cc dng
lnh vit ti ca s lnh ca Matlab. iu ny c bit c ngha khi ta mun t
66

ng ho ton b cc chu trnh m phng, khng mun khi ng, ngng hay x
l, bng tay. l cc lnh set_param v sim.
Lnh set_param c gi nh sau:
set_param(sys,SimulinkCommand,cmd)
Trong lnh trn, m hnh m phng c tn sys s c khi ng khi
cmd = start, hay ngng li khi cmd = stop. Sau khong thi gian ngh pause, tar a
lnh tip tc m phng bng continue. Nu chn cmd = update, m hnh s c
cp nht mi
Lnh sim c gi nh sau:
[t,x,y] = sim(model)
Nu mun chuyn giao c tham s m phng, ta gi :
[t,x,y] = sim(model,timespan,options,ut)
Bng lnh trn ta ch ng c qu trnh t tham s m phng t mi
trng Matlab. V tri ca lnh gm cc vector thi gian t, ma trn bin trng thi
x v ma trn bin ra y ca m hnh. Cc tham s ca sim c ngha nh sau :
model l tn ca m hnh Simulink, timespan vit di dng [tStart tFinal] nh
ngha thi im bt u v thi im ngng chy m phng. Tham s ut cho php
c tp s liu c vo khi Inport, c tc dng tng t nh khi khai Input
thuc trang Workspace I/O ca hp thoi Simulation Parameters.
Bng option ta chuyn giao cho m hnh cc tham s m phng quan trng
nh thut ton v bc tch phn, sai s, cc iu kin xut s liu, Vic to cu
trc tham s options c thc hin bng lnh :
options = simset (property, value, )
Vi lnh trn, cc tham s t trong hp thoi Simulation Parameters s
khng b thay i, m ch b v hiu ho khi sim khi ng qu trnh m phng.
Bng lnh :
67

newopts = simset(oldopts, property, value, )


ta c th thay i b tham s c oldopts bi b tham s mi newopts.
Khi gi simset khng c khai bo i km, khi y ton b properties v cc gi tr
ca chng c xut ra mn hnh. Vi lnh :
struct = simset(model)
ta s thu c trn vn b tham s options c khai bo nh lnh
simser hay nh hp thoi Simulations Parameters.
V d lnh :
[t,x,y] = sim(model, [],simset(simget(model), slover, ode23,
MaxStep, 0.01) ;
s a thut ton tch phn ca s Simulink c tn model v ode23 vi
bc ln nht l 0,01 giy. Ti v tr ca timespan ta vit [], ngha l : cc gi tr
ca Start time v Stop time hp thoi Simulation Parameters c gi nguyn.
4.6.2 X l li
Nu xut hin li trong qu trnh m phng, Simulink s ngng m phng
v m hp thoi thng bo li Simulation Diagnostics.
Trong phn pha trn ca hp thoi bo li ta thy c danh sch cc khi
gy nn li. Khi chuyn vch chn ti khi no, ta s thy phn di hp thoi
cc m t k v li ca khi . Nu nhy chut tri vo nt Open, ca s Block
Parameters ca khi s m ra tat hay i, sa li cc tham s khai bo ti .
i khi ngun gy li trn s cn c tn ni bt 68hem bng mu, gip ta
nhanh chng xc nh c v tr ca khi gy li.
4.6.3 Tp hp cc tham s trong Script ca Matlab
i vi cc s Simulink phc hp, ta khng nn trc tip khai bo tham
s cho tng khi c th, m nn tp hp chng li trong mt script (m-File). Bng

68

cch y mi cng vic khai bo hay thay i tham s u c th c thc hin


mt cch rt r rang, tng minh v kh nhm ln.
lm nh vy, thay v vit cc gi tr c th, ta ch cn vit tn ca cc
bin. Cc bin s c gn gi tr c th sau ny, trong khun kh ca script.
Trc khi bt u m phng hay sau khi thay i tham s, ta s phi gi script
np cc bin vo mi trng Workspace ca Matlab. Nh vy, trong qu trnh m
phng Simulink c th truy cp v s dng cc bin np.
Mt kh nng kch hot mt script cha cc tham s m hnh, l vic s
dng cc th tc Callback. Kh nng ny cho php ta tit kim, khng cn mt
cng gi script bng dng lnh trong ca s lnh. Mt script, khi c lin
kt vi tham s InitFcn ca s Simulink nh lnh set_param, lc bt u m
phng s c kch hot, nhng lun trc khi c Block Parameters.
V d:
Set_param(model, InitFcn, model_init)
s lin kt script c tn model_ini.m vi tham s InitFcn ca m hnh
Simulink c tn model.mdl. Mi lin kt s b hu nu ta gi:
set_param(model, InitFcn, )
Thng tin: Th tc Callback no c gi v c gi vo lc no, s do
lnh sau y quyt nh:
set_param(0, CallbackTracing, on)
Lnh s buc Simulink phi lit k ton b cc th tc Callback ti ca
s Command khi chng c gi. bit 69hem v lnh set_param v Callback
Routines ta gi lnh help set_param.
4.6.4 In m hnh Simulink
Cng ging nh ho Matlab, ta c th xut m hnh Simulink di cc
dng khc nhau. Bng lnh print smodel ta s xut m hnh c tn model ra my
69

in. Tuy nhin, nu in qua menu File/Print ta s c nhiu kh nng khai bo tham s
in hn. V d: Ch in mt tng m hnh nht nh. Trc khi in ta nn chuyn tham
s Paper type v kh A4, v mt vi my in c vn khi in theo kh usletter. C
th lm iu t ca s Command ca Matlab
Set(gcf, PaperType, A4)
Vic in m hnh Simulink thnh File c thc hin tng t nh ho
Matlab:
Print smodel;
Print smodel dmeta model;
Print smodel deps model;
4.7 H thng con (Sub system)
4.7.1 To h thng con
C hai cch to h thng con:
Cch 1: Dng chut nh du tt c cc khi m ta mun gom li vi nhau.
Cn ch nh du c cc ng tn hiu km theo. Sau chn Create
Subsystem thuc menu Edit. Cc khi b nh du s c Simulink thay
th bi mt khi Subsystem. Khi nhy chut kp vo khi mi, ca s c
tn ca khi mi s m ra. Cc tn hiu vo / ra ca h con s c t ng
ghp vi h thng m bi cc khi Inport v Outport.
Cch 2: Dng khi Subsystem c sn ca th vin Signals & Systems. Sau
khi gp khi sang m hnh h thng ang m, ta nhy chut kp vo
khi m ca s ca khi v ln lt gp cc khi cn thit to thnh
h thng con. Vic ghp ni vi h thng m phi c ch ng thc hin
bng tay nh cc khi Inport v Outport. y l cch i ngc vi cch 1:
Ta ln lt to cc h thng con (bt u t tng thp nht), sau ni cc
h thng con to thnh h thng m (tng cp trn trc tip).
70

4.7.2 Th vin signals v Subsystem


Subsystem

Khi Subsystem c s dng to h thng con trong khun


kh ca mt m hnh Simulink. Vic ghp vi m hnh thuc cc tng ghp trn
c thc hin nh khi Inport v Outport. S lng u vo / ra ca khi
Subsystem ph thuc s lng khi Inport v Outport.
u vo / ra ca khi Subsystem s c t theo tn mc nh ca cc
khi Inport v Outport. Nu chn Format / Hide Port Labels trn menu ca s khi
Subsystem, ta c th ngn chn c cch t tn k trn v ch ng t cho
Inport v Outport cc tn ph hp vi ngha ca chng.
Inport v Outport

Inport v Outport l cc khi u vo, u ra ca mt m hnh m phng.


Ti hp thoi Block Parameters ta c th in vo Port number s th t ca
khi. Simulink t ng nh s cc khi Inport v Outport mt cch c lp vi
nhau, bt u t 1. Khi ta b sung thm khi Inport hay Outport, khi mi s nhn
s th t k tip. Khi xo mt khi no , cc khi cn li s t ng nh s
mi. Trong hp thoi Block Parameters ca Inport, ta cn c Port with dng
khai bo b rng ca tn hiu vo. Khi ghp mt tn hiu c b rng ln hoc b
hn b rng khai bo vi Inport, ngay lp tc Simulink bo li.
Cn lu tm ti mt vi tham s quan trng khc ca khi Outport. V d,
Outport when disabled cho h thng cn x l tn hiu ra nh th no khi h thng
m phng ang ngng khng chy (xo v khng hay gi nguyn gi tr cui
cng). Initial Output cho bit gi tr cn lp cho u ra.

71

Thng qua cc khi Inport v Outport thuc tng trn cng (ch khng phi
thuc cc h thng con), ta c th ct vo hay ly s liu ra khi mi trng
Workspace. lm iu ta phi kch hot cc Input v Output trang
Workspace I/O ca hp thoi Simulation Parameters v khai bo tn ca cc bin
cn ly s liu vo, hay tn ca cc bin m ta s gi s liu ti
Enable v Trigger

Hai phn t Enable v Trigger nhm mc ch to cho cc h con


Subsystem kh nng khi ng c iu kin. Trong mt h thng con ch c th s
dng mt khi Enable v Trigger. Khi c gn mt trong hai khi , ti khi
Subsystem s xut hin thm mt u vo iu khin c bit, ni m tn hiu
Enable hay Trigger c a ti.
Cc h con c khi Enable c gi l h cho php. H con s c
kch hot ti nhng bc tch phn c pht ra tn hiu Enable vi gi tr dng.
Tham s States when enabling cho bit cn t gi tr ban u cho bin trng thi
nh th no trc khi c kch hot. Tham s Show output port gn cho khi
Enable thm mt u ra, to iu kin x l hay s dng tip tn hiu Enable.
Cc h con c khi Trigger gi l h c kch hot bng xung. Vic kch
hot xy ra ti sn dng (Trigger type: rising), hay sn m (Trigger type:
falling), hay c hai sn (either) ca xung kch hot. Nu Trigger type c chn
l function-call, ta c c hi ch ng to xung kch hot nh mt S-function do ta
t vit.
Cc khi Enable v Trigger l khi o c iu kin.
Mux v Demux

72

Khi Mux c tc dng ging nh mt b chp knh, c tc dng chp cc


tn hiu 1-D ring r thnh mt vector tn hiu mi. Nu nh mt trong s cc tn
hiu ring r l 2-D, khi y ta ch c th tp hp cc tn hiu ring r thnh Bus tn
hiu. Ti tham s Number of inputs ta c th khai bo tn, kch c v s lng
tn hiu vo. V d, vit [4 3 -1] ngha l c tt c 3 u vo, u vo th nht c
b rng l 4, u vo th hai c b rng l 3, cn u vo th ba cha xc nh v
gi tr khai l -1.
Khi Demux c tc dng ngc li vi Mux: Tch cc tn hiu c chp t nhiu
tn hiu ring r tr li thnh cc tn hiu ring r mi. Khi Demux lm vic hoc
theo ch vector (Bus selection mode = off) hoc theo ch chn Bus (Bus
selection mode = on). ch vector, Demux ch chp nhn tn hiu 1-D u
vo v s tch tn hiu 1-D thnh cc tn hiu ring r nh khai bo ti
Number of outputs. Tham s Number of outputs c th c khai bo di dng
mt s nguyn >1 hay di dng mt vecter hng, vic tch cc phn t ca tn
hiu vo v phn chia cc phn t thnh cc tn hiu ra hon ton ph thuc
vo b rng tn hiu vo, s lng v b rng ca tn hiu ra m ta khai bo. Khi
chn ch Bus selection, Demux ch chp nhn Bus tn hiu u vo ca khi.
Mux v Demux lun lun l o.
Bus Selector v Selector

73

Cc tn hiu do khi Mux chp li, c th c tch ra khng ch bng


khi Demux. Ta c th s dng khi Bus Selector ti to li cc tn hiu t mt
Bus tn hiu, ng thi gom chng li thnh cc tn hiu ring r ban u.
Ti hp thoi Block Parameters ca khi Bus Selector trong Signals in
the bus ta c th thy danh sch lit k tt c cc tn hiu nm trong Bus. Nhn nt
Select >> ta c th chn nhng tn hiu m ta cn tch ra khi Bus v gom li nh
ban u.
Khi Selector cho ta kh nng la chn linh hot hn Bus Selector: Kh
nng tch ra khi Bus tn hiu 1-D hay 2-D cc phn t ring l ri sau gom
chng li thnh mt tn hiu 1-D hay 2-D mi.
Hit Crossing

Khi Hit Crossing c tc dng pht hin thi im tn hiu u vo i qua


gi tr khai ti Hit Crossing offset theo hng khai ti Hit Crossing direction. Nu
ta chn Show output port, ti thi im Crossing u ra s nhn gi tr 1, cn li l
0. Nu ti trang Advanced ca hp thoi Simulation Parameters ta t Boolean
logic signals = off, tn hiu ra s l double, ngoi ra l boolean.
IC

Khi IC c tc dng gn cho tn hiu ra ca khi mt iu kin ban u


nht nh.
4.7.3 Kch hot c iu kin cc h thng con
74

Cc h thng con c cha khi Enable hay Trigger gi l cc h cho php


kch hot hay h kch hot bng xung. Vic kch hot h con hon ton do tn hiu
iu khin tng ng xc nh. Nh v d di y cho thy, khi gn khi Enable
hay Trigger cho mt h con, h s t ng c thm mt u vo ginh cho tn
hiu iu khin.

V d tip theo gii thch r hn na cch s dng khi Enable. Hai tn hiu
hnh sin c cng bin v tn s c a ti mt Subsystem. Tn hiu sin th
nht c a ti u vo Enable, tn hiu sin th hai c a ti u vo In1
ca h con. Bn trong h con, tn hiu ca In1 c nhn vi tn hiu ra ca khi
Enable. Tn hiu u ra ca khi Product v ca khi Enable c chp knh, a
ti khi Scope v ct vo Workspace di nh dng Array sau plot thnh
th.

75

Sau khi chy enable1.mdl, thu c th trn ta cn thc hin cc dng


lnh sau:
>> plot(tout,simout(:,1),'r-.',tout,simout(:,2),'g-');
>> legen('Signal Enable','Signal Enable x Sinus');

V d tip theo s minh ho tc dng ca khi Trigger. Trong s m


phng: Hai tn hiu hnh sin c tn s khc nhau c a ti mt h con. Khi
Sine Wave th hai ch c a tng trng qua h con. Ba tn hiu Trigger, tn
hiu ra ca Subsystem v Sine Wave th hai c a ti Scope. Tng t v d
trn, c ba tn hiu c plot ta so snh. Tuy nhin tham s ca khi Trigger
c t vo either, ngha l: H con c kch hot bng c hai sn ln v
xung ca xung kch hot.

76

Sau khi chy trigger1.mdl, tc l khi: Kt qu m phng c ct vo


Workspace, ta thc hin chum lnh di y thu c th nh hnh trn.
>> plot(tout,simout(:,1),'r-.',tout,simout(:,2),'g-');
>> legend('Trigger Signal','Out1 Signal','Sinus Signal');

77

TI LIU THAM KHO


[1] Angermann, A.; Beuschel, M.; Rau, M.; Wohlfarth, U.: Simulation mit
SIMULINK/MATLAB: Skriptum mit Ubungsaufgaben. Stand: 29. November
2001, TU munchen:
[2] Bishop, R. H.: Modern control systems analysis and disign using MATLAB.
Addison - Wesley, 1993.
[3] Nguyn Phng Quang MATLAB & SIMULINK dnh cho k s iu khin
t ng - Nh xut bn khoa hc v k thut.

78

You might also like