Bai giang mo phong va mo hinh hoa duong thuy huong
1. 1
KHOA CÔNG NGH I N T VÀ TRUY N THÔNG
B MÔN CÔNG NGH K THU T MÁY TÍNH
BÀI GI NG
MÔ PH NG VÀ MÔ HÌNH HÓA
THÁI NGUYÊN – 2011
2. 2
M C L C
M C L C...................................................................................................................................... 2
CHƯƠNG I.................................................................................................................................... 4
GI I THI U KI N TH C MÔ PH NG .................................................................................. 4
1.1. M t s nh nghĩa cơ b n ..................................................................................................... 4
1.2. Mô hình hóa h th ng........................................................................................................... 5
1.2.1. Vai trò c a phương pháp mô hình hóa h th ng............................................................ 5
1.2.2. Phân lo i mô hình hóa h th ng .................................................................................... 7
1.3. Phương pháp mô ph ng........................................................................................................ 9
1.3.1. Sơ kh i...................................................................................................................... 9
1.3.2. B n ch t c a phương pháp mô ph ng ......................................................................... 10
1.3.3. Các bư c nghiên c u mô ph ng.................................................................................. 13
1.3.4 M t s môi trư ng mô ph ng thư ng g p.................................................................... 15
CHƯƠNG II................................................................................................................................. 16
MÔI TRƯ NG MATLAB VÀ CÁCH L P TRÌNH............................................................... 16
2.1 Gi i thi u môi trư ng làm vi c Matlab............................................................................... 16
2.2 Các hàm toán....................................................................................................................... 16
2.3 Tính toán v i vector và ma tr n........................................................................................... 17
2.3.1. Khai báo vector và ma tr n.......................................................................................... 17
2.3.2. Tính toán v i vector và ma tr n................................................................................... 20
2.4 Các phép so sánh và phép toán Logic ................................................................................. 23
2.5 Bi n, c u trúc và trư ng ...................................................................................................... 24
2.5.1. Bi n ............................................................................................................................. 24
2.5.2. C u trúc ....................................................................................................................... 25
2.5.3. Trư ng......................................................................................................................... 28
2.6 Qu n lý bi n ........................................................................................................................ 29
2.7 R nhánh và vòng l p .......................................................................................................... 31
2.7.1 L nh r nhánh if và switch ........................................................................................... 31
2.7.2 Vòng l p for và while................................................................................................... 31
2.7.3 Gián o n b ng continue và break ............................................................................... 32
2.8 Các scripts và các hàm c a Matlab...................................................................................... 34
2.8.1. Các scripts c a Matlab................................................................................................. 34
3. 3
2.8.2. Các hàm c a Matlab.................................................................................................... 35
2.9 Nh p xu t d li u ................................................................................................................ 36
CHƯƠNG III............................................................................................................................... 37
H A TRONG MATLAB..................................................................................................... 37
3.1 Cơ s ho Matlab ........................................................................................................... 37
3.2 ho 2 chi u..................................................................................................................... 39
3.3 ho 3 chi u..................................................................................................................... 42
3.3.1 Các l nh Plots............................................................................................................... 42
3.3.2 Ph i c nh trong ho 3-D.......................................................................................... 44
3.3.3 Nh p, xu t và in ho ................................................................................................ 44
CHƯƠNG IV ............................................................................................................................... 46
CƠ S SIMULINK..................................................................................................................... 46
4.1 Kh i ng Simulink ............................................................................................................ 46
4.2 Các thao tác cơ b n v i Simulink........................................................................................ 48
4.3 Tín hi u và các lo i d li u ................................................................................................. 50
4.3.1 Làm vi c v i tín hi u.................................................................................................... 50
4.3.2 Làm vi c v i các lo i s li u........................................................................................ 51
4.4 Thư vi n Sources và Sinks .................................................................................................. 52
4.4.1 Thư vi n Sources.......................................................................................................... 52
4.4.2 Thư vi n Sinks.............................................................................................................. 58
4.5 Thư vi n Math..................................................................................................................... 60
4.6 Khai báo tham s và phương pháp tích phân chu n b cho mô ph ng................................ 63
4.6.1 Kh i ng và ng ng mô ph ng.................................................................................... 66
4.6.2 X lý l i........................................................................................................................ 68
4.6.3 T p h p các tham s trong Script c a Matlab.............................................................. 68
4.6.4 In mô hình Simulink..................................................................................................... 69
4.7 H th ng con (Sub system).................................................................................................. 70
4.7.1 T o h th ng con .......................................................................................................... 70
4.7.2 Thư vi n signals và Subsystem .................................................................................... 71
4.7.3 Kích ho t có i u ki n các h th ng con...................................................................... 74
4. 4
CHƯƠNG I
GI I THI U KI N TH C MÔ PH NG
1.1. M t s nh nghĩa cơ b n
- i tư ng (object) là t t c nh ng s v t, s ki n mà ho t ng c a
con ngư i có liên quan t i.
- H th ng (System) là t p h p các i tư ng (con ngư i, máy móc),
s ki n mà gi a chúng có nh ng m i quan h nh t nh.
- Tr ng thái c a h th ng (State of system) là t p h p các tham s ,
bi n s dùng mô t h th ng t i m t th i i m và trong i u ki n nh t nh.
- Mô hình ( Model) là m t sơ ph n ánh i tư ng, con ngư i dùng
sơ ó nghiên c u, th c nghi m nh m tìm ra quy lu t ho t ng c a i
tư ng hay nói cách khác mô hình là i tư ng thay th c a i tư ng g c
nghiên c u v i tư ng g c.
- Mô hình hóa (Modeling) là thay th i tư ng g c b ng m t mô
hình nh m các thu nh n thông tin quan tr ng v i tư ng b ng cách ti n hành các
th c nghi m trên mô hình. Lý thuy t xây d ng mô hình và nghiên c u mô hình
hi u bi t v i tư ng g c g i lý thuy t mô hình hóa.
N u các quá trình x y ra trong mô hình ng nh t (theo các ch tiêu nh
trư c) v i các quá trình x y ra trong i tư ng g c thì ngư i ta nói r ng mô hình
ng nh t v i i tư ng. Lúc này ngư i ta có th ti n hành các th c nghi m trên
mô hình thu nh n thông tin v i tư ng.
- Mô ph ng (Simulation, Imitation) là phương pháp mô hình hóa d a
trên vi c xây d ng mô hình s (Numerical model) và dùng phương pháp s
(Numerical method) tìm các l i gi i. Chính vì v y máy tính s là công c h u
hi u và duy nh t th c hi n vi c mô ph ng h th ng.
Lý thuy t cũng như th c nghi m ã ch ng minh r ng, ch có th xây d ng
ư c mô hình g n úng v i i tư ng mà thôi, vì trong quá trình mô hình hóa bao
5. 5
gi cũng ph i ch p nh n m t s gi thi t nh m gi m b t ph c t p c a mô hình,
mô hình có th ng d ng thu n ti n trong th c t . M c dù v y, mô hình hóa
luôn luôn là m t phương pháp h u hi u con ngư i nghiên c u i tư ng, nh n
bi t các quá trình, các quy lu t t nhiên. c bi t, ngày nay v i s tr giúp c l c
c a khoa h c k thu t, nh t là khoa h c máy tính và công ngh thông tin, ngư i ta
ã phát tri n các phương pháp mô hình hóa cho phép xây d ng các mô hình ngày
càng g n v i i tư ng nghiên c u, ng th i vi c thu nh n, l a ch n, x lý các
thông tin v mô hình r t thu n ti n, nhanh chóng và chính xác. Chính vì v y, mô
hình hóa là m t phương pháp nghiên c u khoa h c mà t t c nh ng ngư i làm
khoa h c, c bi t là các k sư u ph i nghiên c u và ng d ng vào th c ti n
ho t ng c a mình.
1.2. Mô hình hóa h th ng
1.2.1. Vai trò c a phương pháp mô hình hóa h th ng
a) Khi nghiên c u trên h th ng th c g p nhi u khó khăn do nhi u nguyên
nhân gây ra như sau:
- Giá thành nghiên c u trên h th ng th c quá t.
Ví d : Nghiên c u k t c u t i ưu, b n, kh năng ch ng dao ng c a ô
tô, tàu th y, máy bay,… ngư i ta ph i tác ng vào i tư ng nghiên c u các l c
l n n m c có th phá h y i tư ng t ó ánh giá các ch tiêu k thu t ã
ra. Như v y, giá thành nghiên c u s r t t. B ng cách mô hình hóa trên máy
tính ta d dàng xác nh ư c k t c u t i ưu c a các thi t b nói trên.
- Nghiên c u trên h th ng th c òi h i th i gian quá dài.
Ví d : Nghiên c u ánh giá tin c y, ánh giá tu i th trung bình c a h
th ng k thu t (thông thư ng tu i th trung bình c a h th ng k thu t kho ng 30
÷ 40 năm), ho c nghiên c u quá trình phát tri n dân s trong kho ng th i gian 20
÷ 50 năm,… N u ch i quãng th i gian dài như v y m i có k t qu nghiên c u
thì không còn tính th i s n a. B ng cách mô ph ng h th ng và cho “h th ng”
6. 6
v n hành tương ương v i kho ng th i gian nghiên c u ngư i ta có th ánh giá
ư c các ch tiêu k thu t c n thi t c a h th ng.
- Nghiên c u trên h th c nh hư ng n s n xu t ho c gây nguy hi m cho
ngư i và thi t b .
Ví d : Nghiên c u quá trình cháy trong lò hơi c a nhà máy nhi t i n,
trong lò luy n clanhke c a nhà máy xi măng… ngư i ta ph i thay i ch c p
nhiên li u (than, d u), tăng gi m s n lư ng gió c p, thay i áp su t trong lò,…
Vi c làm các thí nghi m như v y s c n tr vi c s n xu t bình thư ng, trong nhi u
trư ng h p có th x y ra cháy, n gây nguy hi m cho ngư i và thi t b . B ng cách
mô ph ng h th ng, ngư i ta có th cho h th ng “v n hành” v i các b thông s ,
các ch v n hành khác nhau tìm ra l i gi i t i ưu.
- Trong m t s trư ng h p không cho phép làm th c nghi m trên h th ng
th c.
Ví d : Nghiên c u các h th ng làm vi c môi trư ng c h i, nguy hi m,
dư i h m sâu, dư i áy bi n, ho c nghiên c u trên cơ th ngư i,… Trong nh ng
trư ng h p này dùng phương pháp mô ph ng là gi i pháp duy nh t nghiên c u
h th ng.
b) Phương pháp mô hình hóa cho phép ánh giá nh y c a h th ng khi
thay i tham s ho c c u trúc c a h th ng cũng như ánh giá ph n ng c a h
th ng khi thay i tín hi u i u khi n. Nh ng s li u này dùng thi t k h
th ng ho c l a ch n thông s t i ưu v n hành h th ng.
c) Phương pháp mô hình hóa cho phép nghiên c u h th ng ngay c khi
chưa có h th ng th c
Trong trư ng h p này, khi chưa có h th ng th c thì vi c nghiên c u trên
mô hình là gi i pháp duy nh t ánh giá các ch tiêu k thu t c a h th ng, l a
ch n c u trúc và thông s t i ưu c a h th ng… ng th i mô hình cũng ư c
dùng ào t o và hu n luy n.
7. 7
Trong nh ng trư ng h p này dùng phương pháp mô ph ng mô hình hóa là
gi i pháp duy nh t nghiên c u h th ng.
1.2.2. Phân lo i mô hình hóa h th ng
Có th căn c vào nhi u d u hi u khác nhau phân lo i mô hình. Hình 1.1
bi u di n m t cách phân lo i mô hình i n hình. Theo cách này mô hình chia
thành hai nhóm: mô hình v t lý và mô hình toán h c hay còn g i là mô hình tr u
tư ng.
- Mô hình v t lý là mô hình ư c c u t o b i các ph n t v t lý. Các thu c
tính c a i tư ng ph n ánh các nh lu t v t lý x y ra trong mô hình. Nhóm mô
hình v t lý ư c chia thành mô hình thu nh và mô hình tương t . Mô hình v t lý
thu nh có c u t o gi ng i tư ng th c nhưng có kích thư c nh hơn cho phù
h p v i i u ki n c a phòng thí nghi m. Ví d , ngư i ta ch t o lò hơi c a nhà
máy nhi t i n có kích thư c nh t trong phòng thí nghi m nghiên c u các
ch th y văn c a p th y i n. Ưu i m c a lo i mô hình này là các quá trình
v t lý x y ra trong mô hình gi ng như trong i tư ng th c, có th o lư ng quan
sát các i lư ng v t lý m t cách tr c quan v i chính xác cao. Như c i m c a
mô hình v t lý thu nh là giá thành t, vì v y ch s d ng khi th c s c n thi t.
8. 8
- Mô hình v t lý tương t ư c c u t o b ng các ph n t v t lý không
gi ng v i i tư ng th c nhưng các quá trình x y ra trong mô hình tương ương
v i quá trình x y ra trong i tư ng th c. Ví d , có th nghiên c u quá trình dao
ng c a con l c ơn b ng mô hình tương t là m ch dao ng R-L-C vì quá trình
dao ng i u hòa trong m ch R-L-C hoàn toàn tương t quá trình dao ng i u
hòa c a con l c ơn, ho c ngư i ta có th nghiên c u ư ng dây t i i n b ng mô
hình tương t là m ng b n c c R-L-C. Ưu i m c a lo i mô hình này là giá thành
r , cho phép chúng ta nghiên c u m t s c tính ch y u c a i tư ng th c.
- Mô hình toán h c thu c lo i mô hình tr u tư ng. Các thu c tính ư c
ph n ánh b ng các bi u th c, phương trình toán h c. Mô hình toán h c ư c chia
thành mô hình gi i tích và mô hình s . Mô hình gi i tích ư c xây d ng b i các
bi u th c gi i tích. Ưu i m c a lo i mô hình là cho ta k t qu rõ ràng, t ng quát.
Như c i m c a mô hình gi i tích là thư ng ph i ch p nh n m t s gi thi t ơn
gi n hóa có th bi u di n i tư ng th c b ng các bi u th c gi i tích, vì v y
lo i mô hình này ch y u ư c dùng cho các h ti n nh và tuy n tính.
- Mô hình s ư c xây d ng theo phương pháp s t c là b ng các chương
trình ch y trên máy tính s . Ngày nay, nh s phát tri n c a k thu t máy tính và
công ngh thông tin, ngư i ta ã xây d ng ư c các mô hình s có th mô ph ng
ư c quá trình ho t ng c a i tư ng th c. Nh ng mô hình lo i này ư c g i là
mô hình mô ph ng. Ưu i m c a mô hình mô ph ng là có th mô t các y u t
ng u nhiên và tính phi tuy n c a i tư ng th c, do ó mô hình càng g n v i i
tư ng th c. Ngày này, mô hình mô ph ng ư c ng d ng r t r ng rãi.
Có th căn c vào các c tính khác nhau phân lo i mô hình như: mô
hình tĩnh và mô hình ng, mô hình ti n nh và mô hình ng u nhiên, mô hình
tuy n tính và mô hình phi tuy n, mô hình có thông s t p trung, mô hình có thông
s d i, mô hình liên t c, mô hình gián o n, …
Mô hình ph i t ư c hai tính ch t cơ b n sau:
Tính ng nh t: mô hình ph i ng nh t v i i tư ng mà nó ph n ánh theo
nh ng tiêu chu n nh trư c.
9. 9
Tính th c d ng: Có kh năng s d ng mô hình nghiên c u i tư ng. Rõ
ràng, tăng tính ng nh t trong mô hình ph i ưa vào nhi u y u t ph n ánh
y các m t c a i tư ng. Nhưng như v y nhi u khi mô hình tr nên quá ph c
t p và c ng k nh n n i không th dùng tính toán ư c nghĩa là m t i tính
ch t th c d ng c a mô hình. N u quá chú tr ng tính th c d ng, xây d ng mô hình
quá ơn gi n thì sai l ch gi a mô hình và i tư ng th c s l n, i u ó s d n
n k t qu nghiên c u không chính xác. Vì v y, tùy thu c vào m c ích nghiên
c u mà ngư i ta l a ch n tính ng nh t và tính th c d ng c a mô hình m t cách
thích h p.
1.3. Phương pháp mô ph ng
1.3.1. Sơ kh i
Các mô hình sơ kh i g m hai i tư ng, các ư ng dây tín hi u và các
kh i. Ch c năng c a ư ng dây tín hi u là truy n d n tín hi u, ho c giá tr , t
i m g c ban u c a nó (thư ng là m t kh i) t i i m k t thúc (thư ng là m t
kh i khác). Hư ng c a dòng tín hi u ư c xác nh b i mũi tên trên ư ng tín
hi u. M t hư ng ch ư c xác nh cho m t ư ng tín hi u, toàn b các tín hi u
truy n trên các nhánh khác ph i theo hư ng riêng. M i kh i là m t thành ph n x
lý tác ng t i tín hi u và tham s u vào t o ra tín hi u u ra. B i vì các
kh i ch c năng có th là phi tuy n cũng như tuy n tính nên t p h p các kh i ch c
năng riêng v th c t là không gi i h n và h u như không bao gi có s gi ng
nhau gi a các nhà cung c p v ngôn ng c a kh i ch c năng. Tuy nhiên, m t sơ
ba kh i cơ b n ph i ư c thi t l p các ngôn ng sơ kh i có i m chung.
Các kh i này là nút c ng, kh i khu ch i và b tích phân. M t h th ng k t h p
ch t ch ba kh i ó ư c mô t như Hình 1.2.
10. 10
Hình 1.2: Ví d v m t h th ng 3 kh i
1.3.2. B n ch t c a phương pháp mô ph ng
Phương pháp mô ph ng có th nh nghĩa như sau:
“Mô ph ng là quá trình xây d ng mô hình toán h c c a h th ng th c và sau
ó ti n hành tính toán th c nghi m trên mô hình mô t , gi i thích và d oán
hành vi c a h th ng th c”.
Theo nh nghĩa này, có ba i m cơ b n mà mô ph ng ph i t ư c. Th
nh t là ph i có mô hình toán h c t t t c là mô hình có tính ng nh t cao v i h
th c òng th i mô hình ư c mô t rõ ràng thu n ti n cho ngư i s d ng. Th hai
là mô hình c n ph i có kh năng làm th c nghi m trên mô hình t c là có kh năng
th c hi n các chương trình máy tính xác nh các thông tin v h th c. Cu i
cùng là kh năng d oán hành vi c a h th c t c là có th mô t s phát tri n c a
h th c theo th i gian.
Phương pháp mô ph ng ư c xu t vào nh ng năm 80 c a th k 20, t ó
n nay phương pháp mô ph ng ã ư c nghiên c u, hoàn thi n, và ng d ng
thành công vào nhi u lĩnh v c khác nhau như lĩnh v c khoa h c k thu t, khoa
h c xã h i, kinh t , y t ,… Sau ây trình bày m t s lĩnh v c mà phương pháp mô
ph ng ã ư c ng d ng và phát huy ư c ưu th c a mình.
- Phân tích và thi t k h th ng s n xu t, l p k ho ch s n xu t.
- ánh giá ph n c ng, ph n m m c a h th ng máy tính.
- Qu n lý và xác nh chính sách s tr mua s m v t tư c a h th ng kho v t
tư, nguyên li u.
Nút c ng
X+
+_
R E
Y
K
1
D
Y
0
Y
B khu ch i B tích phân
11. 11
- Phân tích và ánh giá h th ng phòng th quân s , xác nh chi n lư c
phòng th , t n công.
- Phân tích và thi t k h th ng thông tin liên l c, ánh giá kh năng làm vi c
c a m ng thông tin.
- Phân tích và thi t k các h th ng giao thông như ư ng s t, ư ng b ,
hàng không, c ng bi n.
- ánh giá, phân tích và thi t k các cơ s d ch v như b nh vi n, bưu i n,
nhà hàng, siêu th .
- Phân tích h th ng kinh t , tài chính.
Phương pháp mô ph ng ư c ng d ng vào các giai o n khác nhau c a
vi c nghiên c u, thi t k và v n hành các h th ng như sau:
+ Phương pháp mô ph ng ư c ng d ng vào giai o n nghiên c u, kh o
sát h th ng trư c khi ti n hành thi t k nh m xác nh nh y c a h th ng i
v i s thay i c u trúc và tham s c a h th ng.
+ Phương pháp mô ph ng ư c ng d ng vào giai o n thi t k h th ng
phân tích và t ng h p các phương án thi t k h th ng, l a ch n c u trúc h
th ng th a mãn các ch tiêu cho trư c.
+ Phương pháp mô ph ng ư c ng d ng vào giai o n v n hành h th ng
ánh giá kh năng ho t ng, gi i bài toán v n hành t i ưu, ch n oán các trang
thái c bi t c a h th ng.
Quá trình mô hình hóa ư c ti n hành như sau: G i h th ng ư c mô
ph ng là S. Bư c th nh t ngư i ta mô hình hóa h th ng S v i các m i quan h
n i t i c a nó. thu n ti n trong vi c mô hình hóa, ngư i ta thư ng chia h S
thành nhi u h con theo các tiêu chí nào ó S = S1, S2, S3, … , Sn. Ti p n ngư i
ta mô t toán h c các h con cùng các quan h gi a chúng. Thông thư ng gi a các
h con có m i quan h trao i năng lư ng và trao i thông tin. Bư c th hai
ngư i ta mô hình hóa môi trư ng xung quanh E, nơi h th ng S làm vi c, v i các
12. 12
m i quan h tác ng qua l i gi a S và E. Khi ã có mô hình c a S và E, ngư i ta
ti n hành các th c nghi m trên mô hình, t c là cho S và E làm vi c m t i u
ki n xác nh nào ó. K t qu ngư i ta thu ươc m t b thông s c a h th ng,
hay thư ng g i là xác nh ư c m t i m làm vi c c a h th ng. Các th c
nghi m ó ư c l p l i nhi u l n và k t qu mô ph ng ư c ánh giá theo xác su t
th ng kê. K t qu mô ph ng càng chính xác n u s l n th c nghi m, còn g i là
bư c mô ph ng càng l n. V lý thuy t bư c mô ph ng là h u h n nhưng ph i
l n và ph thu c vào yêu c u c a chính xác.
Hình 1.3 trình bày quá trình nghiên c u b ng phương pháp mô ph ng và
quan h gi a h th ng th c v i k t qu mô ph ng.
Hình 1.3 Quá trinh nghiên c u b ng phương pháp mô ph ng
Nhìn vào hình 1.3 ta th y r ng nghiên c u h th ng th c ta ph i ti n
hành mô hình hóa t c là xây d ng mô hình mô ph ng. Khi có mô hình mô ph ng
s ti n hành làm các th c nghi m trên mô hình thu ư c các k t qu mô ph ng.
Thông thư ng k t qu mô ph ng có tính tr u tư ng c a toán h c nên ph i thông
qua x lý m i thu ư c các thông tin k t lu n v h th ng th c. Sau ó dùng các
thông tin và k t lu n trên hi u ch nh h th c theo m c ích nghiên c u ã ra.
13. 13
1.3.3. Các bư c nghiên c u mô ph ng
Hình 1.4 Các bư c nghiên c u mô ph ng
Khi ti n hành nghiên c u mô ph ng thông thư ng ph i th c hi n qua 10
bư c như ư c bi u di n b i lưu như hình 1.4.
Bư c 1: Xây d ng m c tiêu mô ph ng và k ho ch nghiên c u.
14. 14
i u quan tr ng trư c tiên là ph i xác nh rõ m c tiêu nghiên c u mô
ph ng. M c tiêu ó ư c th hi n b ng các ch tiêu ánh giá, b ng h th ng các
câu h i c n ư c tr l i.
Bư c 2: Thu th p d li u và xác nh mô hình nguyên lý.
Tùy theo m c tiêu mô ph ng mà ngư i ta thu th p các thông tin, các d li u
tuơng ng c a h th ng S và môi trư ng E. Trên cơ s ó xây d ng mô hình
nguyên lý Mnl, mô hình nguyên lý ph n ánh b n ch t c a h th ng S.
Bư c 3: H p th c hóa mô hinh nguyên lý Mnl
H p th c hóa mô hình nguyên lý là ki m tra tính úng n, h p lý c a mô
hình. Mô hình nguyên lý ph i ph n ánh úng b n ch t c a h th ng S và môi
trư ng E nhưng ng th i cũng ph i ti n d ng, không quá ph c t p c ng k nh.
N u mô hình nguyên lý Mnl không t ph i thu th p thêm thông tin, d li u ti n
hành xây d ng l i mô hình.
Bư c 4: Xây d ng mô hình mô ph ng Mmp trên máy tính.
Mô hình mô ph ng Mmp là nh ng chương trình ch y trên máy tính. Các
chương trình này ư c vi t b ng các ngôn ng thông d ng như FORTRAN,
PASCAL, C++
, ho c các ngôn ng chuyên d ng mô ph ng như GPSS,
SIMSCRIPT,…
Bư c 5: Ch y th
Sau khi cài t chương trình, ngư i ta ti n hành ch y th xem mô hình mô
ph ng có ph n ánh úng các c tính c a h th ng S và môi trư ng E hay không.
giai o n này cũng ti n hành s a ch a các l i v l p trình.
Bư c 6: Ki m ch ng mô hình
Sauk hi ch y th ngư i ta có th ki m ch ng và ánh giá mô hình mô
ph ng có t yêu c u hay không, n u không ph i quay l i t bư c 2.
Bư c 7: L p k ho ch th nghi m
15. 15
bư c này ngư i ta ph i xác nh s l n th nghi m, th i gian mô ph ng
c a t ng b ph n ho c toàn b mô hình. Căn c vào k t qu mô ph ng ( bư c 9),
ngư i ta ti n hành hi u ch nh k ho ch th nghi m t ư c k t qu v i
chính xác theo yêu c u.
Bư c 8: Th nghi m mô ph ng
Cho chương trình ch y th nghi m theo k ho ch ã ư c l p bư c 7.
ây là bư c th c hi n vi c mô ph ng, các k t qu l y ra t bư c này.
Bư c 9: X lý k t qu
Th nghi m mô ph ng thư ng cho nhi u d li u có tính th ng kê xác su t.
Vì v y, có k t qu cu i cùng v i chính xác theo yêu c u, c n ph i th c hi n
vi c x lý các k t qu trung gian. Bư c x lý k t qu óng vai trò quan tr ng trong
quá trình mô ph ng.
Bư c 10: S d ng và lưu tr k t qu .
S d ng k t qu mô ph ng vào m c ích ã nh và lưu gi dư i d ng các
tài li u có th s d ng nhi u l n.
1.3.4 M t s môi trư ng mô ph ng thư ng g p
- Matrix/ System Build
- Easy 5
- Matlab/ Simulink
- LabView
- VisSim
…
16. 16
CHƯƠNG II
MÔI TRƯ NG MATLAB VÀ CÁCH L P TRÌNH
2.1 Gi i thi u môi trư ng làm vi c Matlab
2.2 Các hàm toán
Chương trình Matlab có s n r t nhi u hàm toán t p h p trong b ng sau ây.
xem k hơn, có th s d ng các l nh help elfun ho c help datafun. T t c các
hàm trong b ng u có kh năng s d ng tính v i vector.
Các hàm toán
sqrt(x) Căn b c hai rem(x, y) S dư c a phép chia x/y
exp(x) Hàm mũ cơ s e round(x) Làm tròn s
log(x) Logarithm t nhiên ceil(x) Làm tròn lên
log10(x) Logarithm cơ s th p phân floor(x) Làm tròn xu ng
abs(x) Giá tr tuy t i sum(v) T ng các ph n t vector
17. 17
sign(x) Hàm d u prod(v) Tích các ph n t vector
real(x) Ph n th c min(v) Ph n t vector bé nh t
imag(x) Ph n o max(v) Ph n t vector l n nh t
phase(x) Góc pha c a s ph c mean(v) Giá tr trung bình c ng
Các hàm lư ng giác
sin(x) Hàm sin atan(x) Hàm arctg ± 900
cos (x) Hàm cos atan2(x) Hàm arctg ± 1800
tan(x) Hàm tg sinc(x) Hàm sin (pi x)/(pi x)
2.3 Tính toán v i vector và ma tr n
2.3.1. Khai báo vector và ma tr n
Matlab có m t s l nh c bi t khai báo ho c x lý vector và ma tr n.
Cách ơn gi n nh t khai báo, t o nên vector ho c ma tr n là nh p tr c ti p. Khi
nh p tr c ti p, các ph n t c a m t hàng ư c cách b i d u ph y ho c v trí cách
b tr ng (trong các trư ng h p khác Matlab s b qua v trí tr ng, các hàng ngăn
cách b i d u (;) ho c ng t dòng.
Ví d :
>> my_vector = [2 3 4]
my_vector =
2 3 4
>> my_matrix = [my_vector; 5 6 7]
my_matrix =
2 3 4
5 6 7
18. 18
Vector có các ph n t ti p di n v i m t bư c i nh t nh, có th ư c
nh p m t cách ơn gi n nh toán t (:) như sau:
Start: increment: destination
N u ch nh p start và destination thì Matlab s t ng t increment là +1.
Ví d :
>> my_vector = (1:3:8)
my_vector =
1 4 7
>> my_vector1 = (1:8)
my_vector1 =
1 2 3 4 5 6 7 8
Cũng có th nh p các vector tuy n tính cũng như vector có phân h ng
logarithm b ng cách dùng l nh:
linspace(start, destination, number)
logspace(start, destination, number)
i v i logspace thì start và destination ư c nh p b i s mũ th p phân,
ví d : 100 = 102
ta ch c n nh p 2.
Ví d :
>> linspace(1,7,3)
ans =
1 4 7
>> logspace(1,3,5)
ans =
1.0e+003 *
19. 19
0.0100 0.0316 0.1000 0.3162 1.0000
B ng các hàm ones(line, column) và zeros(line, column) ta t o các ma
tr n có ph n t là 0 ho c 1. Hàm eye(line) t o ma tr n ơn v , ma tr n toàn
phương v i các ph n t 1 thu c ư ng chéo, t t c các ph n t còn l i là 0. Kích
c c a ma tr n hoàn toàn ph thu c ngư i nh p.
Ví d :
>> ones(2,2)
ans =
1 1
1 1
>> zeros(2,2)
ans =
0 0
0 0
>> eye(3)
ans =
1 0 0
0 1 0
0 0 1
Vi c truy c p t ng ph n t c a vector ho c ma tr n ư c th c hi n b ng
cách khai báo ch s c a ph n t , trong ó c n lưu ý r ng: Ch s bé nh t là 1 ch
không ph i là 0. c bi t, khi c n xu t t ng hang hay t ng c t, có th s d ng
toán t (:) m t cách r t l i h i. N u d u (:) ng m t mình, i u y có nghĩa là:
Ph i xu t m i ph n t thu c hàng hay c t.
Ví d :
20. 20
>> my_matrix(2,3)
ans =
7
Matlab có m t l nh r t h u ích, ph c v t o ma tr n v i ch c năng tín hi u
th , ó là rand(line, column). Khi g i, ta thu ư c ma tr n v i ph n t mang các
giá tr ng u nhiên.
Ví d :
>> rand (2,3)
ans =
0.9501 0.6068 0.8913
0.2311 0.4860 0.7621
2.3.2. Tính toán v i vector và ma tr n
Nhi u phép tính có th ư c áp d ng cho vector và ma tr n.
- Các phép tính v i t ng ph n t : .* . / .^
>> [2 3 4] .* [1 2 3]
ans =
2 6 12
>> [2 3 4] .^ [1 2 3]
ans =
2 9 64
- Chuy n v ma tr n matrix:
transpose (maxtrix) ho c matrix.’
>> transpose (my_matrix)
ans =
21. 21
2 5
3 6
4 7
- Chuy n v ma tr n matrix có ph n t ph c liên h p:
ctranspose (maxtrix) ho c matrix’
( i v i các giá tr th c, hai l nh trên cho ra k t 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 tr n:
inv(matrix)
>> matrix = [1 2;4 9]
matrix =
1 2
4 9
- Tính nh th c c a ma tr n:
det(matrix)
>> det(matrix)
ans =
22. 22
1
- Tính các giá tr riêng c a ma tr n:
eig(matrix)
>> eig(matrix)
ans =
0.1010
9.8990
- Xác nh h ng c a ma tr n:
rank(maxtrix)
>> rank (my_matrix)
ans =
2
- Tính vector sai phân:
diff(vector [n])
>> vector= [1 2 3]
vector =
1 2 3
>> diff(vector)
ans =
1 1
- Ch p vector (nhân a th c): n u hai vector c n ch p có s ph n t là các h
s c a hai a th c, k t qu thu ư c s ng v i các h s sau khi nhân hai a th c
ó v i nhau.
conv(vector 1, vector 2)
23. 23
>> vector1 = [2 3 4]
vector1 =
2 3 4
>> vector2 = [1 2 3]
vector2 =
1 2 3
>> conv(vector1,vector2)
ans =
2 7 16 17 12
2.4 Các phép so sánh và phép toán Logic
Các phép tính logic có th s d ng cho t t c các s . Khi tính, các giá tr
khác 0 ng v i logic true và các giá tr 0 ng v i logic false. Khi xu t giá tr lên
màn hình ta s ch thu ư c các s 0 ho c 1.
Phép so sánh
== eq(a,b) b ng
~= ne(a,b) khác
< lt(a,b) bé hơn
<= le(a,b) bé hơn ho c b ng
> gt(a,b) l n hơn
>= ge(a,b) l n hơn ho c b ng
Phép tính logic
~ not(a,b) Negation (NOT)
& and(a,b) AND
| or(a,b) OR
xor(a,b) exclusive OR
Chú ý:
24. 24
- Các phép tính ư c th c hi n theo trình t : trư c h t là các bi u th c toán,
ti p theo là các bi u th c logic. Tuy nhiên, khi có c m giác không ch c ch n, có
th dùng cách vi t v i d u ngo c ơn.
- M t l nh h u ích là exist(variable) giúp ki m tra xem trong Workspace có
t n t i bi n hay hàm nào tên là variable hay không: N u không: N u không ta thu
ư c k t qu là s 0, n u k t q là s khác 0, ó chính là s nói lên b n ch t c a
variable, ch ng h n 1 nói r ng variable là bi n trong wordspace, 2 nói r ng
variable là m t Matlab File trong thư m c Matlab, … Có th xem danh m c các
l nh nh help ops.
2.5 Bi n, c u trúc và trư ng
2.5.1. Bi n
Thông thư ng, k t qu c a các bi n ư c gán cho ans. S d ng d u = ta có
th nh nghĩa m t bi n, ng th i gán giá tr cho bi n ó. Khi nh p tên c a m t
bi n mà không gán giá tr , ta thu ư c giá tr hi n t i c a bi n. T t c các bi n u
là bi n global trong Workspace. Tên c a bi n ó có th ch a t i 32 ch cái, g ch
ngang th p (_) cũng hư ch s . Ch vi t hoa và ch thư ng u ư c phân bi t.
Vi c nh p giá tr có th ư c th c hi n thành m t chu i l nh trong cùng
m t dòng, ch cách nhau b i d u (;). N u s d ng d u ph y (,) tách các l nh,
khi y các giá tr s ư c xu t ra màn hình.
Ví d :
>> variable_1 = 25; variable_2 = 10;
>> variable_1
variable_1 =
25
>> a = variable_1 + variable_2, A = variable_1/variable_2
a =
25. 25
35
A =
2.5000
M t s tên bi n như pi, i, j và inf ã ư c Matlab dùng ch các h ng s
hay ký hi u, v y nên ta ph i tránh s d ng chúng. i v i các phép tính b t nh
(0/0), trên màn hình s hi n k t qu NaN (Not A Number). Eps cho ta bi t c p
chính xác tương i khi bi u di n s v i d u ph y ng (Ví d : eps = 2.2204e-
016)
Ví d :
>> 1/0
Warning: Divide by zero.
ans =
Inf
>> 0/0
Warning: Divide by zero.
ans =
NaN
2.5.2. C u trúc
thu n ti n cho vi c qu n lý và s d ng, ta có th t p h p nhi u bi n l i
trong m t c u trúc. Trong ó m i m ng có m t tên riêng (m t chu i ký t string)
t gi a hai d u (‘ ’) có kèm theo giá tr . M t c u trúc ư c t o nên b i l nh
struct(‘name_1’, value_1, ‘name_2’, value_2, …)
>> matrix=[2 3 4;3 4 5]
matrix =
26. 26
2 3 4
3 4 5
>> my_struct=struct('data',matrix,'size',[2,3]);
Vi c truy c p vào d li u ư c th c hi n v i d u (.)
>> my_struct(2).data=matrix.^(-1);
>> my_struct(2).data(1,:)
ans =
0.5000 0.3333 0.2500
C u trúc móc vòng
Các c u trúc ương nhiên cũng có th ư c t o nên móc vòng v i nhau. Ví
d sau ây minh h a kh năng ó: Ta khai báo m t c u trúc có tên là componist
v i m ng u tiên có tên là name, ư c gán giá tr là chu i ký t ‘Johann
Sebastian Bach’. M t c u trúc th 2 có tên datum v i 3 m ng Day, Month và
Year c t gi ngày, tháng và năm sinh. Sau ó ta gán c u trúc datum vào m ng
born c a c u trúc 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'
27. 27
born: [1x1 struct]
Ta gán cho m ng name c a c u trúc componist giá tr m i là chu i ký t
‘Wolgang Amadeus Mozart’. Các giá tr c a m ng born ư c gán tr c ti p:
>> 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
C u trúc componist lúc này mang c i m c u trúc c a các vector, vì
v y có th x lý các ph n t c a c u trúc ó như các vector. Trong ví d v a nêu,
các vector ó chính là hai m ng name và born:
>> componist
componist =
1x2 struct array with fields:
name
born
28. 28
2.5.3. Trư ng
T ng quát m t m c cao hơn c u trúc là trư ng. ó chính là các Array
(m ng nhi u chi u), ch a Cell (t bào) v i d li u thu c các lo i và kích c khác
nhau. Ta có th t o ra Cell Array b ng l nh cell, ho c ơn gi n b ng cách ghép
các ph n t bên trong d u ngo c { }. T ng ph n t c a Cell Array có th ư c
truy c p như các vector, ma tr n thong thư ng ho c như các Array nhi u chi u, ch
c n lưu ý r ng: Thay vì s d ng d u ngo c tròn ( ) ta s d ng d u ngo c móc { }.
Gi s ta t o m t Cell Array r ng có tên my_sell như sau:
>> my_sell = cell(2,3)
my_sell =
[] [] []
[] [] []
Bây gi ta l n lư t gán cho t ng m ng c a my_cell các giá tr sau ây,
trong ó có c các ph n t c u trúc componist(1) và componist(2) m c
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 nh p tên c a Cell Array trên màn hình hi n lên y c u trúc c a nó.
Có th bi t n i dung(hay giá tr ) c a m t hay nhi u Cell khi ta nh p các ch s c a
Cell:
>> my_cell
29. 29
my_cell =
[1x36 char ] [ 10] [2x2 double]
[1x1 struct] [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 Qu n lý bi n
Kích c c a vector hay ma tr n ư c xác nh b i l nh size(variable). i
v i vector còn có th dùng l nh length(variable), và khi s d ng l nh ó cho
ma tr n ta s thu ư c giá tr c a vector mang kích c l n nh t. Ngoài ra m t bi n
có th có kích c là 0, n u nó ã ư c t o nên b i l nh variable = [].
>> a = [2 4 5;1 2 4]
a =
2 4 5
1 2 4
30. 30
>> length(a)
ans =
3
>> size(a)
ans =
2 3
>> variable = []
variable =
[]
B ng l nh who ta có th ki m tra ư c m i bi n ang t n t i trong
Workspace nh danh m c hi n trên màn hình. B ng whos ta còn bi t thêm các
thông tin v kích c và nhu c u b nh c a bi n. B ng l nh clear[variable_1
variable_2 …] ta có th xoá có ch ích m t s bi n nh t nh, n u ch g i clear
ta s xoá toàn b bi n trong Workspace.
>> whos
Name Size Bytes Class
a 2x3 48 double array
ans 1x1 8 double array
b 3x2 48 double array
componist 1x2 1256 struct array
datum 1x1 398 struct array
my_cell 2x3 1878 cell array
variable 0x0 0 double array
Grand total is 221 elements using 3636 bytes
31. 31
2.7 R nhánh và vòng l p
2.7.1 L nh r nhánh if và switch
B ng các phép so sánh và logic m c trư c, ta có th ưa ra ư c các quy t
nh, phân bi t các trư ng h p. làm i u ó, Matlab có các l nh 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 trư ng h p trên, các l nh con ư c ngăn cách b i d u (;) và d u
(,). Trong các Scripts, thư ng ta hay vi t nhi u c u trúc if và switch móc vòng,
an xen l n nhau.
2.7.2 Vòng l p for và while
B ng vòng l p ta có th th c hi n l p l i nhi u l n m t s l nh nh t nh:
- For variable = term command end
- While term command end
Trong c hai trư ng h p, l nh break u có tác d ng k t thúc vòng l p.
vidu.m
for k=1:0;
k^2
32. 32
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 trên vòng l p for ã không h ư c th c hi n vì ph m vi 1:0
c a k là ph m vi r ng và i u ki n ng ng ư c ki m tra trư c. Ngư c l i, cũng
trong ví d ó vòng l p while ã ư c th c hi n ít nh t m t l n vì i u ki n
ng ng ch ư c ki m tra sau cùng. Ngoài ra, vòng while c n hai l nh end k t
thúc.
2.7.3 Gián o n b ng continue và break
Hai l nh hay ư c s d ng i u khi n chu trình tính toán là continue và
break. Trong vòng l p for hay while, khi g i continue ngay l p t c chu trình
33. 33
tính chuy n sang bư c l p k ti p, m i l nh chưa th c hi n c a vòng l p s b b
qua.
L nh break còn m nh hơn: Ng ng vòng l p ang tính. L nh break có tác
d ng c trong các c u trúc r nhánh dùng if, switch. N u break ư c s d ng
ngoài vòng for, while trong ph m vi c a m t script file hay function c a
Matlab, khi y script file và function s b ng ng t i v trí c a break.
Ví d : Ki m tra xem trong các s nguyên thu c kho ng 3 – 7, s nào là s
nguyên t . Vi c ki m tra ư c th c hi n m ch vòng bên ngoài.
>>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
M ch vòng trong có nhi m v : L n lư t chia s c n ki m tra m cho t t c
các s trong kho ng t 2 t i (m-1), sau ó ki m tra xem s dư mod(m, n) c a phép
chia có khác 0 hay không. N u s dư b ng 0, khi y m chia h t cho n và l nh
continue không ư c g i, l nh fprintf xu t thông báo lên màn hình. N u s
dư khác 0, khi y m không chia h t cho n và l nh continue có hi u l c, l nh
fprintf và break b b qua chuy n sang ki m tra vòng l p m i v i n l n
hơn. N u m không chia h t cho các s trong kho ng t 2 n (m-1), mà ch chia
34. 34
h t cho 1 và b n thân m, khi y m là s nguyên t . Vi c ki m tra n == m-1 là c n
thi t, vì n u m không ph i là s nguyên t , và vì v y vòng l p phía trong ã ư c
r i b b i l nh break ti p t c các l nh thu c vòng l p phía ngoài.
Matlab ưa ra k t q a trên màn hình như sau:
!! 3 is a prime number!
2 is not a prime number!
3 ….
xem t t c các l nh t o kh năng i u khi n chương trình tính toán, ta
g i l nh help lang.
2.8 Các scripts và các hàm c a Matlab
2.8.1. Các scripts c a Matlab
Bên c nh kh năng nh p l nh tr c ti p, ta có th vi t và c t nhi u chu i
l nh trong các script c a Matlab dư i d ng file v i ký t ASCII (m-file). M t
script ư c khai báo tên không có uôi .m. so n th o các file ó ta có th s
d ng trình so n th o c a Matlab b ng cách g i menu File/New/M-file ho c
File/Open. Cũng có th g i tr c ti p nh nút nh n trên c a s Matlab. N u chưa
cài t trình so n th o ó, có th s d ng b t kỳ trình so n th o ASCII nào khác
cũng ư c.
35. 35
Hình 2.3 Trình so n th o c a Matlab v i ví d file PWM.M
Vì m t dòng l nh có th tr nên quá dài, ngư i s d ng có th xu ng dòng
(chưa k t thúc) b ng d u …
2.8.2. Các hàm c a Matlab
M t d ng c bi t c a hàm m-files là các hàm c a Matlab (các function).
Khi g i m t function ta có th chuy n giao d li u cho function hay nh n d
li u do function ó tr l i. Ngoài ra, m t function cũng có th ư c các
function khác hay script g i, và m t script cũng có th ư c các scripts g i.
Các bi n trong ph m vi m t function là bi n local (c c b ). Các bi n
global (toàn c c, có giá tr s d ng chung) ư c nh nghĩa b i l nh global
variable… L nh nh nghĩa ó ph i ư c g i tr c ti p t Command Windows c a
36. 36
Matlab, hay t m t script, và cũng có th nh nghĩa trong ph m vi m t
function.
Trong ph m vi function ta có th s d ng hai bi n nargin và nargout
xác nh s lư ng d li u ư c chuy n giao hay nh n tr l i.
N u m t Matlab script hay m t Matlab function l n u tiên ư c g i,
Matlab s d ch ra mã o, là mã s ư c kích ho t th c hi n nhi m v t ra cho
script hay function. N u v sau không có s thay i gì trong m-file, quá trình
d ch s không x y ra l n th hai. B ng l nh clear functions ta có th xoá
cư ng b c các hàm ã d ch, ng th i gi nguyên các m-files.
2.9 Nh p xu t d li u
Thông thư ng, Matlab tìm ư c các script hay d li u, b t bu c các file
liên quan ph i n m t i thư m c hi n t i. M t s l nh i u hành và qu n lý file
pwd Hi n th thư m c hi n t i
dir […] Hi n th n i dung c a thư m c […]
ls […] Hi n th n i dung c a thư m c […]
cd directory Chuy n thư m c
mkdir directory T o thư m c m i
copyfile source destination Sao chép (copy) file
delete file Xoá file
! commando G i l nh t h i u hành
37. 37
CHƯƠNG III
H A TRONG MATLAB
3.1 Cơ s ho Matlab
Khuôn kh c a m i thao tác xu t ho trên n n Matlab là Figure. Có th
t o ra c a s như hình 2.2 b ng cách g i l nh figure và m i figure s t ng
ư c ánh s .
>> figure
Có th g i m t figure ã có s b ng l nh figure(number). S c a figure
s hi n th n u ta g i gcf (Get hendle to Current figure).
>> gcf
ans =
1
38. 38
B ng l nh subplots (row, column, counter), có th chia u m t figure
thành nhi u subplots ( ho con) ư c counter (b m) ánh s phía trên
bên trái. N u vi c ánh s ch c n m t ch s , chúng s ư c vi t tu n t không
c n d u ph y hay d u cách.
Có th xoá n i dung c a m t figure b ng l nh clf (clear current figure),
và l nh delete figure(number) s xoá chính figure. Tương t , l nh
close(number) s óng figure mang s number còn l nh close all s óng t t
c các figures ang m . Có th xem c i m c a m t figure b ng l nh get, v i
l nh set ta l i có th l p c i m cho figure.
Vi c l p trình ho trong Matlab luôn ph thu c vào i tư ng c th và
vô cùng phong phú. M t công c làm nh b t công vi c là trình so n th o c tính
ho (property editor) v i c a s gi i thi u hình sau:
Vi c phân chia thang b c c a tr c thư ng ư c Matlab t ng th c hi n.
Tuy nhiên, ta có th phân chia th công trong trư ng h p hai chi u (2-D) b ng
l nh axis([x_min,x_max,y_min,y_max]) và trong trư ng h p ba chi u (3-D)
axis([x_min,x_max,y_min,y_max,z_min,z_max]). L nh axis(’auto’) s trao
quy n chia tr c l i cho Matlab. L nh grid on s t o ra m t lư i to ng v i
cách chia tr c ã xác nh. i v i ho 3-D ta có thêm l nh box on t o
khung bao cho 3-D-Plot.
39. 39
i n ký t vào m t ho ta có nhi u kh năng khác nhau: Dùng
xlabel(string), ylabel(string), zlabel(string) i n tên cho tr c; dùng
title(string) i n tên cho figure. Ngoài ra ta còn có th vi t các ký t lên cao,
t t th p hay các ký t Hy L p.
B ng l nh legend(string_1,string_2,…, [position]) ta có th i n thêm
m t s l i ghi chú vào ho . V trí c a l i ghi chú ư c xác nh b i s ghi
trong [position], v i ý nghĩa: 1…4 s t l i ghi chú vào 4 góc, 0 t t ng và -1
t vào bên ph i, c nh ho . L nh text(x_value,y_value,string) cho phép ta
i n m t o n văn b n v i n i dung string vào to b t kỳ x_value, y_value
trong ho .
S d ng l nh zoom on | off dung chu t c t và co dãn m ng ó.
Ngoài ra, c a s figure còn có m t vài nút cho phép dung chu t i n o n văn
b n, v thêm nét ho c mũi tên, và m Property Editor.
Có th thêm thông tin chi ti t v xu t ho ra màn hình b ng cách g i
help graph2d, help graph3d và help specgraph.
3.2 ho 2 chi u
L nh plot (x_value,y_value …[,plotstyle]) v th n i các i m cho b i
c p giá tr x_value, y_value. Thông thư ng các i m ó ư c n i b i m t nét li n.
N u ta n p luân phiên nhi u vector x/y, ta s thu ư c nhi u nét n i c l p v i
nhau. N u thi u x_value, khi y các giá tr c a y_value s ư c v theo th t ch
s c a chúng. N u y_value là các giá tr ph c, khi y th v v i hai tr c o và
tr c th c. L nh stars cũng ư c vi t v i cú pháp tương t nhưng s t o ra th
b c thang.
Chu i ký t plotstyle c u t o b i hai thành ph n: Thành ph n th nh t là
m t ch cái ch n m u và thành ph n th hai là chu i ký hi u c trưng cho
d ng ch m/ g ch n i t o nên nét th .
40. 40
M u
k en r
b Xanh lam m s m
c Xám y Vàng
g Xanh lá cây w Tr ng
Nét và i m
- Nét li n o Ch m tròn
-- Nét t * Ch m sao
: Nét g ch ch m + D u c ng
. Nét ch m × D u nhân
M i l n g i m i l nh plot, các th ã có trong Figure (ho c trong
Subplot) hi n t i s b xoá. Có th ngăn ch n các i u ó b ng cách g i l nh hold
on sau l nh plot u tiên.
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));
41. 41
L nh fplot(function, range) trong ví d trên minh h a kh năng v tr c
ti p các hàm tư ng minh. Ngoài ra, Matlab còn t o i u ki n v các hàm không
tư ng minh m t cách d dàng nh l nh ezplot(function_1, [function_2,] range).
Hai l nh semilogx và semilogy cũng có cú pháp gi ng như plot v i
i m khác duy nh t: Hai tr c x và y ư c chia thang logarithm. L nh loglog có
tác d ng chia ng th i c hai tr c x và y theo thang logarithm.
th BODE v b ng l nh bode:
>> figure;
>> pt1 = tf ([1],[0.04 1]);
>> pd = tf ([0.04 1], [1]);
>> bode (pt1,'b-',pd,'r--')
42. 42
3.3 ho 3 chi u
3.3.1 Các l nh Plots
L nh plot3 có tác d ng tương t như l nh plot, i m khác duy nh t là
plot3 có thêm vector s li u th ba dành cho tr c z.
>> phi = (0:100) / 100*2*pi;
>> plot3(sin(2*phi), cos(3*phi), phi, 'b*');
43. 43
bi u di n các hàm 2 chi u dư i d ng m t trong không gian ta s d ng
l nh surf(x_value, y_value, z_value… [, color]). N u x_value, y_value, z_value là
các ma tr n có s hàng và s c t gi ng nhau, khi y các i m c a ho s ư c
v và n i li n thành m t.
N u các i m có m t kho ng cách u n v phía hai tr c x và y, khi y
x_value và y_value có th ch là vector. Trong trư ng h p này, các giá tr x_value
ư c chu n theo c t và y_value chu n theo hang c a ma tr n z_value.
Hai l nh mesh và waterfall có cú pháp gi ng như surf, nhưng l i t o
ra m t lư i không i n y và ho ki u thác nư c. Ngư c l i contour l i v
nên các ư ng “ ng m c” ( ư ng n i các i m có cùng z_value).
44. 44
Ngoài ra ta còn có th thêm m t ma tr n color xác nh m u cho ho .
M i ph n t c a color ng v i m t ph n t c a z_value. Các giá tr m u s ư c
s d ng trong m t b ng m u, và ta có th thay i b ng ó nh l nh
colormap(name). N u không khai báo ma tr n m u, Matlab s t ng gán color
= z_value. D i m u có th ư c co dãn thang nh l nh caxis (color_min,
color_max).
3.3.2 Ph i c nh trong ho 3-D
Có th dùng l nh view(horizontal,vertical) ph i c nh cho ho 3
chi u b ng cách khai các góc theo phương n m ngang và phương th ng ng tính
b ng (o
, Degree). Góc chu n cho trư c là (-37.5o
, 30o
). Ngoài ra, cũng có th
t o d ng hay thay i ph i c nh b ng cách nháy và kéo th chu t, sau khi ã g i
l nh rotate3d.
3.3.3 Nh p, xu t và in ho
N u c n ph i gán m t File ho có s n vào khuôn hình c a Figure, ta có
th s d ng hai l nh variable = imread(file,fmt) và image(variable).
>> anh = imread('anh1.jpg','jpeg');
>> image(anh)
45. 45
B ng l nh imread ta gán File ho v i nh d ng fmt cho bi n variable.
N u variable nh n hình nh ch bao g m gam màu xám, variable s là m t bi n 2
chi u. N u ó là hình nh m u RGB, variable s là m t m ng 3 chi u. nh d ng
c a ho ư c khai báo b i fmt. L nh image (variable) s xu t ho m i gán
cho variable ra màn hành Figure có ch a nh v i nh d ng .jpg
ho Figure c a Matlab cũng có th ư c xu t sang các nh d ng khác.
L nh print –fnumber s in Figure mang s number ra máy in. L nh print –
fnumber -dfmt file s xu t Figure thành file v i các nh d ng ho khác. Ví
d : bmp (Windows bitmap), emf (Enhanced meta), eps (EPS level 1), jpg
(JPEG image), pcx (Paintbrush 24-bit) hay tif (TIFF image, compressed).
bi t chi ti t hãy g i l nh help print.
N u c n ph i lưu l i sau này x lý, có th c t các ho ã thu ư c
thành File v i nh d ng fig c a Matlab. c t ho c ta i theo menu File / Save
as, ho c g i l nh saveas(handle, ‘file’ [,format]). L nh saveas c t handle
(Figure hi n t i, có th dùng gcf h i) thành t p có tên file v i m t trong các
nh d ng: ‘fig’ (File nh phân), ‘m’ (g m m t File fig và m t File Script).
46. 46
CHƯƠNG IV
CƠ S SIMULINK
4.1 Kh i ng Simulink
có th làm vi c v i Simulink, trư c h t ta ph i kh i ng Matlab. N u
ch y dư i h i u hành Linux, sau khi th c hi n l nh simulink3 ta s thu ư c
c a s thư vi n c a Simulink. N u làm vi c dư i Windows, sau khi g i simulink
ta có c a s tra c u thư vi n như sau:
47. 47
Các thư vi n con Source (các kh i ngu n tín hi u), Sinks (các kh i xu t tín
hi u), Math (các kh i ghép n i toán h c) và Signals & Systems (các kh i tín hi u
và h con) s ư c gi i thi u trong ph m vi chương này.
Tính ch t c a các kh i ch c năng
Tât c các kh i ch c năng u ư c xây d ng theo m t m u gi ng nhau
như sau:
M i kh i có m t hay nhi u u vào/ra (tr trư ng h p ngo i l : các kh i
thu c hai thư vi n con Source và Sinks), có tên và trung tâm c a hình kh i ch
nh t có bi u tư ng th hi n c i m riêng c a kh i. Ngư i s d ng có th tuỳ ý
thay i tên c a kh i (nháy kép phím chu t trái vào v trí tên), tuy nhiên, m i tên
ch có th s d ng m t l n duy nh t trong ph m vi c a s mô hình mô ph ng. Khi
nháy kép phím chu t trái tr c ti p vào kh i ta s m c a s tham s Block
Parameters (tr các kh i Scope, Slider Gain, Subsystem) và có th nh p th công
các tham s c trưng c a kh i. Khi nh p xong, nháy chu t trái vào nút OK hay
nút Apply Simulink ch p nh n các tham s v a nh p. N u nháy kép phím chu t
trái vào nút Help ta s m c a s c a ti n ích tr giúp tr c tuy n. Nháy m t l n
48. 48
phím chu t ph i tr c ti p vào kh i có tác d ng m menu ch a các l nh cho phép
so n th o và l p nh d ng kh i.
Simulink phân bi t hai lo i kh i ch c năng: Kh i o (vitural) và kh i th c
(not vitural). Các kh i th c óng vai trò quy t nh khi ch y mô ph ng mô hình
Simulink. Vi c thêm hay b t m t kh i th c s thay i c tính ng h c c a h
th ng ang ư c mô hình Simulink mô t . Có th nêu nhi u ví d v kh i th c
như: kh i Sum hay kh i Product c a thư vi n con Math. Ngư c l i các kh i o
không có kh năng thay i c tính c a h th ng, chúng ch có nhi m v thay i
di n m o ho c a mô hình Simulink. ó chính là các kh i như Mux, Demux,
hay Enable thu c thư vi n con Signal & System. M t s kh i ch c năng mang c
tính o hay th c tuỳ thu c theo v trí hay cách th c s d ng chúng trong mô hình
Simulink.
Mô hình Simulink
T c a s thư vi n kh i (Library) hay t c a s truy c p thư vi n (Library
Browser) ta có th t o ra các c a s mô ph ng m i b ng cách i theo menu File /
New / Model, ho c m các File có s n qua menu File / Open. M t File Simulink
khi ư c c t gi s có uôi .mdl.
4.2 Các thao tác cơ b n v i Simulink
• Sao chép: B ng cách g p và th “Drag & Drop” nh phím chu t ph i là có
th sao chép m t kh i t thư vi n con (cũng có th t m t c a s khác ngoài thư
vi n).
• Di chuy n: Ta có th d dàng di chuy n m t kh i trong ph m vi c a s c a
kh i ó nh phím chu t trái.
• ánh d u: B ng cách nháy phím chu t trái vào kh i ta có th ánh d u, l a
ch n t ng kh i, ho c kéo chu t ánh d u nhi u kh i m t lúc.
49. 49
• Xóa: có th xóa các kh i và các ư ng n i ã b ánh d u b ng cách g i
l nh menu Edit / Clear. B ng menu Edit / Undo ho c t h p phím Ctrl+Z ta có th
c u vãn l i ng tác xóa v a th c hi n.
• H th ng con: B ng cách ánh d u nhi u kh i có quan h ch c năng, sau
ó gom chúng l i thông qua menu Edit / Create Subsystem, ta có th t o ra m t h
th ng con m i.
• N i hai kh i: Dùng phím chu t trái nháy vào u ra c a m t kh i, sau ó di
mũi tên c a chu t t i u vào c n n i. Sau khu th ngón tay kh i phím chu t,
ư ng n i t ng ư c t o ra. Có th r nhánh tín hi u b ng cách nháy phím
chu t ph i vào m t ư ng n i có s n và kéo ư ng n i m i xu t hi n t i u vào
c n n i.
• Di chuy n ư ng n i: lưu tín hi u thoáng và d theo dõi, nhi u khi ta
ph i di chuy n, b trí l i v trí các ư ng n i. Khi nháy ch n b ng chu t trái ta có
th di chuy n tuỳ ý các i m góc ho c di chuy n song song t ng o n th ng c a
ư ng n i.
• T o vector ư ng n i: d phân bi t gi a ư ng n i ơn và ư ng n i
các tín hi u theo nh d ng vector, ho c ma tr n, ho c m ng, ta có th ch n menu
Format / Wide nonscalar lines tăng b d y c a ư ng n i.
• Ch th kích c và d ng d li u c a tín hi u: L nh ch n qua menu Format /
Signal dimensions s hi n th kích c c a tín hi u i qua ư ng n i. L nh menu
Format / Port data types ch th thêm lo i d li u c a tín hi u qua ư ng n i.
• nh d ng cho m t kh i: Sau khi nháy phím chu t ph i vào m t kh i, c a
s nh d ng kh i s m ra. T i m c Format ta có th l a ch n ki u và kích c
ch , cũng như v trí c a tên kh i, có th l t ho c xoay kh i. Hai m c Foreground
Color và Background Color cho phép ta t ch m u bao quang cũng như m u
n n c a kh i.
50. 50
• nh d ng cho ư ng n i: Sau khi nháy phím chu t ph i vào m t ư ng
n i, c a s nh d ng ư ng s m ra. T i ây có các l nh cho phép c t b , chép
ho c xoá ư ng n i.
• H p i tho i v c tính c a kh i: Ho c i theo menu c a c a s mô
ph ng Edit / Block Properties, ho c ch n m c Block Properties c a c a s nh
d ng kh i, ta s thu ư c h p i tho i cho phép t m t vài tham s t ng quát v
c tính c a kh i.
• H p i tho i v c tính c a tín hi u: Có th t i ư c h p tho i Signal
Properties c a m t ư ng n i ho c b ng cách nháy chu t ánh d u ư ng n i trên
c a s mô ph ng, sau ó i theo menu Edit / Signal Properties t c a s nh
d ng ư ng. Trong h p i tho i ta có th t tên cho ư ng n i m t cách ơn
gi n hơn: Nháy kép phím chu t trái vào ư ng n i ta s t ng t i ư c ch
nh p văn b n.
4.3 Tín hi u và các lo i d li u
4.3.1 Làm vi c v i tín hi u
Trong Simulink ta phân bi t ba lo i kích c tín hi u:
• Tín hi u ơn.
• Vector tín hi u: Còn ư c g i là tín hi u 1-D, vì kích c c a tín hi u
ch ư c xác nh theo m t chi u v i dài n.
• Ma tr n tín hi u: Còn ư c g i là tín hi u 2-D, vì kích c c a tín
hi u ư c xác nh theo hai chi u [m×n]. C vector hàng [1×n] và
vector c t [m×1] cũng thu c v ph m trù ma tr n tín hi u.
51. 51
Khi t o Simulink, các kh i o s t o nên các ư ng tín hi u o, duy nh t
nh m m c ích làm cho sơ c u trúc tr nên r i m t, ngư i s d ng d qu n
lý hơn. Tín hi u o có th ư c 51hem51à s t p h p hình nh c a nhi u tín hi u
o, không o, hay h n h p c hai lo i. Trong quá trình mô ph ng, Simulink s
d ng m t th t c tên signal propagation nh n bi t: Nh ng tín hi u th c nào
ư c ghép vào 51hem tín hi u o.
i v i các tín hi u o ta có th m h p tho i Signal Properties và khai
ch n Show propagated signals. Sauk hi khai ch n tên c a tín hi u s t ng ư c
b sung 51hem ph n trong ngo c < >, cho bi t các tín hi u ch a trong ó.
Bus tín hi u là t p h p các tín hi u o riêng r . Khi tách Bus b i b ph n
phân kênh Demux ta s không th truy c p vào t ng ph n t c a m i tín hi u, mà
ch có th truy c p vào t ng tín hi u.
4.3.2 Làm vi c v i các lo i s li u
Bên c nh các c i m ã ư c gi i thi u, m i tín hi u thu c sơ c u trúc
Simulink u ư c gán m t lo i s li u nh t nh, và do ó quy t nh n dung
lư ng b nh dành cho m t tín hi u. Simulink cũng h tr t t c các lo i s li u
c a Matlab.
• double: chính xác cao, d u ph y ng.
52. 52
• single: chính xác v a, d u ph y ng.
• int8, uint8, int16, uint16, int32, uint32: s nguyên 8-, 16- hay 32- bit
có / không có d u.
• 52oolean: bi n logic 0 ho c 1.
Lo i s li u m c nh s n c a Simulink là double. Trong quá trình mô
ph ng, Simulink s ki m tra xem vi c o gi a các lo i s li u có úng hay
không, nh m lo i tr các k t qu sai l m có th x y ra.
Kh năng khai báo, xác nh lo i s li u c a tín hi u cũng như c a tham s
thu c các kh i ch c năng trong Simulink là c bi t có ý nghĩa, n u ta d nh t o
ra t mô hình Simulink mã ch y cho các ng d ng th i gian th c. Nhu c u v b
nh và t c tính toán ph thu c vào lo i s li u ư c ta ch n.
4.4 Thư vi n Sources và Sinks
4.4.1 Thư vi n Sources
a) Constant
Kh i constant t o nên m t h ng s th c ho c ph c, h ng s có th là scalar,
vector hay ma tr n tuỳ theo cách ta khai báo tham s Constant Value và ô
Interpret vector parameters as 1-D có ư c ch n hay không. N u ô ó ư c ch n,
ta có th khai báo tham s Constant Value là vector hang hay c t v i kích c [1×n]
hay [n×1] dư i d ng ma tr n. N u ô ó không ư c ch n, các vector hang c t ó
ch ư c s d ng như vector v i chi u dài n, t c là tín hi u 1-D.
53. 53
b) Step và Ramp
Nh hai kh i Stemp và Ramp ta có th t o nên các tín hi u d ng b c thang
hay d ng d c tuy n tính, 53at kích thích các mô hình Simulink. Trong ó h p
tho i Block Parameters c a kh i Step ta có th khai báo giá tr u / giá tr cu i và
c th i i m b t u c a tín hi u bư c nh y. i v i Ramp ta có th khai báo
d c, th i i m và giá tr xu t phát c a tín hi u u ra.
i v i c hai kh i, ta có th s d ng tham s tuỳ ch n Interpret vector
parameters as 1-D quy t nh các tín hi u d ng bư c nh y hay d ng d c tuy n
tính có giá tr scalar hay vector hay ma tr n.
Chú ý: Hai kh i Step và Ramp không ph i ch t o ra m t tín hi u như nhi u
ngư i v n hi u nh m, mà có th t o ra m t t p các tín hi u ư c x lý dư i d ng
vector hàng hay c t ho c ma tr n.
c) Signal Generator và Pulse Generator
B ng Signal Generator ta t o ra các d ng tín hi u kích thư c khác nhau.
54. 54
Cung c p cho 4 d ng song khác nhau (gi ng như máy phát 54at ):
+ Sóng Sin
+ Sóng vuông (Square)
+ Sóng răng cưa (Sawtood)
+ Sóng ng u nhiên (Random)
V i Pulse Generator t o chu i xung hình ch nh t. Biên và t n s có
th khai báo tuỳ ý. i v i Pulse Generator ta còn có kh năng ch n t l cho b
r ng xung (tính b ng ph n trăm cho c chu kỳ). i v i c hai kh i ta có th s
d ng tham s tuỳ ch n Interpret vector parameters as 1-D quy t nh các tín
hi u có giá tr scalar hay vector ma tr n.
55. 55
i v i các h gián o n hay h lai (sơ có c hai lo i kh i liên t c và
gián o n) ta s d ng kh i Discrete Pulse Generator t o chu i xung ch nh t.
d) Repeating Sequence
Kh i Repeating Sequence cho phép ta t o nên m t tín hi u tu n hoàn tuỳ ý.
Tham s Time values ph i là m t vector th i gian v i các giá tr ơn i u tăng.
Vector bi n ra Output values ph i có kích c phù h p v i chi u dài c a tham s
Time values. Giá tr l n nh t c a vector th i gian quy t nh chu kỳ l p l i c a
vector bi n ra.
56. 56
e) Sine Wave
Kh i Sine Wave ư c s d ng t o tín hi u hình sin cho c hai lo i mô
hình: liên t c (tham s Simple time = 0) và gián o n (tham s Simple time = 1).
Tín hi u u ra y ph thu c vào 56at ham s ch n: Amplitude, Frequency và
Phase trên cơ s quan h y = Amplitude.sin(Frequency.time + Phase). Vì ơn
v c a Phase là [rad], ta có th khai báo tr c ti p giá tr c a Phase là m t h s
nào ó nhân v i pi. Gi ng như kh i Constant, ta có th s d ng tham s tuỳ ch n
Interpret vector parameters as 1-D quy t nh các tín hi u có giá tr calar hay
vector hay ma tr n.
57. 57
f) From Workspace
Kh i From Workspace có nhi m v l y s li u t c a s Matlab Workspace
cung c p cho mô hình Simulink. Các s li u l y vào ph i có d ng c a bi u th c
Matlab, khai báo t i dòng Data.
58. 58
g) From File
B ng kh i From File ta có th l y s li u t m t MAT-File có s n. MAT-
File có th là k t qu c a m t l n mô ph ng trư c ó, ã ư c t o nên và c t i
nh kh i To file trong sơ Simulink.
4.4.2 Thư vi n Sinks
59. 59
Thư vi n này bao g m các kh i xu t chu n c a Simulink. Ngoài kh năng
hi n th ơn gi n b ng s , còn có các kh i dao ng kí bi u di n các tín hi u
ph thu c th i gian hay bi u di n hai tín hi u trên h to XY.
a) Scope
Nh kh i Scope ta có th hi n th các tín hi u c a quá trình mô
ph ng. Khi nh n vào nút Properties, h p tho i Scope Properties ( c i m c a
Scope) s m ra. Ch n general ta có th t ch cho các tr c. Khi t Number
of axes > 1, c a s Scope s có nhi u th con gi ng tương t như l nh Subplot
c a Matlab. N u i n m t s c th vào ô time range, th s ch ư c bi u di n
t i th i i m do giá tr c a s xác nh.
b) XY Graph
Kh i này bi u di n hai tín hi u u vào trên h to XY dư i
d ng ho Matlab u vào th nh t (bên trên). ng v i tr c X u th hai ng
v i tr c Y.
c) To Workspace
60. 60
Kh i To Workspace g i s li u u vào c a kh i t i môi trư ng Matlab
Workspace dư i d ng m ng (Array), Stracture hay Stracture with time và l y
chu i kí t khai t i variable name t tên cho t p s li u ư c ghi.
d) To File
Kh i này giúp ta c t t p s li u (m ng hay ma tr n) u vào c a kh i
cùng v i vector th i gian dư i d ng Mat-File. Array nh d ng gi ng như nh
d ng mà kh i From File c n, vì v y s li u do To File c t có th ư c From File
c tr c ti p mà không c n ph i x lý gì.
4.5 Thư vi n Math
Thư vi n này có m t s kh i có ch c năng ghép toán h c các tín hi u khác
nhau, có nh ng kh i ơn gi n ch nh m c ng hay nhân tín hi u còn có các hàm
ph c t p như lư ng giác và logic … Sau ây ta xét ch c năng c a m t s kh i
quan tr ng trong thư vi n này.
a) Sum
61. 61
Tín hi u ra c a kh i Sum là t ng các tín hi u u vào (Ví d như tín hi u
u vào là các tín hi u hình Sin thì tín hi u u ra cũng là các tín hi u hình Sin).
Kh i Sum cũng có th tính t ng t ng ph n t (ví d tín hi u vào g m hai tín hi u:
Sin(x) và [5 9 3] thì tín hi u ra s có d ng [Sin(x)+5 Sin(x)+9 Sin(x)+3]
b) Product và Dot Product
Kh i Product th c hi n phép nhân t ng ph n t hay ma tr n cũng như
phép chia gi a các tín hi u vào (d ng 1- D hay 2 – D) c a kh i, ví d : n u m t
kh i Product có tham s Number of Inputs = */*, v i ba tín hi u vào là 5, sinx và
[4 4 5 6] khi y tín hi u u ra có d ng [20/Sinx 20/Sinx 25/Sinx 30/Sinx].
Kh i Dot Product tính tích vô hư ng c a các Vector u vào. Giá tr
u ra c a kh i tương ương v i l nh Matlab y = Sum(c n(u1)*u2).
c) Math Function và Trigonometric Function
62. 62
C hai kh i này u có th x lý tín hi u 2-D. Kh i Math Function có
m t lư ng l n các hàm toán ã ư c chu n b s n cho phép ta l a ch n theo nhu
c u s d ng.
Còn kh i Trigonometric Function có t t c các hàm lư ng giác
quan tr ng.
d) Gain và Slider Gain
Kh i Gain có tác d ng khu ch i tín hi u u vào ( nh d ng 1-D hay 2-
D) b ng bi u th c khai báo t i ô Gain. Bi u th c ó ch có th là m t bi n hay m t
s bi n. Bi n ó ph i t n t i trong môi trư ng Matlab Workspace thì khi y
Simulink m i tính toán ư c bi n.
Kh i Slider Gain cho phép thay i h s khu ch i vô hư ng trong quá
trình mô ph ng.
63. 63
4.6 Khai báo tham s và phương pháp tích phân chu n b cho mô ph ng.
Trư c khi ti n hành mô ph ng ta ph i có nh ng thao tác chu n b nh t
nh: ó là khai báo tham s và phương pháp mô ph ng. Các thao tác chu n b
ư c th c hi n t i h p tho i Simulation Parameters. T i ó t t c các tham s u
ã có m t giá tr m c nh s n, nghĩa là: Có th kh i ng mô ph ng t t nh t, ph i
th c hi n chu n b , t các tham s phù h p v i mô hình Simulink c th .
H p tho i Simulation Parameters bao g m các trang:
a) Solver (thu t toán)
T i trang này ta có th khai báo th i i m b t àu và k t thúc, thu t toán
tích phân và phương pháp xu t k t qu c a mô ph ng.
Simulink cung c p cho ta m t s thu t toán khác nhau gi i b ng s
phươngt rình vi phân. áp ng m t ph khá r ng các bài toán t ra. i v i h
gián o n ta có th ch n thu t toán discrete v i bư c tích phân linh ho t (Variable-
Step) hay c nh (Fixed-step).
64. 64
Thu t toán Variable-step làm vi c v i bư c tích phân linh ho t. Vi c gi i
các phương trình vi phân ư c b t u v i bư c tích phân khai báo t i Initial step
size. N u ngay khi v a b t u, o hàm c a các bi n tr ng thái ã quá l n, Solver
s ch n giá tr bé hơn giá tr ghi t i Intial step size. Trong quá trình mô ph ng,
Simulink s c g ng gi i phương trình vi phân b ng bư c cho phép l n nh t ghi t i
Max step size. Kích c Max step size có th tính như sau:
Do có kh năng thích nghi bư c tích phân, thu t toán Slover v i Variable-
step có th giám sát bi n thiên c a các bi n tr ng thái t th i i m v a qua t i th i
i m hi n t i. Thêm vào ó, thu t toán có th nh n bi t các v trí không liên t c
c a hàm như các t bi n d ng bư c nh y.
b) Giám sát sai s
có th thích nghi bư c tích phân v i ng h c c a các bi n tr ng thái,
t i m i bư c tích phân, Simulink l i tính bi n thiên c a bi n tr ng thái t th i
i m v a qua t i th i i m hi n t i. bi n thiên ó ư c g i là sai s c c b
local error ei (i = 1 … : s bi n tr ng thái c a h . C m i bư c tích phân, thu t
toán Solver (d ng Variable-step) l i ki m tra xem local error c a m i bi n tr ng
thái có tho mãn i u ki n acceptable error (sai s có th ch p nh n) ư c xác
nh b i tham s Relative tolerance và Absolute tolerance h p tho i Simulation
Parameters (vi t t t là eltol và abstol). i u ki n acceptable error ư c mô t b ng
công th c sau:
ei max ( reltol.|xi|,abstol)
acceptable error
N u m t trong s các bi n tr ng thái không tho mãn i u ki n trên, bư c
tích phân t ng ư c gi m và quá trình tính c a bư c s ư c l p l i. Vi c
acceptable error ư c xác nh trên cơ s l a ch n t i a có nguyên do như sau:
65. 65
Giá tr khai báo tai Relative tolerance là ng v i bi n thiên cho phép tính b ng %
c a giá tr t c th i c a bi n tr ng thái xi. N u acceptable error ch ư c quy t nh
b i Relative tolerance, v y khi |xi| bé thì relation tolerance có th tr nên quá bé,
ng nghĩa v i vi c: Bi n tr ng thái không ư c phép bi n thiên gì n a. i u này
không x y ra n u acceptable error ư c ch n theo công th c trên. N u ta khai
báo cho Absolute tolerance giá tr auto, khi y Simulink s b t u b ng 10-6
. Sau
ó abstol ư c t v reltol.max(|xi|). Nh cách ch n bư c linh ho t như v y,
Simulink cho phép các bi n tr ng thái v n ư c
c) Zero crossing detection
Khái ni m zero crossing trong Simulink ư c hi u là tính không liên t c
trong di n bi n c a tr ng thái hay là các i m không thông thư ng. Các tín hi u
không liên t c thư ng do m t s kh i nh t nh gây ra như Abs, Backslash, Dead
Zone, Saturation hay Switch. M i kh i hàm lo i này có kèm theo m t bi n zero
crossing, ph thu c vào các bi n tr ng thái không liên t c và i d u m i khi g p
i m không liên t c. C sau m i bư c tích phân, Simulink l i ki m tra các bi n
zero crossing và qua ó nh n bi t: Trong bư c hi n t i có x y ra zero crossing hay
không. N u có Simulink s tính chính xác t i a th i i m xu t hi n b ng phương
pháp n i suy gi a giá tr v a qua và giá tr hi n t i c a bi n zero crossing ó. Khi
ã bi t chính xác, Simulink b t u tính ti p t c n ph i. Vì v y, n u ch n sai s
quá thô s có nguy cơ b sót các i m không. N u có nghi v n b sót i m không,
c n ph i gi m sai s ã khai báo m b o là Solver v i Variable-step s ch n
bư c tính nh .
Solver v i Fixed-step ho t ng v i bư c c nh và vi c giám sát – phát
hi n các i m không liên t c là không th . Song vì bi t chính xác s lư ng bư c
tích phân, ta có th ư c lư ng khá chính xác th i gian tính c a mô hình mô ph ng.
i u này c bi t có ý nghĩa n u ta d ki n cài t mô hình (sau khi mô ph ng
thành công) trên m t c u hình Hardware nào ó.
d) Workspace I/O
66. 66
Nh khai báo thích h p t i trang Workspace I/O ta có th g i s li u vào,
ho c c s li u t môi trư ng Matlab Workspace mà không c n s d ng các kh i
như To Workspace, From Workspace trong mô hình Simulink. Ngoài rat a có th
khai báo giá tr ban u cho các bi n tr ng thái t i ây.
Input: tên c a các t p s li u c n c t Workspace, các t p s li u có th
nh d ng Array, Structure và Structure with time.
Initial State: tên c a bi n ang gi giá tr ban u, bi n ó có th có nh
d ng Array hay Structure. Vi c t n d ng kh năng khai báo bi n gi giá tr ban
u là r t quan tr ng khi ta c n s d ng các giá tr tr ng thái c a m t l n mô
ph ng trư c ó, ang còn n m trong Workspace nh ã kích ho t ô Save to
Workspace và khai báo Final state.
Bi n ra c a mô hình Simulink ư c c t b ng cách i n tên bi n ra vào ô
Output, sau khi ã kích ho t Output. Tương t ô State c t bi n tr ng thái vào
Workspace
e) Advance (khai báo nâng cao)
Sauk hi nh n nút Configure c a ô Inline parameters, ta thu ư c c a s m i
khai báo c u trúc tham s c a mô hình. Vi c kích ho t ô Inline parameters s
ph nh kh năng thay i tham s c a các kh i trong quá trình mô ph ng. Duy
nh t nh ng tham s li t kê trong danh sách Global (tunable) parameters là v n có
th thay i ư c. Vì nh ng tham s không thay i ư c s b coi là h ng s , th i
gian s gi m i áng k .
4.6.1 Kh i ng và ng ng mô ph ng
Quá trình mô ph ng c a mô hình Simulink ư c kh i ng qua menu
Simulation/Start. Trong khi mô ph ng, có th ch n Simulation/Pause t m
ng ng, hay Simulink/Stop ng ng h n quá trình mô ph ng.
Thêm vào ó ta còn có th i u khi n quá trình mô ph ng b ng các dòng
l nh vi t t i c a s l nh c a Matlab. i u này c bi t có ý nghĩa khi ta mu n t
67. 67
ng hoá toàn b các chu trình mô ph ng, không mu n kh i ng, ng ng hay x
lý, … b ng tay. ó là các l nh set_param và sim.
• L nh set_param ư c g i như sau:
set_param(‘sys’,’SimulinkCommand’,’cmd’)
Trong l nh trên, mô hình mô ph ng có tên sys s ư c kh i ng khi
cmd = start, hay ng ng l i khi cmd = stop. Sau kho ng th i gian ngh pause, tar a
l nh ti p t c mô ph ng b ng continue. N u ch n cmd = update, mô hình s ư c
c p nh t m i
• L nh sim ư c g i như sau:
[t,x,y] = sim(‘model’)
N u mu n chuy n giao c tham s mô ph ng, ta g i :
[t,x,y] = sim(‘model’,timespan,options,ut)
B ng l nh trên ta ch ng ư c quá trình t tham s mô ph ng t môi
trư ng Matlab. V trái c a l nh g m các vector th i gian t, ma tr n bi n tr ng thái
x và ma tr n bi n ra y c a mô hình. Các tham s c a sim có ý nghĩa như sau :
model là tên c a mô hình Simulink, timespan vi t dư i d ng [tStart tFinal] nh
nghĩa th i i m b t u và th i i m ng ng ch y mô ph ng. Tham s ut cho phép
c t p s li u ã có vào kh i Inport, có tác d ng tương t như khi khai ô Input
thu c trang Workspace I/O c a h p tho i Simulation Parameters.
B ng option ta chuy n giao cho mô hình các tham s mô ph ng quan tr ng
như thu t toán và bư c tích phân, sai s , các i u ki n xu t s li u,… Vi c t o c u
trúc tham s options ư c th c hi n b ng l nh :
options = simset (property, value, …)
V i l nh trên, các tham s t trong h p tho i Simulation Parameters s
không b thay i, mà ch b vô hi u hoá khi sim kh i ng quá trình mô ph ng.
B ng l nh :
68. 68
newopts = simset(oldopts, property, value, …)
ta có th thay i b tham s ã có oldopts b i b tham s m i newopts.
Khi g i simset không có khai báo i kèm, khi y toàn b “properties” và các giá tr
c a chúng ư c xu t ra màn hình. V i l nh :
struct = simset(‘model’)
ta s thu ư c tr n v n b tham s options ã ư c khai báo nh l nh
simser hay nh h p tho i Simulations Parameters.
Ví d l nh :
[t,x,y] = sim(‘model’, [],simset(simget(‘model’), … ‘slover’, ‘ode23’,
‘MaxStep’, 0.01) ;
s ưa thu t toán tích phân c a sơ Simulink có tên model v ode23 v i
bư c l n nh t là 0,01 giây. T i v trí c a timespan ta vi t [], nghĩa là : các giá tr
c a Start time và Stop time h p tho i Simulation Parameters ư c gi nguy n.
4.6.2 X lý l i
N u xu t hi n l i trong quá trình mô ph ng, Simulink s ng ng mô ph ng
và m h p tho i thông báo l i Simulation Diagnostics.
Trong ph n phía trên c a h p tho i báo l i ta th y có danh sách các kh i
gây nên l i. Khi chuy n v ch ch n t i kh i nào, ta s th y ph n dư i h p tho i
các mô t k v l i c a kh i ó. N u nháy chu t trái vào nút Open, c a s Block
Parameters c a kh i s m ra tat hay i, s a l i các tham s khai báo t i ó.
ôi khi ngu n gây l i trên sơ còn ư c tôn n i b t 68hem b ng m u, giúp ta
nhanh chóng xác nh ư c v trí c a kh i gây l i.
4.6.3 T p h p các tham s trong Script c a Matlab
i v i các sơ Simulink ph c h p, ta không nên tr c ti p khai báo tham
s cho t ng kh i c th , mà nên t p h p chúng l i trong m t script (m-File). B ng
69. 69
cách y m i công vi c khai báo hay thay i tham s u có th ư c th c hi n
m t cách r t rõ rang, tư ng minh và khó nh m l n.
làm như v y, thay vì vi t các giá tr c th , ta ch c n vi t tên c a các
bi n. Các bi n ó s ư c gán giá tr c th sau này, trong khuôn kh c a script.
Trư c khi b t u mô ph ng hay sau khi thay i tham s , ta s ph i g i script
n p các bi n vào môi trư ng Workspace c a Matlab. Nh v y, trong quá trình mô
ph ng Simulink có th truy c p và s d ng các bi n ã n p.
M t kh năng kích ho t m t script ch a các tham s mô hình, là vi c s
d ng các th t c Callback. Kh năng này cho phép ta ti t ki m, không c n m t
công g i script ó b ng dòng l nh trong c a s l nh. M t script, khi ã ư c liên
k t v i tham s InitFcn c a sơ Simulink nh l nh set_param, lúc b t u mô
ph ng s ư c kích ho t, nhưng luôn trư c khi c Block Parameters.
Ví d :
Set_param(‘model’, ‘InitFcn’, ‘model_init’)
s liên k t script có tên model_ini.m v i tham s InitFcn c a mô hình
Simulink có tên model.mdl. M i liên k t ó s b hu n u ta g i:
set_param(‘model’, ‘InitFcn’, ‘’)
Thông tin: Th t c Callback nào ư c g i và ư c g i vào lúc nào, s do
l nh sau ây quy t nh:
set_param(0, ‘CallbackTracing’, ‘on’)
L nh ó s bu c Simulink ph i li t kê toàn b các th t c Callback t i c a
s Command khi chúng ư c g i. bi t 69hem v l nh set_param và Callback
Routines ta g i l nh help set_param.
4.6.4 In mô hình Simulink
Cũng gi ng như ho Matlab, ta có th xu t mô hình Simulink dư i các
d ng khác nhau. B ng l nh print –smodel ta s xu t mô hình có tên model ra máy
70. 70
in. Tuy nhiên, n u in qua menu File/Print ta s có nhi u kh năng khai báo tham s
in hơn. Ví d : Ch in m t t ng mô hình nh t nh. Trư c khi in ta nên chuy n tham
s Paper type v kh A4, vì m t vài máy in có v n khi in theo kh usletter. Có
th làm i u ó t c a s Command c a Matlab
Set(gcf, ‘PaperType’, ‘A4’)
Vi c in mô hình Simulink thành File ư c th c hi n tương t như ho
Matlab:
Print –smodel;
Print –smodel –dmeta model;
Print –smodel –deps model;
4.7 H th ng con (Sub system)
4.7.1 T o h th ng con
Có hai cách t o h th ng con:
• Cách 1: Dùng chu t ánh d u t t c các kh i mà ta mu n gom l i v i nhau.
C n chú ý ánh d u c các ư ng tín hi u kèm theo. Sau ó ch n Create
Subsystem thu c menu Edit. Các kh i b ánh d u s ư c Simulink thay
th b i m t kh i Subsystem. Khi nháy chu t kép vào kh i m i, c a s có
tên c a kh i m i s m ra. Các tín hi u vào / ra c a h con s ư c t ng
ghép v i h th ng m b i các kh i Inport và Outport.
• Cách 2: Dùng kh i Subsystem có s n c a thư vi n Signals & Systems. Sau
khi g p kh i ó sang mô hình h th ng ang m , ta nháy chu t kép vào
kh i m c a s c a kh i và l n lư t g p các kh i c n thi t t o thành
h th ng con. Vi c ghép n i v i h th ng m ph i ư c ch ng th c hi n
b ng tay nh các kh i Inport và Outport. ây là cách i ngư c v i cách 1:
Ta l n lư t t o các h th ng con (b t u t t ng th p nh t), sau ó n i các
h th ng con t o thành h th ng m (t ng c p trên tr c ti p).
71. 71
4.7.2 Thư vi n signals và Subsystem
Subsystem
Kh i Subsystem ư c s d ng t o h th ng con trong khuôn
kh c a m t mô hình Simulink. Vi c ghép v i mô hình thu c các t ng ghép trên
ư c th c hi n nh kh i Inport và Outport. S lư ng u vào / ra c a kh i
Subsystem ph thu c s lư ng kh i Inport và Outport.
u vào / ra c a kh i Subsystem s ư c t theo tên m c nh c a các
kh i Inport và Outport. N u ch n Format / Hide Port Labels trên menu c a s kh i
Subsystem, ta có th ngăn ch n ư c cách t tên k trên và ch ng t cho
Inport và Outport các tên phù h p v i ý nghĩa c a chúng.
Inport và Outport
Inport và Outport là các kh i u vào, u ra c a m t mô hình mô ph ng.
T i h p tho i Block Parameters ta có th i n vào ô Port number s th t c a
kh i. Simulink t ng ánh s các kh i Inport và Outport m t cách c l p v i
nhau, b t u t 1. Khi ta b sung thêm kh i Inport hay Outport, kh i m i s nh n
s th t k ti p. Khi xoá m t kh i nào ó, các kh i còn l i s t ng ánh s
m i. Trong h p tho i Block Parameters c a Inport, ta còn có ô Port with dùng
khai báo b r ng c a tín hi u vào. Khi ghép m t tín hi u có b r ng l n ho c bé
hơn b r ng ã khai báo v i Inport, ngay l p t c Simulink báo l i.
C n lưu tâm t i m t vài tham s quan tr ng khác c a kh i Outport. Ví d ,
Outport when disabled cho h th ng c n x lý tín hi u ra như th nào khi h th ng
mô ph ng ang ng ng không ch y (xoá v không hay gi nguyên giá tr cu i
cùng). Initial Output cho bi t giá tr c n l p cho u ra.
72. 72
Thông qua các kh i Inport và Outport thu c t ng trên cùng (ch không ph i
thu c các h th ng con), ta có th c t vào hay l y s li u ra kh i môi trư ng
Workspace. làm i u ó ta ph i kích ho t các ô Input và Output trang
Workspace I/O c a h p tho i Simulation Parameters và khai báo tên c a các bi n
c n l y s li u vào, hay tên c a các bi n mà ta s g i s li u t i
Enable và Trigger
Hai ph n t Enable và Trigger nh m m c ích t o cho các h con
Subsystem kh năng kh i ng có i u ki n. Trong m t h th ng con ch có th s
d ng m t kh i Enable và Trigger. Khi ư c gán m t trong hai kh i ó, t i kh i
Subsystem s xu t hi n thêm m t u vào i u khi n c bi t, nơi mà tín hi u
Enable hay Trigger ư c ưa t i.
Các h con có kh i Enable ư c g i là h cho phép. H con ó s ư c
kích ho t t i nh ng bư c tích phân có phát ra tín hi u Enable v i giá tr dương.
Tham s States when enabling cho bi t c n t giá tr ban u cho bi n tr ng thái
như th nào trư c khi ư c kích ho t. Tham s Show output port gán cho kh i
Enable thêm m t u ra, t o i u ki n x lý hay s d ng ti p tín hi u Enable.
Các h con có kh i Trigger g i là h ư c kích ho t b ng xung. Vi c kích
ho t x y ra t i sư n dương (Trigger type: rising), hay sư n âm (Trigger type:
falling), hay c hai sư n (either) c a xung kích ho t. N u Trigger type ư c ch n
là function-call, ta có cơ h i ch ng t o xung kích ho t nh m t S-function do ta
t vi t.
Các kh i Enable và Trigger là kh i o có i u ki n.
Mux và Demux
73. 73
Kh i Mux có tác d ng gi ng như m t b ch p kênh, có tác d ng ch p các
tín hi u 1-D riêng r thành m t vector tín hi u m i. N u như m t trong s các tín
hi u riêng r là 2-D, khi y ta ch có th t p h p các tín hi u riêng r thành Bus tín
hi u. T i ô tham s Number of inputs ta có th khai báo tên, kích c và s lư ng
tín hi u vào. Ví d , vi t [4 3 -1] nghĩa là có t t c 3 u vào, u vào th nh t có
b r ng là 4, u vào th hai có b r ng là 3, còn u vào th ba chưa xác nh vì
giá tr khai là -1.
Kh i Demux có tác d ng ngư c l i v i Mux: Tách các tín hi u ư c ch p t nhi u
tín hi u riêng r tr l i thành các tín hi u riêng r m i. Kh i Demux làm vi c ho c
theo ch vector (Bus selection mode = off) ho c theo ch ch n Bus (Bus
selection mode = on). ch vector, Demux ch ch p nh n tín hi u 1-D u
vào và s tách tín hi u 1-D ó thành các tín hi u riêng r như ã khai báo t i
Number of outputs. Tham s Number of outputs có th ư c khai báo dư i d ng
m t s nguyên >1 hay dư i d ng m t vecter hàng, vi c tách các ph n t c a tín
hi u vào và phân chia các ph n t ó thành các tín hi u ra hoàn toàn ph thu c
vào b r ng tín hi u vào, s lư ng và b r ng c a tín hi u ra mà ta khai báo. Khi
ch n ch Bus selection, Demux ch ch p nh n Bus tín hi u u vào c a kh i.
Mux và Demux luôn luôn là o.
Bus Selector và Selector
74. 74
Các tín hi u do kh i Mux ch p l i, có th ư c tách ra không ch b ng
kh i Demux. Ta có th s d ng kh i Bus Selector tái t o l i các tín hi u t m t
Bus tín hi u, ng th i gom chúng l i thành các tín hi u riêng r ban u.
T i h p tho i Block Parameters c a kh i Bus Selector trong ô Signals in
the bus ta có th th y danh sách li t kê t t c các tín hi u n m trong Bus. Nh n nút
Select >> ta có th ch n nh ng tín hi u mà ta c n tách ra kh i Bus và gom l i như
ban u.
Kh i Selector cho ta kh năng l a ch n linh ho t hơn Bus Selector: Kh
năng tách ra kh i Bus tín hi u 1-D hay 2-D các ph n t riêng l r i sau ó gom
chúng l i thành m t tín hi u 1-D hay 2-D m i.
Hit Crossing
Kh i Hit Crossing có tác d ng phát hi n th i i m tín hi u u vào i qua
giá tr khai t i Hit Crossing offset theo hư ng khai t i Hit Crossing direction. N u
ta ch n Show output port, t i th i i m Crossing u ra s nh n giá tr 1, còn l i là
0. N u t i trang Advanced c a h p tho i Simulation Parameters ta t Boolean
logic signals = off, tín hi u ra s là double, ngoài ra là boolean.
IC
Kh i IC có tác d ng gán cho tín hi u ra c a kh i m t i u ki n ban u
nh t nh.
4.7.3 Kích ho t có i u ki n các h th ng con
75. 75
Các h th ng con có ch a kh i Enable hay Trigger g i là các h cho phép
kích ho t hay h kích ho t b ng xung. Vi c kích ho t h con hoàn toàn do tín hi u
i u khi n tương ng xác nh. Như ví d dư i ây cho th y, khi gán kh i Enable
hay Trigger cho m t h con, h ó s t ng có thêm m t u vào giành cho tín
hi u i u khi n.
Ví d ti p theo gi i thích rõ hơn n a cách s d ng kh i Enable. Hai tín hi u
hình sin có cùng biên và t n s ư c ưa t i m t Subsystem. Tín hi u sin th
nh t ư c ưa t i u vào Enable, tín hi u sin th hai ư c ưa t i u vào In1
c a h con. Bên trong h con, tín hi u c a In1 ư c nhân v i tín hi u ra c a kh i
Enable. Tín hi u u ra c a kh i Product và c a kh i Enable ư c ch p kênh, ưa
t i kh i Scope và c t vào Workspace dư i nh d ng Array sau ó plot thành
th .
76. 76
Sau khi ch y enable1.mdl, thu ư c th trên ta c n th c hi n các dòng
l nh sau:
>> plot(tout,simout(:,1),'r-.',tout,simout(:,2),'g-');
>> legen('Signal Enable','Signal Enable x Sinus');
Ví d ti p theo s minh ho tác d ng c a kh i Trigger. Trong sơ mô
ph ng: Hai tín hi u hình sin có t n s khác nhau ư c ưa t i m t h con. Kh i
Sine Wave th hai ch ư c ưa tư ng trưng qua h con. Ba tín hi u Trigger, tín
hi u ra c a Subsystem và Sine Wave th hai ư c ưa t i Scope. Tư ng t ví d
trên, c ba tín hi u ư c plot ta so sánh. Tuy nhiên tham s c a kh i Trigger ã
ư c t vào either, nghĩa là: H con ư c kích ho t b ng c hai sư n lên và
xu ng c a xung kích ho t.
77. 77
Sau khi ch y trigger1.mdl, t c là khi: K t qu mô ph ng ã ư c c t vào
Workspace, ta th c hi n chum l nh dư i ây thu ư c th như hình trên.
>> plot(tout,simout(:,1),'r-.',tout,simout(:,2),'g-');
>> legend('Trigger Signal','Out1 Signal','Sinus Signal');
78. 78
TÀI LI U THAM KH O
[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] Nguy n Phùng Quang MATLAB & SIMULINK dành cho k sư i u khi n
t ng - Nhà xu t b n khoa h c và k thu t.