You are on page 1of 265

Khao sat ng dung MATLAB trong ieu khien t ong

Thc hien: PHAM QUOC TR NG - 1 - GVHD: PHAMQUANG HUY


GII THIEU LY THUYET IEU KHIEN T ONG
ieu khien t ong ong vai tro quan trong trong s phat trien cua khoa hoc va ky thuat.
Lnh vc nay hu hieu khap ni t he thong phi thuyen khong gian, he thong ieu khien ten la,
may bay khong ngi lai, ngi may, tay may trong cac quy trnh san xuat hien ai, va ngay ca
trong i song hang ngay: ieu khien nhiet o, o am...
Phat minh au tien khi au cho viec phat trien cua lng vc ieu khien t ong la bo ieu
toc ly tam e ieu chnh nhiet o may hi nc cua Jame Watt nam 1874. Cac cong trnh ang
chu y trong bc au phat trien ly thuyet ieu khien la cua cac nha khoa hoc Minorsky, Hazen,
Nyquist...nam 1922. Minorky thc hien he thong ieu khien t ong cac con tau va chng minh
tnh on nh cua he thong co the c xac nh t phng trnh vi phan mo ta he thong. Nam
1932, Nyquist a a ra mot nguyen tac tng oi n gian e xac nh tnh on nh cua he thong
vong kn da tren c s ap ng vong h oi vi cac tnh hieu vao hnh sin trang thai xac lap.
Nam 1934, Hazen a gii thieu thuat ng ieu chnh c t ong (servo mechanism) cho nhng he
thong ieu khien nh v vaa thao luan en viec thiet ke he thong relay ieu chnh ong c vi
ngo vao tn hieu thay oi.
Trong suot thap nien 40 cua the ky 20 phng phap ap ng tan so a giup cjo cac ky s
thiet ke cac he thong vong kn tuyen tnh thoa cac yeu cau chat lng ieu khien. T cuoi thap
nien 40 cho en au thap nien 50 phng phap quy ao nghiem cua Evan c phat trien kha
toan ven.
Phng phap quy ao nghiem va ap ng tan so c xem la cot loi cua ly thuyet ieu khien
co ien cho phep ta thiet ke c nhng he thong on nh va thoa cac ch tieu chat lng ieu
khien. Nhng he thong nay c chap nhan nhng cha phai la toi u, hoan thien nhat. Cho ti
cuoi thap nien 50 cua the ky 20 viec thiet ke mot hay nhieu he thong dan dan c chuyen qua
viec thiet ke mot he thong toi u vi y ngha ay u hn.
Khi cac may moc hien ai ngay cang phc tap hn vi nhioeu tn hieu vao va ra th viec mo
ta he thong ieu khien hien ai nay oi ho i mot lng rat ln cac phng trnh. Ly thuyet ieu
khien co ien lien quan cac he thong mot ngo vao va mot ngo ra tr nen bat lc e phan tch cac
he thong nhieu au vao, nhieu au ra. Ke t khoang nam 1960 tr i nh may tnh socho phep ta
phan tch cac he thong phc tap trong mien thi gian, ly thuyet ieu khien hien ai phat trien e
oi pho vi s phc tap cua cac he thong hien ai. Ly thuyet ieu khien hien ai da tren phan
tch trong mien thi gian va tong hp dung cac bien trang thai, cho phep giai cac bai toan ieu
khien co cac yeu cau chat che ve o chnh xac, trong lng va gia thanh cua cac he thong trong
lnh vc ky nghe khong gian va quan s.
S phat trien gan ay cua ly thuyet ieu khien hien ai la trong nhieu lnh vc ieu khien toi
u cua cac he thong ngau nhien va tien nh. Hien nay may vi tnh ngay cang re, gon nhng kha
nang x ly lai rat manh nen no c dung nh la mot phan t trong cac he thong ieu khien.
Nhng ap dung gan ay cua ly thuyet ieu khien hien ai vao ngay ca nhng nganh ky thuat nh:
sinh hoc, y hoc, kinh te, kinh te xa hoi.
I. NHNG KHAI NIEM C BAN
1. ieu khien hoc (Cybernctics):
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 2 - GVHD: PHAMQUANG HUY
La khoa hoc nghien cu nhng qua trnh ieu khien va truyen thong may moc, sinh vat va
kinh te. ieu khien hoc mang ac trng tong quat va c phan chia thanh nhieu lnh vc khac
nhau nh: toan ieu khien, ieu khien hoc ky thuat, ieu khien hoc sinh vat (phong sinh vat:
bionics), ieu khien hoc kinh te.
2. Ly thuyet ieu khien t ong:
La c s ly thuyet cua ieu khien hoc ky thuat. ieu khien t ong la thuat ng ch qua trnh
ieu khien mot oi tng trong ky thuat ma khong co s tham gia cua con ngi (automatic) no
ngc lai vi qua trnh ieu khien bang tay (manual).
3. He thong ieu khien t ong:
Mot he thong ieu khien t ong bao gom 3 phan chu yeu:
Thiet b ieu khien (TBK).
- oi tng ieu khien (TK).
- Thiet b o lng.
Hnh 1.1 la s o khoi cua he thong ieu khien t ong.
Hnh 1.1
Trong o:
C: tn hieu can ieu khien, thng goi la tn hieu ra (output).
U: tn hieu ieu khien.
R: tn hieu chu ao, chuan, tham chieu (reference) thng goi la tn hieu vao (input).
N: tn hieu nhieu tac ong t ben ngoai vao he thong.
F: tn hieu hoi tiep, phan hoi (feedback).
4. He thong ieu khien kn (closed loop control system):
La he htong ieu khien co phan hoi (feeback) ngha la tn hieu ra c o lng va a ve
thiet b ieu khien. Tn hieu hoi tiep phoi hp vi tn hieu vao e tao ra tn hieu ieu khien. Hnh
1.1 chnh la s o cua he thong kn. C s ly thuyet e nghien cu he thong kn chnh la ly thuyet
ieu khien t ong.
5. He thong ieu khien h:
oi vi he thong h, khau o lng khong c dung en. Moi s thay oi cua tn hieu ra
khong c phan hoi ve thiet b ieu khien. S o hnh 1.2 la he thong ieu khien h.
Hnh 1.2: He thong ieu khien h
C s ly thuyet e nghien cu he thong h la ly thuyet ve relay va ly thuyet otomat hu han.
R
TBK TK
U C
N
C
TBK TK
TBL
F
R
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 3 - GVHD: PHAMQUANG HUY
II. PHAN LOAI HE THONG IEU KHIEN T ONG
He thong ieu khien co the phan loai bang nhieu cach khac nhau. Sau ay la mot so phng
phap phan loai:
1. He tuyen tnh va phi tuyen:
Co the noi hau het cac he thong vat ly eu la he phi tuye n, co ngha la trong he thong co t
nhat mot phan t la phan t phi tuyen (quan he vao ra la quan he phi tuyen). Tuy nhien, neu
pham vi thay oi cua cac bien he thong khong ln, he thong co the c tuyen tnh hoa trong
pham vi bien thien cua cac bien tng oi nho. oi vi he tuyen tnh, phng phap xep chong co
the c ap dung.
2. He bat bien va bien thien theo thi gian:
He bat bien theo thi gian (he dng) la he thong co cac tham so khong oi (theo thi gian).
ap ng cua cac he nay khong phu thuoc vao thi iem ma tn hieu vao c at vao he thong
ieu khien phi thuyen khong gian, vi khoi lng giam theo thi gian do tieu thu nang lng
trong khi bay.
3. He lien tuc va gian oan theo thi gian:
Trong he lien tuc theo thi gian, tat ca cac bien la ham lien tuc theo thi gian. Cong cu phan
tch he thong lien tuc la phep bien oi Laplace hay Fourier. Tronh khi o, he gian oan la he
thong co t nhat mot tn hieu la ham gian oan theo thi gian. Ngi ta phan biet he thong gian
oan gom:
- He thong xung: la he thong ma trong o co mot phan t xung (khoa ong ngat) hay la tn
hieu c lay mau (sample) va gi (hold). (Hnh 1.3)
Hnh 1.3: He thong ieu khien xung.
- He thong so: la he thong gian oan trong o tn hieu c ma hoa thanh logic 1, 0. o la
cac he thong co cac khau bien oi tng t / so (A/D), so/ tng t (D/A) va e ket noi ket noi tn
hieu vi may tnh so. (Hnh 1.4)
c(t)
H G(p)
F(p)
e(t)
r(t)
(-)
oi tng ieu khien
MTS G(p)
c(t)
G(p)
D/A
oi tng ieu khien
Nga vao
dang so
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 4 - GVHD: PHAMQUANG HUY
Hnh 1.4: He thong ieu khien so
Cong cu e phan tch he thong gian oan la phep bien oi Laplace, Fourier gian oan hay
phep bien oi Z.
4. He n bien va a bien:
He n bien la he ch co mot ngo vao va mot ngo ra. Cong cu e phan tch va tong hp he
n bien la ly thuyet ieu khien co ien. V du: he ieu khien nh v (v tr).
He a bien la he co nhieu ngo vao va nhieu ngo ra. Cong cu e phan tch va tong hp he a
bien la ly thuyet ieu khien hien ai da tren c s bieu dien he trong khong gian trang thai. V
du: he ieu khien qua trnh (Process Control System) co the gom co ieu khien nhiet o va ap
suat.
5. He thong thch nghi va he thong khong thch nghi:
He thong thch nghi la he htong hoat ong theo nguyen tac t chnh nh, trong o he thong
t phat hien nhng thay oi cua cac tham so do anh hng cua moi trng ben ngoai va thc hien
viec ieu chnh tham so e at c ch tieu toi u c e ra.
6. He xac nh (deterministic) va he ngau nhien (stochastic):
Mot he thong ieu khien la xac nh khi ap ng oi vi mot ngo vao nhat nh co the c
biet trc (predictable) va co the lap lai c (repeatable). Neu khong thoa man 2 ieu kien tren,
he thong ieu khien la ngau nhien.
III. NHIEM VU CUA LY THUYET IEU KHIEN T ONG
e khao sat va thiet ke mot he thong ieu khien t ong ngi ta thc hien cac bc sau:
a) Da tren cac yeu cau thc tien, cac mo hnh vat ly ta xay dng mo hnh toan hoc da tren
cac quy luat, hien tng, quan he cua cac oi tng vat ly. Mo hnh toan hoc cua he thong c
xay dng t cac mo hnh toan hoc cua cac phan t rieng le.
b) Da tren ly thuyet on nh, ta khao sat tnh on nh cua he thong. Neu he thong khong on
nh ta thay oi ac tnh cua he thong bang cach a vao mot khau bo chnh (compensation) hay
thay oi thay oi tham so cua he e he thanh on nh.
c) Khao sat chat lng cua he theo cac ch tieu e ra ban au. Neu he khong at ch tieu chat
lng ban au, ta thc hien bo chnh he thong.
d) Mo phong he thong tren may tnh e kiem tra lai thiet ke.
e) Thc hien mo hnh mau (prototype) va kiem tra thiet ke bang thc nghiem.
f) Tinh chnh lai thiet ke e toi u hoa ch tieu chat lng va ha thap gia thanh neu co yeu
cau.
g) Xay dng he thong thc te.
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 5 - GVHD: PHAMQUANG HUY
TAP LENH C BAN CUA MATLAB
I. LENH C BAN
Chu y: Cac lenh eu viet bang ch thng, nhng v tac gia muon viet hoa e ngi xem tien
theo doi.
1. Lenh ANS
a) Cong dung: (Purpose)
La bien cha ket qua mac nh.
b) Giai thch: (Description)
Khi thc hien mot lenh nao o ma cha co bien cha ket qua, th MATLAB lay bien Ans
lam bien cha ket qua o.
c) V du: (Examples)
2-1
ans = 1
2. Lenh CLOCK
a) Cong dung: (Purpose)
Thong bao ngay gi hien tai.
b) Cu phap:(Syntax)
c = clock
c) Giai thch: (Description)
e thong bao de oc ta dung ham fix.
d) V du: (Examples)
c = clock
c =
1.0e+003*
2.0010 0.0040 0.0200 0.0030 0.0420 0.0501
c = fix(clock)
c = 2001 4 20 3 43 3
3. Lenh COMPUTER
a) Cong dung: (Purpose)
Cho biet he ieu hanh cua may vi tnh ang s dung Matlab.
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 6 - GVHD: PHAMQUANG HUY
b) Cu phap: (Syntax)
computer
[c,m] = computer
c) Giai thch: (Description)
c: cha thong bao he ieu hanh cua may.
m: so phan t cua ma tran ln nhat ma may co the lam viec c vi Matlab.
d) V du: (Examples)
[c,m]=computer
c =
PCWIN
m =
2.1475e+009
4. Lenh DATE
a) Cong dung: (Purpose)
Thong bao ngay thang nam hien tai
b) Cu phap: (Syntax)
s = date
c) V du:
s=date
s =
20-Apr-2001
5. Lenh CD
a) Cong dung:
Chuyen oi th muc lam viec.
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 7 - GVHD: PHAMQUANG HUY
b) Cu phap:
cd
cd diretory
cd ..
c) Giai thch:
cd: cho biet th nuc hien hanh.
diretory: ng dan en th muc muon lam viec.
cd .. chuyen en th muc cap cao hn mot bac.
6. Lenh CLC
a) Cong dung:
Xoa ca so lenh.
b) Cu phap:
clc
c) V du:
clc, for i: 25, home, A = rand(5), end.
7. Lenh CLEAR
a) Cong dung:
Xoa cac e muc trong bo nh.
b) Cu phap:
clear
clear name
clear name1 name2 name3
clear functions
clear variables
clear mex
clear global
clear all
c) Giai thch:
clear: xoa tat ca cac bien khoi vung lam viec.
clear name: xoa cac bien hay ham c ch ra trong name.
clear functions: xoa tat ca cac ham trong bo nh.
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 8 - GVHD: PHAMQUANG HUY
clear variables: xoa tat ca cac bien ra khoi bo nh.
clear mex: xoa tat ca cac tap tin .mex ra khoi bo nh.
clear: xoa tat ca cac bien chung.
clear all: xoa tat ca cac bien, ham, va cac tap tin .mex khoi bo nh. Lenh nay lam cho bo nh
trong hoan toan.
8. Lenh DELETE
a) Cong dung:
Xoa tap tin va oi tng o hoa.
b) Cu phap:
delete filename
delete (n)
c) Giai thch:
file name: ten tap tin can xoa.
n: bien cha oi tng o hoa can xoa. Neu oi tng la mot ca so th ca so se ong lai va
b xoa.
9. Lenh DEMO
a) Cong dung:
Chay chng trnh mac nh cua Matlab.
b) Cu phap:
demo
c) Giai thch:
demo: la chng trnh co san trong trong Matlab, chng trnh nay minh hoa mot so chc
nang cua Matlab.
10. Lenh DIARY
a) Cong dung:
Lu vung thanh file tren a.
b) Cu phap:
diary filename
c) Giai thch:
filename: ten cua tap tin.
11. Lenh DIR
a) Cong dung:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 9 - GVHD: PHAMQUANG HUY
Liet ke cac tap tin va th muc.
b) Cu phap:
dir
dir name
c) Giai thch:
dir: liet ke cac tap tin va th muc co trong th muc hien hanh.
dir name: ng dan en th muc can liet ke.
12. lenh DISP
a) Cong dung:
Trnh bay noi dung cua bien (x) ra man hnh
b) Cu phap:
disp (x)
c) giai thch:
x: la ten cua ma tran hay la ten cua bien cha chuoi ky t, neu trnh bay trc tiep chuoi ky t
th chuoi ky t c at trong dau
d) V du:
num=('Matlab')
num =
Matlab
disp(num)
Matlab
num=[2 0 0 1]
num =
2 0 0 1
disp(num)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 10 - GVHD: PHAMQUANG HUY
2 0 0 1
num='PHAM QUOC TRUONG'
num =
PHAM QUOC TRUONG
13. Lenh ECHO
a) Cong dung:
Hien th hay khong hien th dong lenh ang thi hanh trong file *.m.
b) Cu phap:
echo on
echo off
c) Giai thch:
on: hien th dong lenh.
off: khong hien th dong lenh.
14. Lenh FORMAT
a) Cong dung:
nh dang kieu hien th cua cac con so.
Cu phap Giai thch V du
Format short Hien th 4 con so
sau dau cham
3.1416
Format long Hien th 14 con so
sau dau cham
3.14159265358979
Format rat Hien th dang phan
so cua phan
nguyen nho nhat
355/133
Format + Hien th so dng
hay am
+
15. Lenh HELP
a) Cong dung:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 11 - GVHD: PHAMQUANG HUY
hng dan cach s dung cac lenh trong Matlab.
b) Cu phap:
help
help topic
c) Giai thch:
help: hien th van tat cac muc hng dan.
topic: ten lenh can c hng dan.
16. Lenh HOME
a) Cong dung:
em con tro ve au vung lam viec.
b) Cu phap:
home
17. Lenh LENGTH
a) Cong dung:
Tnh chieu dai cua vect.
b) Cu phap:
l = length (x)
c) Giai thch:
l: bien cha chieu dai vect.
d) V du:
tnh chieu dai cua vect x.
x = [0 1 2 3 4 5 6 7 8 9]
l = length (x)
l = 10
x=[01 09 77,20 04 2001 ]
x =
1 9 77 20 4 2001
l=length(x)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 12 - GVHD: PHAMQUANG HUY
l =
6
18. Lenh LOAD
a) Cong dung:
Nap file t a vao vung lam viec.
b) Cu phap:
load
load filename
load filename
load finame.extension
c) Giai thch:
load: nap file matlap.mat
load filename: nap file filename.mat
load filename.extension: nap file filename.extension
Tap tin nay phai la tap tin dang ma tran co ngha la so cot cua hang di phai bang so cot
cua hang tren. Ket qua ta c mot ma tran co so cot va hang chnh la so cot va hang cua tap tin
van ban tren.
19. Lenh LOOKFOR
a) Cong dung:
Hien th tat ca cac lenh co lien quan en topic.
b) Cu phap:
lookfor topic
c) Giai thch:
topic: ten lenh can c hng dan.
20. Lenh PACK
a) Cong dung:
Sap xep lai bo nh trong vung lam viec.
b) Cu phap:
pack
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 13 - GVHD: PHAMQUANG HUY
pack filename
c) Giai thch:
Neu nh khi s dung Matlap may tnh xuat hien thong bao Out of memory th lenh pack co
the tm thay mot so vung nh con trong ma khong can phai xoa bt cac bien.
Lenh pack giai phong khong gian bo nh can thiet bang cach nen thong tin trong vung nh
xuong cc tieu. V Matlab quan ly bo nh bang phng phap xep chong nen cac oan chng
trnh Matlab co the lam cho vung nh b phan manh. Do o se co nhieu vung nh con trong
nhng khong u e cha cac bien ln mi.
Lenh pack se thc hien:
+ lu tat ca cac bien len a trong mot tap tin tam thi la pack.tmp.
+ xoa tat ca cac bien va ham co trong bo nh.
+ lay lai cac bien t tap tin pack.tmp.
+ xoa tap tin tam thi pack.tmp.
ket qua la trong vung nh cac bien c gop lai hoac nen lai toi a nen khong b lang
ph bo nh.
Pack.finame cho phep chon ten tap tin tam thi e cha cac bien. Neu khong ch ra ten tap
tin tam thi th Matlab t lay ten tap tin o la pack.tmp.
Neu a dung lenh pack ma may van con bao thieu bo nh th bat buoc phai xoa bt cac bien
trong vung nh i.
21. Lenh PATH
a) Cong dung:
Tao ng dan, liet ke tat ca cac ng dan ang co.
b) Cu phap:
path
p = path
path (p)
c) Giai thch:
path: liet ke tat ca cac dng dan ang co.
p: bien cha ng dan.
path (p): at ng dan mi.
d) V du:
at ng dan en th muc c:\lvtn\matlab
p = d:\DA\matlab;
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 14 - GVHD: PHAMQUANG HUY
path (p);
22. Lenh QUIT
a) Cong dung:
Thoat khoi Matlab.
b) Cu phap:
quit
23. Lenh SIZE
a) Cong dung:
Cho biet so dong va so cot cua mot ma tran.
b) Cu phap:
d = size (x)
[m,n] = size (x)
m = size (x,1)
n = size (x,2)
c) Giai thch:
x: ten ma tran.
d: ten vect co 2 phan t, phan t th nhat la so dong, phan t con lai la so cot.
m,n: bien m cha so dong, bien n cha so cot
d) V du:
ta co ma tran a
x = 1 2 3 4
5 6 6 8
x=[1 2 3 4,5 6 7 8]
x =
1 2 3 4 5 6 7 8
Cac ban chu y ve cach nhap 1 ma tran:
x=[1 2 3 4;5 6 7 8]
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 15 - GVHD: PHAMQUANG HUY
x =
1 2 3 4
5 6 7 8
d=size(x)
d =
2 4
m=size(x,1)
m =
2
n=size(x,2)
n =
4
[m,n]=size(x)
m =
2
n =
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 16 - GVHD: PHAMQUANG HUY
4
24. Lenh TYPE
a) Cong dung:
Hien th noi dung cua tap tin.
b) Cu phap:
type filename
c) Giai thch:
filename: ten file can hien th noi dung.
Lenh nay trnh bay tap tin c ch ra.
25. Lenh WHAT
a) Cong dung:
Liet ke cac tap tin *.m, *.mat, *.mex.
b) Cu phap:
what
what dirname
c) Giai thch:
what: liet ke ten cac tap tin .m, .mat, .mex co trong th muc hien hanh.
dirname: ten th muc can liet ke.
26. Lenh WHICH
a) Cong dung:
Xac nh chc nang cua funname la ham cua Matlab hay tap tin.
b) Cu phap:
which funname
c) Giai thch:
funname: la ten lenh trong Matlab hay ten tap tin
d) V du:
which inv
inv is a build-in function
which f
c:\matlab\bin\f.m
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 17 - GVHD: PHAMQUANG HUY
27. Lenh WHO, WHOS
a) Cong dung:
Thong tin ve bien ang co trong bo nh.
b) Cu phap:
who
whos
who global
whos global
c) Giai thch:
who: liet ke tat ca cac ten bien ang ton tai trong bo nh.
whos: liet ke ten bien, kch thc, so phan t va xet cac phan ao co khac 0 khong.
who global va whos: liet ke cac bien trong vung lam viec chung.
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 18 - GVHD: PHAMQUANG HUY
||. CAC 10AN 1U VA K 1U AC 8|E1
1. Cac toan t so hoc (Arithmetic Operators):
Toan t Cong dung
+ Cong ma tran hoac ai lng vo hng (cac ma tran phai co cung kch thc).
- Tr ma tran hoac ai lng vo hng (cac ma tran phai co cung kch thc).
* Nhan ma tran hoac ai lng vo hng (ma tran 1 phai co so cot bang so hang
cua ma tran 2).
.* Nhan tng phan t cua 2 ma tran hoac 2 ai lng vo hng (cac ma tran phai co
cung kch thc).
\ Thc hien chia ngc ma tran hoac cac ai lng vo hng (A\B tng ng vi
inv (A)*B).
.\ Thc hien chia ngc tng phan t cua 2 ma tran hoac 2 ai lng vo hng (cac
ma tran phai co cung kch thc).
/ Thc hien chia thuan 2 ma tran hoac ai lng vo hng (A/B tng ng vi
A*inv(B)).
./ Thc hien chia thuan tng phan t cua ma tran nay cho ma tran kia (cac ma tran
phai co cung kch thc).
^ Luy tha ma tran hoac cac ai lng vo hng.
.
^ Luy tha tng phan t ma tran hoac ai lng vo hng (cac ma tran phai co
cung kch thc).
* v du:
Phep tnh ma tran Phep tnh mang
1
x 2
3
4
y 5
6
x 1 2 3 y 4 5 6
5
x + y 6
-3
x y -3
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 19 - GVHD: PHAMQUANG HUY
7 -3
3
x + 2 4
5
-3
x 2 -3
-3
x * y phep toan sai
4
x. * y 10
18
x* y 32 x.* y phep toan sai
4 5 6
x * y 8 10 12
12 15 18
x. * y phep toan sai
2
x * 2 4
6
2
x.* 2 4
6
x \ y 16/7
4
x.\ y 5/2
2
1/2
2 \ x 1
3/2
2
2./ x 1
2/3
0 0 1/6
x / y 0 0 1/3
0 0 1/2
1/4
x./ y 2/5
1/2
1/2
x / 2 1
3/2
1/2
x./ 2 1
3/2
x ^ y phep toan sai
1/2
x.^ y 32
729
1
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 20 - GVHD: PHAMQUANG HUY
x ^ 2 phep toan sai x.^ 2 4
9
2 ^ x phep toan sai
2
2.^ x 4
8
2.. Toan t quan he (Relational Operators):
Toan t Cong dung
< So sanh nho hn.
> So sanh ln hn.
>= So sanh ln hn hoac bang.
<= So sanh nho hn hoac bang.
= = So sanh bang nhau ca phan thc va phan ao.
-= So sanh bang nhau phan ao.
a) Giai thch:
Cac toan t quan he thc hien so sanh tng thanh phan cua 2 ma tran. Chung tao ra mot ma
tran co cung kch thc vi 2 ma tran so sanh vi cac phan t la 1 neu phep so sanh la ung
va la 0 neu phep so sanh la sai.
Phep so sanh co che o u tien sau phep toan so hoc nhng tren phep toan logic.
b) V du:
thc hien phep so sanh sau:
x=5 % au tien ta nhap x=5
x =
5
x>=[1 2 3;4 5 6;7 8 9] %so sanh trc tiep x (x la 5) vi ma tran
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 21 - GVHD: PHAMQUANG HUY
ans = % ro rang cac pha t 1,2,3,4,5 eu <= 5
1 1 1
1 1 0
0 0 0
x=5
x =
5
A=[1 2 3;4 5 6;7 8 9] % ta at ma tran A
A =
1 2 3
4 5 6
7 8 9
x>=A
ans =
1 1 1
1 1 0
0 0 0
x=A % dong lenh nay tc la cho x= ma tran A
x =
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 22 - GVHD: PHAMQUANG HUY
1 2 3
4 5 6
7 8 9
x==A % so sanh x va A
ans = % tat ca cac phan t eu ung
1 1 1
1 1 1
1 1 1
x=5 % cho lai x=5
x =
5
x==A % so sanh x = A
ans =
0 0 0
0 1 0 % ch duy nhat phan t 5=x (v x=5)
0 0 0
x<A
ans =
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 23 - GVHD: PHAMQUANG HUY
0 0 0
0 0 1
1 1 1
3. Toan t logig (Logical Operators):
Toan t Cong dung
& Thc hien phep toan logic AND.
' Thc hien phep toan logic OR.
~ Thc hien phep toan logic NOT.
a) Giai thch:
Ket qua cua phep toan la 1 neu phep logic la ung va la 0 neu phep logic la sai.
Phep logic co che o u tien thap nhat so vi phep toan so hoc va phep toan so sanh.
b) V du:
Khi thc hien phep toan 3>4 & 1+ th may tnh se thc hien 1+2 c 3, sau o ti 3>4 c
0 roi thc hien 0 & 3 va cuoi cung ta c ket qua la 0.
4. Ky t ac biet (Special Characters):
Ky hieu Cong dung
[] Khai bao vector hoac ma tran.
() Thc hien phep toan u tien, khai bao cac bien va cac ch so cua
vector.
= Thc hien phep gan.
Chuyen v ma tran tm lng lien hiep cua so phc.
. iem cham thap phan.
, Phan biet cac phan t cua ma tran va cac oi so trong dong lenh.
; Ngan cach gia cac hang khi khai bao ma tran.
% Thong bao dong chu thch.
! M ca so MS DOS.
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 24 - GVHD: PHAMQUANG HUY
5. dau :
a) Cong dung:
Tao vector hoac ma tran phu va lap i lap lai cac gia tr.
b) Giai thch:
Khai bao Cong dung
j : k Tao ra chuoi j, j+1, j+2,., k-1, k
j : i : k Tao ra chuoi j, j+i, j+2I,.,k-i, k
A(: , j) Ch cot th j cua ma tran A
A(i , :) Ch hang th i cua ma tran
A(: , :) Ch toan bo ma tran A
A(j , k) Ch phan t A(j), A(j+1)A(k)
A(: , j , k) Ch cac phan t A(:, j), A(:, j+1)A(:, k)
A(:) Ch tat ca cac thanh phan cua ma tran A
c) V du:
khi khai bao D = 1 : 10
ta c ket qua:
D = 1 2 3 4 5 6 7 8 9 10
con khi khai bao D = 0 : 2 :10
th ta c ket qua:
D = 0 2 4 6 8 10
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 25 - GVHD: PHAMQUANG HUY
III. CAC HAM LOGIC (LOGICAL FUNCTION)
1. Lenh ALL
a) Cong dung:
Kiem tra vector hay ma tran co gia tr 0 hay khong.
b) Cu phap:
y = all(x)
c) Giai thch:
y: bien cha ket qua
x: ten vedtor hay ma tran
y = 1 khi tat ca cac phan t khac 0
y = 0 khi co 1 phan t bang 0
d) V du:
a=[1 2 3]
a =
1 2 3
y=all(a)
y =
1
a=[1 0 3]
a =
1 0 3
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 26 - GVHD: PHAMQUANG HUY
y=all(a)
y =
0
a=[1 2 3;4 0 6;7 8 9]
a =
1 2 3
4 0 6
7 8 9
y=all(a)
y =
1 0 1
a=[1 2 0;0 3 5;2 6 8]
a =
1 2 0
0 3 5
2 6 8
y=all(a)
y =
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 27 - GVHD: PHAMQUANG HUY
0 1 0
2. Lenh ANY
a) Cong dung:
Kiem tra vector hay ma tran co gia tr khac 0 hay khong.
b) Cu phap:
y = any(x)
c) Giai thch:
y: bien cha ket qua.
x: ten vector, hay ma tran.
y = 1 khi co 1 phan t khac 0.
y = 0 khi co 1 phan t bang 0.
d) V du:
a=[1 2 3];
y=any(a)
y =
1
b=[1 0 3 0];
y=any(b)
y =
1
c=[1 2 0 4;0 2 0 4;1 2 3 4;3 4 5 6]
c =
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 28 - GVHD: PHAMQUANG HUY
1 2 0 4
0 2 0 4
1 2 3 4
3 4 5 6
y=any(c)
y =
1 1 1 1
d=[0 0 0 0;0 1 3 0]
d =
0 0 0 0
0 1 3 0
y=any(d)
y =
0 1 1 0
3. Lenh EXIST
a) Cong dung:
Kiem tra bien hay file co ton tai hay khong.
b) Cu phap:
e = exist(item)
c) Giai thch:
item: la ten file hay ten bien.
e: bien cha gia tr tra ve.
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 29 - GVHD: PHAMQUANG HUY
e Y ngha
0 item khong ton tai trong vung lam viec
1 item la bien ang ton tai trong vung lam viec
2 item ang ton tai tren a (ch kiem tra trong th muc hien
hanh)
3 item la MEX-file
4 item la file c dch t phan mem Simulink
5 item la ham cua Matlab
d) V du:
e = exist(dir)
e = 5
4. Lenh FIND
a) Cong dung:
Tm phan t trong vector hay ma tran theo yeu cau.
b) Cu phap:
k = find(x)
[i,j] = find(x)
[i,j,s] = find(x)
c) Giai thch:
k: ch v tr cua phan t can tm trong vector.
i,j: ch so hang va so cot tng ng cua phan t can tm.
s: cha gia tr cua phan t can tm.
x: ten vector, ma tran hay la yeu cau e ra. Neu khong neu ra yeu cau th mac nhien la tm
cac phan t khac 0.
d) V du:
x=[1 8 0 2 3 0]
x =
1 8 0 2 3 0
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 30 - GVHD: PHAMQUANG HUY
k=find(x)
k =
1 2 4 5
k=[3 6]
k =
3 6
a=[5 0 0;8 0 3]
a =
5 0 0
8 0 3
[i,j,k]=find(a)
i =
1
2
2
j =
1
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 31 - GVHD: PHAMQUANG HUY
1
3
k =
5
8
3
IV. NHOM LENH LAP TRNH TRONG MATLAB
1. Lenh EVAL
a) Cong dung:
Chuyen oi chuoi ky t thanh bieu thc.
b) Cu phap:
kq = eval(string)
c) Giai thch:
kq: bien cha ket qua.
Neu string la cac ky so th chuyen thanh nhng con so.
Neu string la cau lenh th chuyen thanh cac lenh thi hanh c.
d) V du:
a='199999999';
eval(a)+1
ans =
200000000
2. Lenh FOR
a) Cong dung:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 32 - GVHD: PHAMQUANG HUY
Dung e thc hien 1 cong viec can lap i lap lai theo mot quy luat, vi so bc lap xac nh
trc.
b) Cu phap:
for bien ieu khien = gia tr au : gia tr cuoi,
thc hien cong viec;
end
c) Giai thch:
Cong viec chnh la cac lenh can thi hanh, co the co nhieu lenh, ket thuc lenh phai co dau;
d) V du:
In ra man hnh 5 dong PHAM QUOC TRUONG chao cac ban.
for i = 1:5,
disp(PHAM QUOC TRUONG chao cac ban);
end
PHAM QUOC TRUONG chao cac ban
PHAM QUOC TRUONG chao cac ban
PHAM QUOC TRUONG chao cac ban
PHAM QUOC TRUONG chao cac ban
PHAM QUOC TRUONG chao cac ban
3. Lenh FUNCTION
a) Cong dung:
Tao them ham mi.
b) Cu phap:
function s = n(x)
c) Giai thch:
s: ten bien cha gia tr tra ve sau khi thi hanh ham.
n: ten gi nh.
d) V du: ( phan lap trong M.file)
4. Lenh INPUT
a) Cong dung:
Dung e nhap vao 1 gia tr.
b) Cu phap:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 33 - GVHD: PHAMQUANG HUY
ten bien = input (promt)
ten bien = input (promt, s)
c) Giai thch:
ten bien, la ni lu gia tr ngap vao.
promt: chuoi ky t muon nhap vao.
s: cho biet gia tr nhap vao la nhieu ky t.
d) V du1:
x = input(nhap gia tr cua bien x: )
nhap gia tr cua bien x: 5
x = 5
e) V du2:
tra_li = input(ban co muon tiep tuc khong ? ,s)
ban co muon tiep tuc khong ? khong
tra_li = khong
5. Lenh IF ELSEIF ELSE
a) Cong dung:
Thc hien lenh khi thoa ieu kien.
b) Cu phap:
if bieu thc luan ly 1
thc hien cong viec 1;
elseif bieu thc luan ly 2
thc hien cong viec 2;
else
thc hien cong viec 3;
end
c) Giai thch:
Khi bieu thc luan ky 1 ung th thc hien cong viec 1 tng t cho bieu thc luan ly 2. Neu
ca hai bieu thc sai th thc hien cong viec sau lenh else.
Bieu thc luan ly la cac phep so sanh ==, <, >, <=, >=
cong viec chnh la cac lenh can thi hanh, co the co nhieu lenh, ket thuc lenh phai co dau ;
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 34 - GVHD: PHAMQUANG HUY
d) V du:
Viet chng trnh nhap vao 2 so va so sanh hai so o.
a = input(Nhap a: );
b = input(Nhap b: );
if a > b
disp(a ln hn b);
elseif a ==b
disp(a bang b);
else
disp(a nho hn b);
end
nhap a: 4
nhap b: 5
a nho hn b
6. Lenh MENU
a) Cong dung:
Tao menu e chon chc nang.
b) Cu phap:
ten bien = menu (Ten menu,chc nang1,chc nang2, . , chc nang n)
c) Giai thch:
ten menu: la tieu e cua menu.
ten bien: la ni cat gia tr nhan c sau khi chon chc nang cua menu.
Chc nang 1, 2, .,n:khi chon chc nang nao th ten bien co gia tr la so th t cua chc nang
o.
d) V du:
k = menu(Choose a color, Red, Blue, Green)
---- Choose a color ----
1) Red
2) Blue
3) Green
7. Lenh PAUSE
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 35 - GVHD: PHAMQUANG HUY
a) Cong dung:
Dng chng trnh theo y muon.
b) Cu phap:
pause on
pause off
pause (n)
c) Giai thch:
pause on: dng chng trnh, va ch nhan 1 phm bat ky (tr cac phm ieu khien) chng
trnh thc hien tiep.
pause off: tat chc nang pause.
pause (n): dng chng trnh tai n giay.
d) V du:
for n = 1 : 3;
disp(Press any key to continue)
pause
end
Press any key to continue
Press any key to continue
Press any key to continue
8. Lenh WHILE
a) Cong dung:
Dung e thc hien 1 cong viec can lap i lap lai theo mot quy luat, vi so bc lap khong
xac nh, phu thuoc vao bieu thc luan ly.
b) Cu phap:
while bieu thc luan ly
thc hien cong viec;
end
c) Giai thch:
Bieu thc luan ly la cac phep so sanh = =, <, >, <=, >=
Cong viec chnh la cac lenh can thi hanh, co the co nhieu lenh, ket thuc lenh phai co dau ;
Khi thc hien xong cong viec th quay len kiem tra lai bieu thc luan ly, neu van con ung
th tiep tuc thc hien, neu sai th ket thuc.
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 36 - GVHD: PHAMQUANG HUY
d) V du:
tnh tong A = 1+1/2+1/3++1/n
n = input(nhap vao so n );
a = 0; i = 1
while i <= n
a = a + 1/i
i = i + 1;
end
disp(ket qua);
disp(a);
nhap vao so n 3
ket qua
1.8333
B1(BT4a): Viet chng trnh nhap vao mot so n(n>=0)
vi cac trng hp sau:
a) Neu n<0 th in thong bao ban nhap sai
b) Neu n>0 va le th tnh tong s1=1+3+5+...+n,n la so le.
c) Neu n>0 va chan th s2=2+4+6+...+n,n chan.
d) Neu n=0 dng chng trnh lai.
% BT4a: Viet chuong trinh nhap vao mot so n(n>=0)
% voi cac truong hop sau:
% a) Neu n<0 thi in thong bao ban nhap sai
% b) Neu n>0 va le thi tinh tong s1=1+3+5+...+n,n la so le.
% c) Neu n>0 va chan thi s2=2+4+6+...+n,n chan.
% d) Neu n=0 dung chuong trinh lai.
n=input('nhap n= '); %nhap so n
du=rem(n,2); %kiem tra n la le hay chan
%neu n le du=1, n chan du=0
if n<0
fprintf('Ban nhap sai') %xuat ra thong bao
end
if (n>0) & (du==1) %neu n>0 va le
i=1; %gan i=1;
s1=1; %gan tong s1=1
while i<n %thuc hien vong lap
i=i+2; %tang i len 2 sau moi lan lap
s1=s1+i; %tinh tong s1 voi gia tri i moi
end
s1 %in ra ket qua sau khi ket thuc vong lap
end
if (n>0) & (du==0)
i=0;
s2=0;
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 37 - GVHD: PHAMQUANG HUY
while i<n
i=i+2;
s2=s2+i;
end
s2
end
if n==0 %neu n=0
break %lenh ket thuc
end
Khi chay chng trnh:
nhap n= 5
s1 =
9
BT4a
nhap n= 4
s2 =
6
BT4a
nhap n= -6
Ban nhap sai BT4a
nhap n= 0

Khao sat ng dung MATLAB trong ieu khien t ong


Thc hien: PHAM QUOC TR NG - 38 - GVHD: PHAMQUANG HUY
V. 1AP LENH XU L CHU0|
1. Lenh ABS
a) Cong dung:
Tao vector n co gia tr cua moi phan t la so th t tng ng vi ky t trong bang ma
ASCII.
Lay tr tuyet oi cua mot so am.
b) Cu phap:
n = ABS(s)
x = ABS(a)
c) Giai thch:
n: ten vector.
s: chuoi ky t, hoac la ten bien cha chuoi ky t.
a: so am, hoac la ten bien cha so am.
x: tr tuyet oi cua a.
d) V du:
n=abs('PHAM QUOC TRUONG')
n =
Columns 1 through 12
80 72 65 77 32 81 85 79 67 32 84 82
Columns 13 through 16
85 79 78 71
m=abs('MATLAB')
m =
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 39 - GVHD: PHAMQUANG HUY
77 65 84 76 65 66
U=abs('abc')
U =
97 98 99
T=abs(-1)
T =
1
2. Lenh BLANKS
a) Cong dung:
Tao khoang trang gia hai hay nhieu chuoi ky t theo mong muon.
b) Cu phap:
[S1 BLANKS(b1) S2 BLANKS(b2) BLANKS(bn) Sn]
c) Giai thch:
S1, S2, Sn: cac chuoi ky t.
b1, b2: so khoang trang.
d) V du:
In 4 chuoi Khao sat,ng dung, MATLAB, trong ieu khien t ong ra man hnh vi
khoang cach lan lt gia 4 chuoi la: 2,4,3
S=['Khao sat'blanks(2) 'ung dung'blanks(4) 'MATLAB'blanks(3) 'trong dieu khien tu dong']
S =
Khao sat ung dung MATLAB trong dieu khien tu dong
3. Lenh DEC2HEX
a) Cong dung:
oi con so cua he 10 sang he 16.
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 40 - GVHD: PHAMQUANG HUY
b) Cu phap:
s = dec2hex(n)
c) Giai thch:
s: bien cha chuoi ky so cua he 16
n: con so nguyen he 10.
d) V du:
s = dec2hex(10)
s = A
4. Lenh HEX2DEC
a) Cong dung:
oi chuoi ky so cua he 16 sang con so cua he 10.
b) Cu phap:
n = hex2dec(s)
c) Giai thch:
n: con so cua he 10.
s: chuoi ky so he 16.
d) V du:
n = hex2dec(A)
n = 10
5. Lenh INT2STR
a) Cong dung:
Chuyen so nguyen sang dang chuoi.
Chuyen cac ky t trong mot chuoi sang so th t tng ng trong bang ma ASCII.
b) Cu phap:
kq = INT
c) Giai thch:
kq: bien STR(n)cha ket qua.
n: ten bien can chuyen.
Neu n la so nguyen th kq la chuoi ky so.
Neu n la chuoi ky t th kq la so tng ng trong bang ma ASCII
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 41 - GVHD: PHAMQUANG HUY
d) V du:
n='MATLAB'
n =
MATLAB
t=int2str(n)
t =
77 65 84 76 65 66
n=2001
n =
2001
t=int2str(n)
t =
2001
6. Lenh ISSTR
a) Cong dung:
Kiem tra noi dung bien co phai la chuoi ky t khong.
b) Cu phap:
kq = isstr(n)
c) Giai thch:
kq: bien cha ket qua.
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 42 - GVHD: PHAMQUANG HUY
n: ten bien can kiem tra.
kq = 1 neu n la chuoi ky t.
0 neu n khong la chuoi ky t.
d) V du:
n='MATLAB';
kq=isstr(n)
kq =
1
m=[1 2 3 4];
kq=isstr(m)
kq =
0
7. Lenh LOWER
a) Cong dung:
Cho ra chuoi ky t viet thng.
b) Cu phap:
b = lower(s)
c) Giai thch:
b: bien cha ket qua.
s: ten bien cha chuoi ky t hay chuoi ky t.
d) V du:
a='DO AN cua pHAm quOC TRuOnG';
b=lower(a)
b =
do an cua pham quoc truong
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 43 - GVHD: PHAMQUANG HUY
8. Lenh NUM2STR
a) Cong dung:
Chuyen so thc sang dang chuoi.
Chuyen cac ky t trong mot chuoi sang so th t tng ng trong bang ma ASCII.
b) Cu phap:
kq = num2tr(n)
c) Giai thch:
kq: bien cha ket qua.
n: ten bien can chuyen.
Neu n la so thc th kq la so tng ng trong bang ma ASCII.
d) V du:
n=3.1416;
kq=num2str(n)
kq =
3.1416
9. Lenh SETSTR
a) Cong dung:
Cho ra ky t tng ng vi so th t trong bang ma ASCII.
b) Cu phap:
x = Set Str(n)
c) Giai thch:
x: bien cha ky t tng ng (thuoc bang ma ASCII).
n: so nguyen (0 n 255).
d) V du:
Tm ky t co so th t la 65 trong bang ma ASCII.
kt=setstr(65)
kt =
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 44 - GVHD: PHAMQUANG HUY
A
10. Lenh STR2MAT
a) Cong dung:
Tao ma tran co cac phan t dang chuoi.
b) Cu phap:
s = str2mat(s1, s2, )
c) Giai thch:
s: ten ma tran ket qua.
s1, s2: chuoi ky t.
d) V du:
s = str2mat(mat, lab)
s =
mat
lab
11. Lenh STR2NUM
a) Cong dung:
Chuyen chuoi (dang so) sang so thc.
b) Cu phap:
n = str2num(s)
c) Giai thch:
s: chuoi dang so.
n: so thc.
d) V du:
n = str2num(456456)
n = 456456
12. Lenh STRCMP
a) Cong dung:
So sanh 2 chuoi ky t.
b) Cu phap:
l = strcmp(s1, s2)
c) Giai thch:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 45 - GVHD: PHAMQUANG HUY
l: bien cha ket qua.
s1, s2: chuoi can so sanh.
d) V du:
a = MatLab WoRkS
b = MatLab WoRkS
strcmp(a,b)
ans = 1
13. Lenh UPPER
a) Cong dung:
Cho ra chuoi viet hoa.
b) Cu phap:
b = upper
c) Giai thch:
b: bien cha ket qua.
s: ten bien cha chuoi ky t.
d) V du:
a = MaTlab WORks
b = upper(a)
b = MATLAB
b = upper(MaTlab WORks)
b= MATLAB WORKS
V|. CAC HAM C|A0 1|EP
1. Lenh FCLOSE
a) Cong dung:
ong file ang m sau khi truy xuat xong.
b) Cu phap:
fclose(fid)
c) Giai thch:
fid: ten bien tro en file ang m.
2. Lenh FOPEN
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 46 - GVHD: PHAMQUANG HUY
a) Cong dung:
M file hoac truy xuat d lieu cua file ang m.
b) Cu phap:
fid = fopen(fn)
fid = fopen(fn, p)
c) Giai thch:
fid: ten bien tro en file ang m.
fn: ten file (co the at ng dan).
Tham so p co cac nh dang sau:
r: ch oc.
r+: oc va ghi.
w: xoa tat ca noi dung cua file hoac tao 1 file mi va m file o e ghi.
w+: xoa tat ca noi dung cua file hoac tao 1 file mi va m file o e ghi va oc.
3. Lenh FPRINTF
a) Cong dung:
Ghi oan d lieu thanh file.
b) Cu phap:
fprintf(fid, f)
c) Giai thch:
fid: ten bien tro en file can ghi.
f: cac tham so e nh dang.
d) V du:
Tao file exp.txt co noi dung:
x = 0:2:10;
y = [x, x/2];
fid = fopen(exp.txt, w);
fprintf(fid, %d, [2, inf]);
Gan file exp.txt va bien a e xem noi dung:
fid = fopen(exp.txt)
a = fscanf(fid, %d, [2,inf]);
disp(a);
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 47 - GVHD: PHAMQUANG HUY
fclose(fid);
Ket qua
0 2 4 6 8 10
0 1 2 3 4 5
4. Lenh FREAD
a) Cong dung:
oc d lieu dang nh phan t file.
b) Cu phap:
[a, c] =fscanf(fid)
[a, c] = fscanf(fid,s)
c) Giai thch:
a: ten bien cha d liec c oc vao.
c: so phan t c oc vao.
fid: ten bien tro en file can oc.
s: kch thc d lieu oc vao.
s c nh dang bi cac thong so:
n: ch oc n phan t vao cot vector a.
inf: oc en het file.
[m,n]: ch oc vao m cot va n hang, n co the bang inf con m th khong.
d) V du1:
file vd.txt co noi dung:
A B C
1 2 3
fid = fopen(vd.txt);
[a,c] = fread(fid);
disp(a);
disp(c);
a =
65
32
66
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 48 - GVHD: PHAMQUANG HUY
32
67
13
10
49
32
50
32
51
c =
12
e) V du2
fid = fopen(vd1.txt);
[a,c] = fread(fid, 4);
disp(a);
disp(c);
a=
65
32
66
32
c =
4
f) V du 3:
file vd3.txt co noi dung
ABCDE
FGHIJ
KLMNO
fid = fopen(vd3.txt);
[a,c] = fread(fid, [7, inf]);
disp(a);
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 49 - GVHD: PHAMQUANG HUY
disp(c);
a =
65 70 75
66 71 76
67 72 76
68 73 78
69 74 79
13 13 13
10 10 10
c =
21
a=
65 66 67 68 69 13 10
70 71 72 73 74 13 10
75 76 77 78 79 13 10
5. Lenh FWRITE
a) Cong dung:
Ghi oan d lieu dang nh phan thanh file.
b) Cu phap:
fwrite (fid,a)
c) Giai thch:
fid: ten bien tro en file can ghi.
a: ten bien cha d lieu.
d) V du:
Ghi oan d lieu cua bien a thanh file a.txt
a = [65 66 67]
fid = fopen(a.txt, w);
fwrite(fid, %);
fwite(fid,a);
Gan file a.txt vao bien b e xem noi dung
fid = fopen(a.txt);
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 50 - GVHD: PHAMQUANG HUY
b = fscanf(fid, %);
disp(b);
fclose(fid);
Ket qua
b = ABC
6. Lenh SPRINTF
a) Cong dung:
Hien th thong tin len man hnh.
b) Cu phap:
s = sprintf(ts,ds)
c) Giai thch:
s: bien cha chuoi so hien th tren man hnh.
ts: cac tham so nh dang.
ds: danh sach cac oi so.
Tham so nh dang thuoc 1 trong 2 kieu sau:
(1) Chuoi ky t: chuoi nay se c hien th len man hnh giong het nh c viet trong
cau lenh.
(2) Chuoi cac tham so nh dang: cac chuoi nay se khong c hien th len man hnh,
nhng tac dung ieu khien viec chuyen oi va cach hien th cac oi so c a ra trong
danh sach cac oi so.
V du cac tham so nh dang:
1) %d: oi so la so nguyen c viet di dang thap phan.
s = sprintf(ay la so: %d,-24)
s = ay la so: -2
2) %u: oi so la so nguyen c viet di dang thap phan khong dau.
s = sprintf(ay la so: %u,24)
s = ay la so: 24
3) %o: oi so la so nguyen c viet di dang c so 8 khong dau.
s = sprintf(ay la so: %o,9)
s = ay la so: 11
4) %x: oi so la so nguyen c viet di dang c so 16.
s = sprintf(ay la so: %x,255)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 51 - GVHD: PHAMQUANG HUY
s = ay la so:ff
5) %f: oi so la so nguyen c viet di dang cp so 10.
s = sprintf(ay la so: %f,2550
s = ay la so: 255.000000
e nh dang phan thap phan th them vao con so cha so thap phan can lay.
s = sprintf(ay la so: %.3f, 2.5568)
s = ay la so: 2.557
6) %c: oi so la 1 ky t rieng ac biet.
s = sprintf(ay la ch: %c,M)
s = ay la ch: M
7)%s: oi so la chuoi ky t.
s = sprintf(ay la chuoi: %s, Matlab)
s = ay la chuoi: Matlab
8. Lenh SSCANF
a) Cong dung:
oc chuoi ky t va nh dang lai chuoi ky t o.
b) Cu phap:
[a,count] = sscanf(s, format, size)
c) Giai thch:
a: ten bien cha chuoi ky t sau khi c nh dang.
count: em so phan t c oc vao.
size: kch thc se c oc vao.
format: phan nh dang giong nh lenh sprintf.
d) V du:
s = 3.12 1.2 0.23 2.56;
[a, count] = sscanf(s, %f,3)
a =
3.1200
1.2000
0.2300
count =
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 52 - GVHD: PHAMQUANG HUY
3
VII. CAC HAM TOAN HOC C BAN
1. Mot so ham lng giac:
a) Cu phap:
kq = hlg(x)
b) Giai thch:
kq: ten bien cha ket qua.
x: n v radian.
hlg: ten ham lng giac.
Ten ham lng giac Giai thch
sin
cos
tan
asin
atan
sinh
cosh
tanh
Tnh gia tr sine
Tnh gia tr cosine
Tnh gia tr tangent
Nghch ao cua sine
Nghch ao cua tangent
Tnh gia tr hyperbolic sine
Tnh gia tr hyperbolic cosine
Tnh ga tr hyperbolic tangent
2. Lenh ANGLE
a) Cong dung:
Tnh goc pha cua so phc.
b) Cu phap:
p = angle(z)
c) Giai thch:
p: ten bien cha ket qua, n v radians
z: so phc
d) V du:
z = i-3j
z = 0 2.0000i
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 53 - GVHD: PHAMQUANG HUY
p = angle(z)
p = -1.5708
3. Lenh CEIL
a) Cong dung:
Lam tron so ve pha so nguyen ln hn.
b) Cu phap:
y = ceil(x)
c) Giai thch:
y: so sau khi c lam tron.
x: so can c lam tron.
d) V du:
x = -1.9000 -0.2000 3.4000 5.6000 7.0000
y = ceil(x)
y = -1 0 4 6 7
4. Lenh CONJ
a) Cong dung:
Tnh lng lien hiep cua so phc.
b) Cu phap:
y = conj(z)
c) Giai thch:
y: ten bien cha lng lien hiep
z: so phc
d) V du:
z = -3i + 2j
z = 0 1.0000i
y = conj(z)
y = 0 + 1.0000i
5. Lenh EXP
a) Cong dung:
Tnh gia tr e
x
.
b) Cu phap:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 54 - GVHD: PHAMQUANG HUY
y = exp(x)
c) V du:
y = exp(x)
y = 20.0855
6. Lenh FIX
a) Cong dung:
Lam tron so ve pha zero.
b) Cu phap:
y = fix(x)
c) Giai thch:
y: so sau khi c lam tron.
x: so can c lam tron.
d) V du:
x = -1.9000 -0.2000 3.4000 5.6000 7.0000
y = fix(x)
y = -1 0 3 5 7
7. Lenh FLOOR
a) Cong dung:
Lam tron so ve pha so nguyen nho hn.
b) Cu phap:
y = floor(x)
c) Giai thch:
y: so sau khi c lam tron .
x: so can c lam tron
d) V du:
x = -1.9000 -0.2000 3.4000 5.6000 7.0000
y = floor(x)
y = -2 -1 3 5 7
8. Lenh IMAG
a) Cong dung:
Lay phan ao cua so phc.
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 55 - GVHD: PHAMQUANG HUY
b) Cu phap:
y = imag(z)
c) V du:
y = imag(2 + 3j)
y = 3
9. Lenh LOG
a) Cong dung:
Tm logarithm c so e.
b) Cu phap:
y = log(x)
d) V du:
y = log(2.718)
y = 0.9999
10. Lenh LOG2
a) Cong dung:
Tm logarithm c so 2.
b) Cu phap:
y = log2(x)
d) V du:
y = log2(2)
y = 1
11. Lenh LOG10
a) Cong dung:
Tm logarithm c so 10.
b) Cu phap:
y = log10(x)
d) V du:
y = log10(10)
y = 1
12. Lenh REAL
a) Cong dung:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 56 - GVHD: PHAMQUANG HUY
Lay phan thc cua so phc.
b) Cu phap:
y = real(z)
d) V du:
y = real(1 + 3j)
y = 2
13. Lenh REM
a) Cong dung:
Cho phan d cua phep chia.
b) Cu phap:
r = rem(a,b)
c) Giai thch:
r: bien cha ket qua
a, b: so chia va so b chia
d) V du:
r = rem(16, 3)
r = 1
14. Lenh ROUND
a) Cong dung:
Lam tron so sao cho gan so nguyen nhat.
b) Cu phap:
y = round(x)
c) V du:
x = -1.9000 -0.2000 3.4000 5.6000 7.0000
y = round(x)
y= -2 0 3 6 7
Bang so sanh cua cac phep lam tron so
X -1.9000 -0.2000 3.4000 5.6000 7.0000
ceil(x) -1 0 4 6 7
floor(x) -2 -1 3 5 7
fix(x) -1 0 3 5 7
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 57 - GVHD: PHAMQUANG HUY
round(x) -2 0 3 6 7
15. Lenh SIGN
a) Cong dung:
Xet dau so thc.
b) Cu phap:
y = sign(x)
c) Giai thch:
x: so thc can xet dau.
y: ket qua tra ve.
y x
0 so 0
1 so dng
-1 so am
d) V du:
x = 2 0 -3 0.5
y = sugn(x)
y= 1 0 -1 1
16. Lenh SQRT
a) Cong dung:
Tnh can bac hai.
b) Cu phap:
y = sqrt(x)
c) V du:
x = 4
y = sqrt(x)
y = 2
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 58 - GVHD: PHAMQUANG HUY
VIII. TAP LENH THAO TAC TREN MA TRAN
1. Cong, tr, nhan, chia tng phan t cua ma tran vi hang so
a) Cu phap:
Ma tran ket qua = ma tran [+] [-] [.] [/] hang so.
b) V du:
a =
1 2 3
4 5 6
7 8 9
Cong ma tran a vi 2 ket qua la ma tran b
b = a + 2
b =
3 4 5
6 7 8
9 10 11
tng t cho cac phep tnh tr, nhan va chia.
2. Lenh DET
a) Cong dung:
Dung e tnh nh thc cua ma tran.
b) V du:
Tnh nh thc cua ma tran a
a =
1 4
5 6
det(a)
ans = -8
3. Lenh DIAG
a) Cong dung:
Tao ma tran mi va x ly ng cheo theo quy c.
b) Cu phap:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 59 - GVHD: PHAMQUANG HUY
v = diag(x)
v = diag(x,k)
c) Giai thch:
x: la vector co n phan t.
v: la ma tran c tao ra t x theo quy tac: so hang bang so cot va cac phan t cua x nam
tren ng cheo cua v.
k: tham so nh dang cho v, so hang va cot cua v = n + abs(k).
Neu k = 0 ng cheo cua v chnh la cac phan t cua x
Neu k > 0 cac phan t cua x nam pha tren ng cheo v
Neu k < 0 cac phan t cua x nam pha di ng cheo v
d) V du:
x = 2 1 9 5 4
v = diag(x)
v =
2 0 0 0 0
0 1 0 0 0
0 0 9 0 0
0 0 0 0 4
v = diag(x,2)
v =
0 0 2 0 0 0 0
0 0 0 1 0 0 0
0 0 0 0 9 0 0
0 0 0 0 0 5 0
0 0 0 0 0 0 4
0 0 0 0 0 0 0
0 0 0 0 0 0 0
v = diag(x,0)
v =
2 0 0 0 0
0 1 0 0 0
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 60 - GVHD: PHAMQUANG HUY
0 0 9 0 0
0 0 0 5 0
0 0 0 0 4
v = diag(x,-2)
v =
0 0 0 0 0 0 0
0 0 0 0 0 0 0
2 0 0 0 0 0 0
0 1 0 0 0 0 0
0 0 9 0 0 0 0
0 0 0 5 0 0 0
0 0 0 0 4 0 0
4. Lenh EYE
a) Cong dung:
Tao ma tran n v.
b) Cu phap:
y = eye(n)
y = eye(n,m)
c) Giai thch:
n: tao ma tran co n hang, n cot.
m, n: tao ma tran co m hang, n cot.
d) V du:
y = eye(3)
y =
1 0 0
0 1 0
0 0 1
y = eye(3,5)
y =
1 0 0 0 0
0 1 0 0 0
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 61 - GVHD: PHAMQUANG HUY
0 0 1 0 0
5. Lenh FLIPLR
a) Cong dung:
Chuyen cac phan t cua cac ma tran theo th t cot ngc lai.
b) Cu phap:
b = fliplr(a)
c) Giai thch:
b: ten ma tran c chuyen oi.
a: ten ma tran can chuyen oi.
d) V du:
a =
0 1 2 3 4
5 6 7 8 9
b = fliplr(a)
4 3 2 1 0
9 8 7 6 5
6. Lenh FLIPUD
a) Cong dung:
Chuyen cac phan t cua ma tran theo th t hang ngc lai.
b) Cu phap:
b = flipud(a)
c) Giai thch:
b: ten ma tran c chuyen oi.
a: ten ma tran can chuyen oi.
d) V du:
a =
1 4
2 5
3 6
b = flipud(a)
b =
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 62 - GVHD: PHAMQUANG HUY
3 6
2 5
1 4
7. Lenh INV
a) Cong dung:
Tm ma tran nghch ao.
b) Cu phap:
Ma tran nghch ao = inv (ma tran)
c) V du:
Tm ma tran nghch ao cua a.
a =
1 2 0
2 5 -1
4 10 -1
b = inv(a)
b =
5 2 -2
-2 -1 1
0 -2 1
8. Lenh tao ma tran
a) Cong dung:
Dung e tao 1 ma tran gom co n hang va m cot.
b) Cu phap:
Ten ma tran = [a
11
a
12
a
1m
; a
21
a
22
a
2m
;;]
c) Giai thch:
a
11
, a
12
, a
1m
la cac gia tr tai hang 1 cot 1 en cac gia tr tai hang 1 cot m, co n dau (;) la co n
hang.
d) V du:
Tao ma tran gom 3 hang va 3 cot vi gia tr la
1 2 3
4 5 6
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 63 - GVHD: PHAMQUANG HUY
1 0 0
a = [1 2 3; 4 5 6; 1 0 0]
a = 1 2 3
4 5 6
1 0 0
9. Lenh tao vector n
a) Cong dung:
Lenh nay dung e tao 1 vector n gom co n phan t.
b) Cu phap 1:
Ten vector = [pt1 pt2 pt3 ptn]
c) Giai thch:
pt1 pt2 ptn: la cac so thc.
d) V du:
Tao vector a gom co 4 phan t, vi cac gia tr la:1, 3, 7, 4
a = [1 3 7 4]
a =
1 3 7 4
e) Cu phap 2:
Ten vector = gt:csc:gtkt
f) Giai thch:
gt: la gia tr bat au cua vector.
csc: cap so cong.
gtkt: gia tr ket thuc.
g) V du:
Tao vector a co gia tr bat au 0.2, gia tr ket thuc pi/2
(= 1.5708), cap so cong 0,3.
a = 0.2;0.3;pi/2
a =
0.2000 0.5000 0.8000 1.1000 1.4000
10. Lenh LINSPACE
a) Cong dung:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 64 - GVHD: PHAMQUANG HUY
Tao vector co gia tr ngau nhien gii han trong khoang nh trc.
b) Cu phap:
y = linspace(x1, x2)
y = linspace(x1, x2, n)
c) Giai thch:
y: ten cua vector.
x1, x2: gii han gia tr ln nhat va nho nhat cua vector y.
n: so phan t cua vector y.
Neu khong co gia tr n th mac nh n = 100.
d) V du:
y = linspace(1, 10, 7)
y = 1.0000 2.5000 4.0000 5.5000 7.0000 8.5000 10.0000
11. Ma tran chuyen v
a) Cong dung:
Ma tran chuyen v = ma tran ang co.
b) Cu phap:
Tao 1 ma tran chuyen v t 1 ma tran ang co.
c) V du:
a =
1 2 3
4 5 6
7 8 9
ma tran chuyen v b
b = a
b =
4 7
5 8
6 9
12. Lenh MAGIC
a) Cong dung:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 65 - GVHD: PHAMQUANG HUY
Tao 1 ma tran vuong co tong cua cac phan t trong 1 hang, 1 cot hoac tren ng cheo bang
nhau.
b) Cu phap:
Ten ma tran = magic(n)
c) Giai thch:
n: kch thc ma tran.
Gia tr cua moi phan t trong ma tran la mot day so nguyen lien tuc t 1 en 2
n
.
Tong cac hang, cot va cac ng cheo eu bang nhau.
d) V du:
tmt = magic(3)
tmt =
8 1 6
3 5 7
4 9 2
13. Nhan ma tran
a) Cong dung:
Ma tran ket qua = ma tran 1* ma tran 2.
b) V du:
Ta co 2 ma tran a va b nh tren va c la ma tran ket qua
c = a*b
c =
14 32 50
32 77 122
50 122 194
14. Lenh ONES
a) Cong dung:
Tao ma tran ma gia tr cua cac phan t la 1.
b) Cu phap:
y = ones(n)
y = ones(m,n)
c) Giai thch:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 66 - GVHD: PHAMQUANG HUY
y = ten ma tran.
n: tao ma tran co n hang
m, n: tao ma tran co m hang, n cot.
d) V du:
y = ones(3)
y =
1 1 1
1 1 1
1 1 1
y = ones(3,5)
y =
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
15. Lenh PASCAL
a) Cong dung:
Tao ma tran theo quy luan tam giac Pascal.
b) Cu phap:
pascal (n)
c) Giai thch:
n: la so hang (cot)
d) V du:
pascal(4)
ans =
1 1 1 1
1 2 3 4
1 3 6 10
1 4 10 20
16. Lenh RAND
a) Cong dung:
Tao ma tran ma ket ma gia tr cua cac phan t la ngau nhien.
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 67 - GVHD: PHAMQUANG HUY
b) Cu phap:
y = rand(n)
y = rand(m,n)
c) Giai thch:
y: ten ma tran.
n: tao ma tran co n hang, n cot.
m, n: tao ma tran co m hang, n cot.
Gia tr cua cac phan t nam trong khoang [0 1]
d) V du:
y = rand(3)
y =
0.9340 0.0920 0.7012
0.8462 0.6539 0.7622
0.5269 0.4160 0.7622
y = rand(3,5)
y =
0.2625 0.3282 0.9910 0.9826 0.6515
0.0475 0.6326 0.3653 0.7227 0.0727
0.7361 0.7564 0.2470 0.7534 0.6316
17. Lenh RESHAPE
a) Cong dung:
nh dang lai kch thc ma tran.
b) Cu phap:
b = reshape(a,m,n)
c) Giai thch:
b: ma tran c nh dang lai.
a: ma tran can c nh dang.
m, n: so hang va so cot cua b.
Ma tran a phai co so phan t la: m*n.
d) V du:
a =
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 68 - GVHD: PHAMQUANG HUY
1 4 7 10
2 5 8 11
3 6 9 12
b = reshape(a,2,6)
b =
1 3 5 7 9 11
2 4 6 8 10 12
18. Lenh ROT90
a) Cong dung:
Xoay ma tran 90
0
.
b) Cu phap:
b = rot90(a)
c) Giai thch:
b: ma tran a c xoay 90
0
a: ma tran can xoay.
d) V du:
a =
1 2 3
4 5 6
7 8 9
b = rot90(a)
b =
3 6 9
2 5 8
1 4 7
19. Lenh TRACE
a) Cong dung:
Tnh tong cac phan t cua ng cheo ma tran.
b) Cu phap:
d = trace(a)
c) Giai thch:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 69 - GVHD: PHAMQUANG HUY
d: bien cha ket qua.
a: ten ma tran.
d) V du:
a =
2 8 3
4 7 1
6 9 2
d = trace(a)
d = 11
20. Lenh TRIL
a) Cong dung:
Lay phan na di ma tran theo hnh.
b) Cu phap:
I = tril(x)
I = tril(x,k)
c) Giai thch:
I: ten ma tran ket qua.
k: tham so.
Neu k = o lay t ng cheo tr xuong.
Neu k = n lay t ng cheo tr len n n v.
Neu k = -n lay t ng cheo tr xuong n n v.
d) V du:
a =
5 9 13
6 10 14
7 11 15
8 12 16
i = tril(a)
i =
1 0 0 0
2 6 0 0
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 70 - GVHD: PHAMQUANG HUY
3 7 11 15
4 8 12 16
i = tril(a,0)
i =
1 0 0 0
2 6 0 0
3 7 11 0
4 8 12 16
i = tril(a,1)
i =
1 5 0 0
2 6 10 0
3 7 11 15
4 8 12 16
i = tril(a,-1)
i =
0 0 0 0
2 0 0 0
3 7 0 0
4 8 12 0
21. Lenh TRIU
a) Cong dung:
Lay phan na tren ma tran theo hnh tam giac.
b) Cu phap:
I = triu(x)
I = triu(x,k)
c) Giai thch:
I: ten ma tran ket qua.
k: tham so
Neu k = 0 lay t ng cheo tr len.
Neu k = n lay t ng cheo tr xuong n n v.
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 71 - GVHD: PHAMQUANG HUY
Neu k = -n lay t ng cheo tr len n n v.
d) V du:
a =
1 5 9 13
2 6 10 14
3 7 11 15
4 8 12 16
I = triu(a)
I =
1 5 9 13
0 6 10 14
0 0 11 15
0 0 0 16
I = triu(a,0)
I =
1 5 9 13
0 6 10 14
0 0 11 15
0 0 0 16
I = triu(a,-1)
I =
1 5 9 13
2 6 10 14
0 7 11 15
0 0 12 16
I = triu(a,1)
I = 0 5 9 13
0 0 10 14
0 0 0 15
0 0 0 0
22. Lenh ZEROS
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 72 - GVHD: PHAMQUANG HUY
a) Cong dung:
Tao ma tran ma gia tr cua cac phan t
b) Cu phap:
y = zeros(n)
y = zeros(m,n)
c) Giai thch:
y: ten ma tran.
n: tao ma tran co n hang va n cot.
m, n: tao ma tran co m hang, n cot.
d) V du:
y = zeros(3)
y =
0 0 0
0 0 0
0 0 0
y = zeros(3,7)
y =
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
IX. CAC PHEP TNH AI SO
1. Lenh CONV
a) Cong dung:
Nhan hai a thc.
b) Cu phap:
c = conv(a,b)
c) Giai thch:
a,b: a thc
c: tch so cua a,b
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 73 - GVHD: PHAMQUANG HUY
Cach khai bao: sap xep bien theo th t giam dan cua luy tha.
d) V du:
Nhan hai a thc (3x
2
+4x+5).(2x
3
-3x
2
+2)
a = [0 3 4 5]
a = 0 3 4 5
b = [2 -3 0 2]
b =2 -3 0 2
c = conv(a,b)
c = 0 6 -1 -2 -9 8 10
2. Lenh CUMPROD
a) Cong dung:
Nhan don cac phan t.
b) Cu phap:
cp = cumprod (a)
c) Giai thch:
cp: bien cha ket qua
a: ten cua ma tran hay vector.
d) V du:
b = 1 9 3 4
cp =cumprod(b)
cp = 1 9 27 108
a =
1 3 5
9 1 2
4 2 1
cp = cumprod(a)
cp =1 3 5
9 3 10
36 6 10
3. Lenh CUMSUM
a) Cong dung:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 74 - GVHD: PHAMQUANG HUY
Cong don cac phan t.
b) Cu phap:
cs = cumprod(a)
c) Giai thch:
cs: bien cha ket qua.
a: la ten cua ma tran hay vector.
d) V du:
b = 1 10 1 2 5
cs = cumsum(b)
cs =1 11 12 14 19
a=
1 3 5
9 1 2
4 2 1
cs = cumsum(a)
cs =
1 3 5
10 4 7
14 6 8
4. Lenh DECONV
a) Cong dung:
Chia hai a thc.
b) Cu phap:
[q,r] =deconv(a,b)
c) Giai thch:
a,b: a thc.
q: thng so cua a, b.
r: so d.
Cach khai bao: sap xep bien theo th t giam dan cua luy tha.
d) V du:
Chia 2 a thc (2x
2
+3x+6)/(2x+3)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 75 - GVHD: PHAMQUANG HUY
a = [2 3 6]
b = [2 3]
[q,r] = deconv (a,b)
q = 1 0
r = 0 0 6
5. Lenh EXPM
a) Cong dung:
Tnh e
x
b) Cu phap:
kq = expm(x)
c) Giai thch:
kq: biencha ket qua.
d) V du:
kq = expm(3)
kq = 20.0855
6. Lenh FMIN
a) Cong dung:
Tm gia tr nho nhat cua ham so.
b) Cu phap:
x = fmin(fuction,x1,x2)
c) Giai thch:
x: bien cha ket qua.
fuction: ten ham so.
x1, x2: khoang khao sat.
d) V du:
Tm gia tr nho nhat cua ham so: x3-2x-5 trong khoang [0 2]
x =fmin(x.^3-2*x-5,0,2);
x = 0.8165
y = f(x)
y = -6.0887
7. Lenh FPLOT
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 76 - GVHD: PHAMQUANG HUY
a) Cong dung:
Ve o th cua ham so.
b) Cu phap:
fplot(fun,[xmin,xmax]
c) Giai thch:
fun: ten ham so.
xmin, xmax: xac nh khoang can ve.
d) V du:
fplot(x.^3-2*x-5,[0,2]);
grid;
8. Lenh FZERO
a) Cong dung:
Tm iem 0 cua ham so.
b) Cu phap:
fzero(fun,x0)
c) Giai thch:
iem 0 cua ham so la iem (0,x), ay cung chnh la nghiem cua ham so. Neu ham so co
nhieu nghiem th se tm c nghiem gan gia tr x0.
fun: ten ham so.
c) V du:
Tm gia tr 0 cua ham so: x
2
-5x+3.
Trc tien ta khai bao ham so f trong tap tin f.m: (xem them lenh function)
function y = f(x);
y = x.^2-5*x+3;
Sau o, tao tap tin gt0.m:
x = 0:10;
% Gia tr x0 = 0
z = fzero(f,0);
sprinf(z = %3f,z)
z = 0.382
% Gia tr x0 = 2
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 77 - GVHD: PHAMQUANG HUY
z = fzero(f,2);
sprintf(z = %.3f,z)
z = 2.618
% Ve o th ham so minh hoa:
z = fzero(f,0);
fplot(f,[0,5];
grid;
hold on;
plot(z,0,o);
hold off
9. Lenh MAX
a) Cong dung:
Tm gia tr ln nhat.
b) Cu phap:
m = max(x)
[m,i] = max(x) v = max(x,y)
c) Giai thch:
x,y,v:ten vector.
m: gia tr ln nhat.
i: v tr cua m.
Neu x la ma tran tm ra gia tr ln nhat cua moi cot.
d) V du:
x = 3 5 2 1 4
m= max(x)
m = 5
[m,i] = max(x)
m =5
i =2
y = 1 6 8 -5 3
v =max(x,y)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 78 - GVHD: PHAMQUANG HUY
v = 3 6 8 1 4
b =
3 6 2
1 7 9
2 8 1
m = max(b)
m = 3 8 9
[m,i] = max(b)
m= 3 8 9
i = 1 3 2
a =
0 3 6
7 1 1
4 6 8
v = max(a,b)
v =
3 6 6
7 7 9
4 8 8
10. Lenh MEAN
a) Cong dung:
Tm gia tr trung bnh.
b) Cu phap:
Mo hnh = mean(a)
c) Giai thch:
m: bien cha ket qua.
a: ten vector hay ma tran can tnh gia tr trung bnh.
Neu a la ma tran th tnh gia tr trung bnh cua moi cot.
d) V du:
b = 1 10 1 2 5
m = mean(b)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 79 - GVHD: PHAMQUANG HUY
m = 3.8000
a =
1 3 5
9 1 2
4 2 1
m = mean(a)
m = 4.6667 2.0000 2.6667
11. Lenh MIN
a) Cong dung:
Tm gia tr nho nhat
b) Cu phap:
m = min(x)
[m,i] = min(x)
v = min(x,y)
c) Giai thch:
x,y,v: ten vector.
m: la gia tr ln nhat.
i: la v tr cua m.
Neu x la ma tran tm ra gia tr nho nhat trong moi cot.
d) V du:
x = 3 5 2 1 4
m = min(x)
m = 1
i =4
y =1 6 8 -5 3
v = min(x,y)
v = 1 5 2 -5 3
b =
3 6 2
1 7 9
2 8 1
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 80 - GVHD: PHAMQUANG HUY
m = min(b)
m = 1 6 1
i = 2 1 3
a =
0 3 6
7 1 1
4 6 8
v = min(a,b)
v =
0 3 2
1 1 1
2 6 1
12. Lenh PROD
a) Cong dung:
Nhan cac phan t.
b) Cu phap:
p = prod(x)
c) Giai thch:
p: bien cha ket qua.
x: ten ma tran hay day so.
Neu la ma tran nhan tng phan t cua moi cot.
d) V du:
a = 2 3 4 5
p = prod(a)
p = 20
b =
2 2 3
5 6 4
7 5 4
p =prot(b)
p =70 60 48
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 81 - GVHD: PHAMQUANG HUY
13. Lenh ROOTS
a) Cong dung:
Tm nghiem cua a thc.
b) Cu phap:
r = roots(p)
c) Giai thch:
r: bien cha ket qua.
p: ten bieu thc.
d) V du:
Tm nghiem cua phng trnh: x
2
-1 =0
p = [1 0 -1]
r = roots(p);
disp(r)
-1.0000
1.0000
14. Lenh SORT
a) Cong dung:
Sap xep mang hay ma tran theo th t tang dan.
b) Cu phap:
kq = sort(x)
[kq,i] = sort(x)
c) Giai thch:
kq: bien cha ket qua.
i: so th t cua phan t trc khi sap xep.
Neu x la ma tran th sap xep theo th t tang dan cua tng cot.
d) V du:
a = 2 8 5 6 -3 9
kq = sort(a)
kq = -3 2 5 6 8 9
[kq,i] = sort(a)
kq = -3 2 5 6 8 9
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 82 - GVHD: PHAMQUANG HUY
i = 5 1 3 4 2 6
b =
3 4 -4
2 -3 5
1 6 2
kq =sort(b)
kq =
1 -3 -4
2 4 2
3 6 5
[kq,i] = sort(b)
kq =
1 -3 -4
2 1 2
3 6 5
i =
3 2 1
2 1 3
1 3 2
15. Lenh SUM
a) Cong dung:
Tnh tong cua cac phan t.
b) Cu phap:
s = sum(x)
c) Giai thch:
s: la bien cha ket qua.
x: la ten ma tran.
Neu x la ma tran th s la tong cua cac cot.
d) V du:
a = 2 8 5 6 -3 9
s = sum(a)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 83 - GVHD: PHAMQUANG HUY
s = 27
b =
3 4 -4
2 -3 5
1 6 2
s = sum(b)
s = 6 7 3
X. 1AP LENH 0 H0A
1. Lenh AXES
a) Cong dung:
at cac truc toa o tai v tr nh trc.
b) Cu phap:
axes(propertyname, propertyvalue )
c) Giai thch:
Tng ng vi mot propertyname i kem vi 1 propertyvalue.
1. position,[left, bottom, width, height]: nh v tr va kch thc cua truc.
left: khoang cach t mep trai ca so en truc ng.
bottom: khoang cach t mep di ca so en truc ngang.
width: chieu dai cua truc ngang.
height: chieu cao truc ng.
Ghi chu:
Luon lay iem [0,0] lam goc toa o.
Truc ngang va truc ng co gia tr trong khoang [0 1] va chia theo ty le thch hp
*/ V du:
axes(position,[.1 .1 .8 .6])
2. xlim, [min,max]: nh gia tr nho nhat va ln nhat tren truc x.
*/ V du:
axes(xlim, [2 5])
3. ylim, [min,max]: nh gia tr nho nhat va ln nhat tren truc y.
*/ V du:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 84 - GVHD: PHAMQUANG HUY
axes(ylim, [2 5])
nh gia tr tren ca hai truc
axes(xlim, [min,max], ylim,[min,max])
2. Lenh AXIS
a) Cong dung:
Chia lai truc toa o.
b) Cu phap:
axis([xmin xmax ymin ymax])
axis([xmin xmax ymin ymax zmin zmax])
axis on
axis off
c) Giai thch:
xmin, ymin, zmin: la gia tr nho nhat cua cac truc x, y, z.
xmax, ymax, zmax: la gia tr ln nhat cua cac truc x, y, z.
on: cho hien th truc toa o.
off: khong cho hien th truc toa o.
3. Lenh BAR
a) Cong dung:
Ve o th dang cot.
b) Cu phap:
bar(x,y)
c) Giai thch:
Ve gia tr x theo gia tr y.
d) V du:
x = -pi:0.2:pi;
bar(x,sin(x));
grid on
title(Do thi ham sin(x) dang thanh)
xlabel(truc x (rad))
ylabel(y = sin(x))
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 85 - GVHD: PHAMQUANG HUY

4. Lenh CLA
a) Cong dung:
Xoa tat ca cac oi tng nh: ng o th, ten o thnhng khong xoa truc toa o.
b) Cu phap:
cla
5. Lenh CLF
a) Cong dung:
Xoa hnh anh (o th) hien tai.
b) Cu phap:
clf
6. Lenh CLOSE
a) Cong dung:
ong hnh anh (o th) hien tai.
b) Cu phap:
close
7. Lenh COLORMAP
a) Cong dung:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 86 - GVHD: PHAMQUANG HUY
Tao mau sac cho o th trong khong gian 3 chieu.
b) Cu phap:
colormap(map)
colormap(default)
c) Giai thch:
Colormap la s tron lan cua 3 mau c ban: red, green, blue. Tuy theo ty le cua 3 mau c ban
ma cho ra cac mau sac khac nhau.
default: mau co c la mau mac nh.
map: bien cha cac thong so sau:
Map mau co c
Bone gray + blue
Cool cyan + magenta
Flag red + white + blue + black
Gray gray
Hot black + red + yellow + white
Pink pink
8. Lenh FIGURE
a) Cong dung:
Tao mi hnh anh (o th).
b) Cu phap:
figure
9. Lenh GCA
a) Cong dung:
Tao cac ac tnh cho truc.
b) Cu phap:
h = gca
c) Giai thch:
h: la bien gan cho lenh cga.
Cac ac tnh cua truc gom co:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 87 - GVHD: PHAMQUANG HUY
Cu phap Giai thch
Set(gca,XScale,log,
Yscale,linear)
nh n v tren truc toa o: truc x co
n v la log va truc y co n v tuyen
tnh.
Set(gca,Xgrid,on,YGrid',
nomal)
Tao li cho o th: truc x co tao li
va truc y khong tao li.
Set(gca,XDir',reverse,
YDir,normal)
oi truc toa o: oi truc x ve pha oi
dien, truc y gi nguyen.
Set(gca,XColor',red,
Ycolor,yellow)
at mau cho li o th: at li truc x
mau o, li truc y mau vang.
Gom co cac mau: yellow, magenta,
cyan, red, green, blue, white, black.
10. Lenh GRID
a) Cong dung:
Tao li toa o.
b) Cu phap:
grid on
grid off
c) Giai thch:
on: hien th li toa o.
off: khong hien th li toa o.
11. Lenh PLOT
a) Cong dung:
Ve o th tuyen tnh trong khong gian 2 chieu.
b) Cu phap:
plot(x,y)
plot(x,y,linetype)
c) Giai thch:
x,y: ve gia tr x theo gia tr y.
linetype: kieu phan t tao nen net ve bao gom 3 thanh phan:
- Thanh phan th nhat la cac ky t ch mau sac:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 88 - GVHD: PHAMQUANG HUY
Ky t Mau
y Vang
m o ti
c L
r o
g Luc
b Lam
w Trang
k en
- Thanh phan th hai la cac ky t ch net ve cua o th:
Ky t Loai net ve
- ng lien net
: ng cham cham
-
.
ng gach cham
-- ng net t oan
- Thanh phan th ba la cac ky t ch loai iem anh dau gom:., o, x, +, *
d) V du:
Ve o th ham y = sin(x) vi o th mau lam, ng lien net va anh dau cac iem c chon
bang dau *, truc x thay oi t 0 ti 2, moi bc thay oi la /8
x = 0:pi/8:2*pi;
y = sin(x);
plot(x,y, b-
*
)
ylabel(y = sin(x))
xlabel(Truc x)
title(Do thi ham y = sin(x))
grid on
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 89 - GVHD: PHAMQUANG HUY

12. Lenh SUBPLOT
a) Cong dung:
Tao cac truc trong mot phan cua ca so o hoa.
b) Cu phap:
subplot(m,n,p)
subplot(mnp)
c) Giai thch:
subplot(m,n,p) hoac subplot(mnp)thanh ca so o hoa thanh mn vung e ve nhieu o th
tren cung mot ca so.
m: so hang c chia.
n: so cot c chia
p: so th t vung chon e ve o th.
Neu khai bao p > mn th se xuat hien mot thong bao loi.
d) V du:
Chia ca so o hoa thanh 23 vung va hien th truc cua ca 6 vung.
subplot(231)
subplot(232)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 90 - GVHD: PHAMQUANG HUY
subplot(233)
subplot(234)
subplot(235)
subplot(236)

13. Lenh SEMILOGX, SEMILOGY
a) Cong dung:
Ve o th theo logarith.
b) Cu phap:
semylogx(x,y)
semylogx(x,y,linetype)
semylogy(x,y)
semylogy(x,y,linetype)
c) Giai thch:
semylogx va semylogy giong nh lenh plot nhng ch khac mot ieu la lenh nay ve o th
theo truc logarith. Do o, ta co the s dung tat ca cac loai linetype cua lenh plot.
d) V du:
Ve o th ham y = x
2
3x + 2 theo truc logarith cua x.
x = 0:100;
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 91 - GVHD: PHAMQUANG HUY
y = x.^2-3*x+2;
semylogx(x,y,b)
grid on

14. Lenh POLAR
a) Cong dung:
Ve o th trong he truc toa o cc.
b) Cu phap:
polar(theta,rno)
c) Giai thch:
Ve gia tr x theo gia tr y.
d) V du:
t = -pi:0.01:pi;
polar(t, sin(t))
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 92 - GVHD: PHAMQUANG HUY

15. Lenh SET
a) Cong dung:
Thiet lap cac ac tnh chat cho oi tng nao o.
b) Cu phap:
set(h, propertyname, propertyvalue,)
c) Giai thch:
h: bien cha oi tng.
PropertyName va PropertyValue c cho trong bang sau:
Cu phap PropertyName PropertyValue Giai thch
Set(h,Marker,+) Marker -, --, :, -
. , o, , +, *
Chon kieu phan t
Set(h,LineWidth,1) LineWidth 1, 2, 3, o day net ve
Set(h,MarkerSize,9) MarkerSize 1, 2, 3, Kch thc cac iem tao
nen h
Set(h,color,cyan) Color yellow,magenta,
red,green,blue,
cyan,white,black
Chon mau cho oi tng h
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 93 - GVHD: PHAMQUANG HUY
d) V du:
a = [1 2 3 4 5 4 3 4 5 6];
h = plot(a)
set(h,color,black)

16. Lenh STAIRS
a) Cong dung:
Ve o th dang bac thang.
b) Cu phap:
stairs(x,y)
c) Giai thch:
Ve gia tr x theo gia tr y.
d) V du:
x = -pi:0.2:pi;
stairs(x,sin(x))
xlabeL(Truc x)
ylabel(y = stairs(x,sin(x))
grid on
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 94 - GVHD: PHAMQUANG HUY

17. Lenh TITLE
a) Cong dung:
at tieu e cho o th.
b) Cu phap:
title(text)
c) Giai thch:
text: ten tieu e.
18. Lenh XLABEL, YLABEL, ZLABEL
a) Cong dung:
at ten cho truc X, Y, Z.
b) Cu phap:
xlabel(nx)
ylabel(ny)
zlabel(nz)
c) Giai thch:
nx, ny, nz: ten truc x, y, z
19. Lenh WHITEBG
a) Cong dung:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 95 - GVHD: PHAMQUANG HUY
Thay oi mau nen cua ca so o hoa.
b) Cu phap:
whitebg
whitebg(color)
c) Giai thch:
whitebg chuyen oi qua lai mau nen ca so o hoa gia trang va en.
whitebg(color) chuyen mau nen ca so o hoa thanh mau cua bien color.
color co the la cac mau: yellow (vang), magenta (o ti), cyan (l), red (o), green (luc),
blue (lam), white (trang), black (en).
BT3c: c viet trong BT3c.m. Bai tap nay tong hp t cac sach The Student Edition of
MATLAB, The MATLAB 5. Handboox, ng dung MATLAB trong ieu khien t ong
%BT3c: VE QUA DIA CAU
[x,y]=meshgrid(-3:0.1:3);
z=peaks(x,y);
meshc(x,y,z)
pause
k=5;
n=2^k-1;
[x,y,z]=sphere(n);
c=hadamard(2^k);
surf(x,y,z,c);
colormap([1 1 0;0 1 1])
pause
t=0:pi/10:2*pi;
[x,y,z]=cylinder(2+cos(t));
surf(x,y,z)
pause
[x,y,z]=cylinder(1:10);
surfnorm(x,y,z)
pause
[x,y,z]=meshgrid(-2:.2:2,-2:.2:2,-2:.2:2);
v=x.*exp(-x.^2-y.^2-z.^2);
slice(v,[5 15 21],21,[1 10],21)
pause
[X,Y]=meshgrid(-3:.5:3);
Z=peaks(X,Y);
[XI,YI]=meshgrid(-3:.25:3);
ZI=interp2(X,Y,Z,XI,YI);
mesh(X,Y,Z), hold, mesh(XI,YI,ZI+15)
hold off
axis([-3 3 -3 3 -5 20])
pause
syms x y
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 96 - GVHD: PHAMQUANG HUY
ezsurf(real(atan(x+i*y)))
[x,y]=meshdom(-12:.6:12,-12:.6:12);
r=sqrt(x.^2+y.^2);
z=bessel(0,r);
m=[-45 60];
mesh(z,m)
Khi chay chng trnh ta la lt co ket qua:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 97 - GVHD: PHAMQUANG HUY
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 98 - GVHD: PHAMQUANG HUY
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 99 - GVHD: PHAMQUANG HUY
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 100 - GVHD: PHAMQUANG HUY
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 101 - GVHD: PHAMQUANG HUY
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 102 - GVHD: PHAMQUANG HUY
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 103 - GVHD: PHAMQUANG HUY
Cung la ham bessel nhng ta khao sat rieng 1 bai:
%hm bessel
[x,y]=meshdom(-12:.6:12,-12:.6:12);
r=sqrt(x.^2+y.^2);
z=bessel(0,r);
m=[-45 60];
mesh(z,m)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 104 - GVHD: PHAMQUANG HUY
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 105 - GVHD: PHAMQUANG HUY
NHOM LENH VE AC IEM MO HNH
(Model Properties)
1. Lenh COVAR, DCOVAR
a) Cong dung: (Purpose)
Tm ap ng hiep phng sai oi vi nhieu trang (white noise).
b) Cu phap: (Syntax)
[P,Q]= covar(a,b,c,d,w)
P = covar(num,den,w)
[P, Q]= dcovar(a,b,c,d,w)
P = dcovar(num,den,w)
c) Giai thch: (Description)
Covar tnh cac ngo ra co nh va ap ng hiep phng sai trang thai cua mot he thong oi vi
cac ngo vaonhieu trang Gaussian vi cng o w:
E[w(t)w()]= w(t -)
[P,Q]= covar(a,b,c,d,w) tm ap ng hiep phng sai cua he khong gian trang thai lien tuc.
Bu Ax x + =
.
y = Cx + Du
oi vi nhieu trang vi cng o w t tat ca ca c ngo vao ti tat ca trang thai va ngo ra:
P = E[yy]
Q = E[xx]
He thong phai on nh va ma tran D phai la zero.
P = covar(num,den,w) tm ap ng hiep phng sai ngo ra he SIMO cua ham truyen a thc
G(s)= num(s)/den(s)
trong o num va den cha cac he so a thc theo chieu giam dan so mu cua s, wla cng o
nhieu ngo vao.
e tm ap ng hiep phng sai cua he gian oan ta dung lenh dcovar thay cho covar.
d) V du 1: (Exemple)
Tm ap ng hiep phng sai do nhieu trang Gaussian cua he SISO vi cng o w=2 co
ham truyen:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 106 - GVHD: PHAMQUANG HUY
3 2
1 5
) (
2
+ +
+
=
s s
s
s H
num = [5 1];
den = [1 2 3];
P = covar(num,den,2)
Ta c: P = 12.6667
2. Lenh CTRB, OBSV
a) Cong dung:
Tao ma tran co the ieu khien va co the quan sat.
b) Cu phap:
co = ctrb(a,b)
ob = obsv(a,c)
c) Giai thch:
co = ctrb(a,b) tao ma tran co the ieu khien C
0
= [B ABA
2
B A
n-1
B] cho he khong gian
trang thai ob = obsv(a,c) tao ma tran co the quan sat O
b
cho he khong gian trang thai.
O
b
=

1
2
n
CA
CA
CA
C
M
He thong co the ieu khien c neu hang cua ma tran Co la n va co the quan sat c neu
hang cua ma tran Ob la n.
d) V du:
Dung lenh ctrb va obsv e kiem tra he thong (a,b,c,d) co the ieu khien c hay co the
quan sat c hay khong:
% Nhap ham truyen va xac nh khong gian trang thai:
num = [2 3];
den = [1 4 7];
[a,b,c,d]= tf2ss(num,den)
% Xac nh ma tran co the ieu khien va ma tran co the quan sat:
co = ctrb(a,b)
ob = obsv(a,c)
% so trang thai khong the ieu khien c:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 107 - GVHD: PHAMQUANG HUY
unco = length(a) rank(co)
% so trang thai khong the quan sat c:
unob = length(a) rank(ob)
Cuoi cung ta c ket qua:
a =
-4 -7
1 0
b =
1
0
c =
2 3
d = 0
co =
1 -4
0 1
unco = 0
ob =
2 3
-5 -14
unob = 0
3. Lenh DAMP, DDAMP
a) Cong dung:
Tm tan so t nhien (Natural Frequencies) va he so tat dan (Damping Factors).
b) Cu phap:
[wn,Z]= damp(a)
mag= ddamp(a)
[mag,Wn,Z]= ddamp(a,Ts)
c) Giai thch:
Damp va ddamp tnh tan so t nhien va he so tat dan. Neu bo cac oi so ben trai trong cac
lenh nay th ta nhan c mot bang cac gia tr rieng, t le tat dan va tan so t nhien tren man
hnh.
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 108 - GVHD: PHAMQUANG HUY
[wn,Z]= damp(a) tao ra vector cot Wn va Z cha cac tan so t nhien wn, he so tat dan cua
cac gia tr rieng lien tuc (Continous eigenvalues) c tnh t a. Bien a co the la mot trong cac
dang sau:
+ Neu a la ma tran vuong th a c xem nh la ma tran khong gian trang thai A.
+ Neu a la vector hang th no c xem nh la vector cha cac he so a thc cua ham
truyen.
+ Neu a la vector cot th a cha cac nghiem.
Mag = damp(a) tao ra vector cot mag cha bien o cac gia tr rieng gian oan c tnh t a.
a co the la mot trong cac dang c noi en tren.
[mag,Wn,Z]= ddamp(a,Ts) tao ra cac vector mag, Wn va Z cha cac bien o, tan so t nhien
trong mat phang s tng ng va he so tat dan cua cac gia tr rieng cua a. Ts la thi gian lay mau.
He so tat dan va tan so t nhien trong mat phang s tng ng cua cac gia tr rieng gian oan la:

n
=
Ts
log
= -cos( log )
d) V du: (Trch t trang 11-52 sach Control System Toolbox)
Tnh va hien th cac gia tr rieng, tan so t nhien va he so tat dan cua ham truyen lien tuc sau:
3 2
1 5 2
) (
2
2
+ +
+ +
=
s s
s s
s H
num = [2 5 1];
den = [1 2 3];
damp(den)
Eigenvalue Damping Freq.(rad/sec)
-1.0000 + 1.4142i 0.5774 1.7321
-1.0000 + 1.4142i 0.5774 1.7321
Tnh va hien th cac gia tr rieng, bien o, tan so va he so tat dan trong mat phang s tng
ng cua ham truyen gian oan vi thi gian lay mau Ts = 0.1:
8 . 0 6 . 1
5 . 1 4 . 3 2
) (
2
2
+
+
=
s z
z z
z H
num = [2 -3.4 1.5]
den = [1 -1.6 0.8]
ddamp(den,0.1)
Eigenvalue Magnitude Equiv.Damping Equiv.Freq (rad/sec)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 109 - GVHD: PHAMQUANG HUY
0.8000 + 0.4000i 0.8944 0.2340 4.7688
0.8000 0.4000i 0.8944 0.2340 4.7688
4. Lenh DCGAIN, DDCGAIN
a) Cong dung:
Tm o li trang thai xac lap cua he thong.
b) Cu phap:
k = dcgain(a,b,c,d)
k = dcgain(num,den)
k = ddcgain(a,b,c,d)
k = ddcgain(num,den)
c) Giai thch:
dcgain dung e tnh o li trang thai xac lap (DC hay tan so thap) cua he thong.
k = dcgain(a,b,c,d) tnh o li trang thai xac lap cua he khong gian trang thai lien tuc:
Bu Ax x + =
.
y = Cx + Du
t tat ca cac ngo vao ti tat ca cac ngo ra:
K = -CA
-1
+ D
k = dcgain(num,den) tnh o li trang thai xac lap cua ham truyen a thc:
G(s) =
) (
) (
s den
s num
trong o num va den cha cac he so a thc theo th t giam dan so mu cua s:
K =
0
) (
) (
= s
s den
s num
e tnh o li DC cua he gian oan ta dung lenh ddcgain thay cho lenh dcgain. oi vi he
khong gian trang thai xac lap, ma tran o li DC la:
K = C(I A)
-1
+ D
Va oi vi ham truyen gian oan, t o LI DC la:
K =
1
) (
) (
= z
z den
z num
d) V du 1:
Tnh o li DC cua he thong co ham truyen:
3 2
1 5 2
) (
2
2
+ +
+ +
=
s s
s s
s H
num = [ 2 5 1];
den = [1 2 3];
k = dcgain(num,den)
k = 0.3333
V du 2: Tnh o li DC cua he khong gian trang thai MIMO:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 110 - GVHD: PHAMQUANG HUY

v
u
x
x
x
x
2231 . 0 0
5397 . 0 1
0 7814 . 0
7814 . 0 5572 . 0
2
1
2
.
1
.

v
u
x
x
z
y
0 0
0 0
0 1
4493 . 6 9691 . 1
2
1
a = [-0.5572 -0.7814 ; 0.7814 0];
b = [1 0.5379 ; 0 -0.2231];
c = [1.9691 6.4493 ; 1 0];
d = [0 0 ; 0 0];
k = dcgain(a,b,c,d)
k =
8.2466 3.6861
0 0.2855
5. Lenh GRAM, DGRAM
a) Cong dung:
anh gia kha nang ieu khien va kha nang quan sat.
b) Cu phap:
Gc = gram(a,b)
Go = gram(a,c)
Gc = dgram(a,b)
Go = dgram(a,c)
c) Giai thch:
gram tnh toan kha nang ieu khien va kha nang quan sat. S anh gia nay co the c dung
e nghien cu ac tnh ieu khien va ac tnh quan sat cua cac he khong gian trang thai va giam
bac mo hnh.
gram(a,b) tao ra s anh gia kha nang ieu khien G
c
:
G
c
=

d BB
e e
A A '
0
'

o la mot ma tran oi xng; hn na, neu ma tran co hang u (bang kch thc cua ma tran
anh gia) th he thong co the ieu khien c.
Go = gram(a,c) tao ra s anh gia kha nang quan sat G
o
:
G
o
=

d CC
e e
A A '
0
'

Neu ma tran anh gia co hang u th he thong co the quan sat c.


dgram dung cho cac he thong gian oan.
d) V du:
Xac nh kha nang ieu khien cua he kong gian trang thai v du ve lenh dcgrain
a = [-0.5572 -0.7814 ; 0.7814 0];
b = [1 0.5379 ; 0 -0.2231];
c = [1.9691 6.4439 ; 1 0];
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 111 - GVHD: PHAMQUANG HUY
d = [0 0 ; 0 0];
Gc = gram(a,b)
Ta nhan c ma tran:
Gc =
1.2016 -0.0318
-0.0318 1.0708
Tm hang ma tran bang lenh:
r = rank(Gc)
ta c r = 2 va bang kch thc cua ma tran anh gia. Vay he thong nay co the ieu khien
c.
6. Lenh DSORT, ESORT
a) Cong dung:
Sap xep cac gia tr rieng theo th t phan thc hoac bien o so phc.
b) Cu phap:
s = dsort(p)
[s,ndx] = dsort(p)
s = esort(p)
[s,ndx] = esort(p)
c) Giai thch:
s = esort(p) xep cac gia tr rieng phc trong vector p theo th t giam dan cua phan thc. oi
vi cac gia tr rieng lien tuc, cac gia tr rieng khong on nh xuat hien trc.
s = dsort(p) xep cac g tr rieng phc trong vector p theo th t giam dan cua bien o. oi vi
cac gia tr rieng gian oan, ca gia tr rieng khong on nh xuat hien trc.
[s,ndx] = dsort(p) hay [s,ndx] = esort(p) cung tao ra vector ndx cha cac ch so dung theo th
t.
d) V du:
Xep cac phan t cua vector p = [2+3j -3+j 1-9j 3-7j 5+2j 6-j] theo th t giam dan cua
phan thc va o ln so phc.
p = [2+3j -3+j 1-9j 3-7j 5+2j 6-j]
% Xep theo th t giam dan cua o ln so phc:
s = dsort(h)
s =
1.0000 + 9.0000j
3.0000 + 7.0000j
6.0000 + 1.0000j
5.0000 2.0000j
2.0000 + 3.0000j
-3.0000 + 1.0000j
% Xep theo th t giam dan cua phan thc:
s = esort(h)
6.0000 + 1.0000j
5.0000 2.0000j
3.0000 + 7.0000j
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 112 - GVHD: PHAMQUANG HUY
2.0000 3.0000j
1.0000 + 9.0000j
-3.0000 1.0000j
7. Lenh EIG
a) Cong dung:
Tm cac gia tr rieng va cac vector rieng cua he thong.
b) Cu phap:
E = eig(X)
[V,D] = eig(X)
[V,D] = eig(X)
[V,D] = eig(X,nobalance)
E = eig(A,B)
[V,D] = eig(A,B)
c) Giai thch:
E = eig(X) la mot vector cha cac gia tr rieng cua ma tran vuong X.
[V,D] = eig(X) tao ra mot ma tran ng cheo D cua cac gia tr rieng va ma tran u vi cac
cot la cac vector rieng tng ng e cho X*V = V*D.
[V,D] = eig(X,nobalance) giong nh [V,D] = eig(X) nhng bo qua s can bang. Cach nay
oi khi cho ket qua chnh xac hn.
E = eig(A,B) la vector cha cac gia tr rieng pho bien cua cac ma tran vuong A va B.
[V,D] = eig(A,B) tao ra ma tran ng cheo D cua cac gia tr rieng pho bien va cac ma tran
u V vi cac cot la cac vector rieng tng ng e cho A*V = B*V*D.
d) V du:
Cho X = [2+3j -3+j 1-9j ; 3-7j 5+2j 6-j ; 0+7j 6-8j 2+5j]. tm cac gia tr rieng cua
X.
X = [2+3j -3+j 1-9j ; 3-7j 5+2j 6-j ; 0+7j 6-8j 2+5j];
[V,D] = eig(X)
V =
0.4158 + 0.3442j 0.5455 + 0.4929j 0.4344 0.2255j
-0.3275 + 0.3580j 0.1837 0.2659j 0.5974 + 0.1368j
0.1209 0.6772j -0.5243 + 0.2831j 0.4954 + 0.3734j
D =
-9.3743 + 4.7955j 0 0
0 9.2099 + 0.2831j 0
0 0 9.1644 2.2542j
8. Lenh PRINTSYS
a) Cong dung:
In ra cac tham so cua he thong tuyen tnh
b) Cu phap:
printsys(a,b,c,d)
printsys(a,b,c,d,ulabels,ylabels,xlabels)
printsys(num,den,s)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 113 - GVHD: PHAMQUANG HUY
printsys(num,den,z)
c) Giai thch:
printsys in cac tham so cua he khong gian trang thai va ham truyen theo dang ac biet. oi
vi he khong gian trang thai, cac ngo vao, ngo ra va trang thaicua he c at ten va ham truyen
c hien th di dang ty so cua hai a thc.
printsys(a,b,c,d) in ra he khong gian trang thai (a,b,c,d) vi ten tham so pha tren va pha
ben trai cua ma tran he thong.
printsys(a,b,c,d,ulabels,ylabels,xlabels) in ra he khong gian trang thai vi ten tham so c
ch nh bi cac vector ulabels, ylabels va xlabels. ulabels, ylabels va xlabels cha ten ngo vao,
ngo ra va trang thai cua he thong.
printsys(num,den,s) hoac printsys(num,den,z) in ra ham truyen di dang ty so cua hai a
thc theo s hoac z. Neu bien cua ham truyen (s hoac z) khong c ch nh th phep bien oi
Laplace (s) c tha nhan.
d) V du:
Cho he khong gian trang thai sau:
u
x
x
x
x

0
1
1 2
1 1
2
1
2
.
1
.
| | | | u
x
x
y 1 4 2
2
1
+

=
In ra he khong gian trang thai vi ten goi cac tham so mac nhien va vi ten c ch nh
nh sau: ngo vao u la sensor, trang thai x la alpha va beta, ngo ra la angle.
% Khai bao he thong:
a = [1 1 ; 2 -1];
b = [1 ; 0];
c = [2 4];
d = 1;
% In theo ten mac nhien:
printsys(a,b,c,d)
a =
x1 x2
x1 1.00000 1.00000
x2 2.00000 -1.00000
b =
u1
x1 1.00000
x2 0
c =
x1 x2
y1 2.00000 4.00000
d =
u1
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 114 - GVHD: PHAMQUANG HUY
y1 1.00000
% Ch nh ten tham so:
inputs = sensor;
outputs = angle;
states = alpha beta;
states = alpha beta;
% In theo ten a ch nh:
printsys(a,b,c,d,inputs,outputs,states)
a =
alpha beta
alpha 1.00000 1.00000
beta 2.00000 -1.00000
b =
sensor
alpha 1.00000
beta 0
c =
alpha beta
angle 2.00000 4.00000
d =
sensor
angle 1.00000
9. Lenh TZERO
a) Cong dung:
Tm zero truyen at cua he khong gian trang thai.
b) Cu phap:
z = tzero(sys)
[z,gain] = tzero(sys)
z = tzero(a,b,c,d)
c) Giai thch:
z = tzero(sys) tm cac zero truyen at cua he thong LTI trong sys.
[z,gain] = tzero(sys) tm o li ham truyen neu he thong la he SISO.
z = tzero(a,b,c,d) tm zero truyen at cua he khong gian trang thai:
.
x = Ax + Bu hoac x[n + 1} = Ax[n] + Bu[n]
y = Cx + Du y[n] = Cx[n] + Du[n]
d) V du:
Tm zero truyen at cua he khong gian trang thai sau:
u
x
x
x
x

0
1
1 2
1 1
2
1
2
.
1
.
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 115 - GVHD: PHAMQUANG HUY
| | | | u
x
x
y 1 4 2
2
1
+

=
a = [1 1 ; 2 -1];
b = [1 ; 0];
c = [2 4];
d = 1;
z = tzero(a,b,c,d)
z =
-1.0000 + 2.4495j
-1.0000 2.4495j
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 116 - GVHD: PHAMQUANG HUY
NHOM LENH VE CHUYEN OI MO HNH
(Model Conversion)
1. Lenh C2D, C2DT
a) Cong dung:
Chuyen oi mo hnh t lien tuc sang gian oan.
b) Cu phap:
[ad,bd] = c2d(a,b,Ts)
c) Giai thch:
c2d va c2dt chuyen mo hnh khong gian trang thai t lien tuc sang gian oan tha nhan khau
gi bac 0 ngo vao. c2dt cung co khoang thi gian tre ngo vao.
[ad, bd] = c2d(a,b,Ts) chuyen he khong trang thai lien tuc x = Ax + Bu thanh he gian oan:
x[n+1] = A
d
x[n] + B
d
u[n] tha nhan ngo vao ieu khien la bat bien tng oan ben ngoai thi gian
lay mau Ts.
[ad,bd,cd,dd] = c2dt(a,b,c,Ts,lambda) chuyen he khong gian trang thai lien tuc vi thi gian
tre thuan tuy ngo vao:
.
x (t) = Ax(t) + Bu(t - )
y(t) = Cx(t)
thanh he gian oan:
x[n+1] = A
d
x[n] + B
d
u[n]
y[n] = C
d
x[n] + D
d
u[n]
Ts la thi gian lay mau va lambda la thi gian tre ngo vao. phai nam trong khoang
Ts < < .
d) V du: (Trch t trang 11-24 sach Control System Toolbox)
Cho he thong: H(s) = (s 1)/(s
2
+ 4s +5)
Vi T
d
=0,35, thi gian lay mau Ts=0,1
num=[1 -1];
den=[1 4 5];
H=tf(num,den,'inputdelay',0.35)
Ket qua:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 117 - GVHD: PHAMQUANG HUY
Transfer function:
s - 1
exp(-0.35*s) * -------------
s^2 + 4 s + 5
Hd=c2d(H,0.1,'foh')
Transfer function:
0.0115 z^3 + 0.0456 z^2 - 0.0562 z - 0.009104
z^(-3) * ---------------------------------------------
z^3 - 1.629 z^2 + 0.6703 z
Sampling time: 0.1
2. Lenh C2DM
a) Cong dung:
Chuyen oi he lien tuc sang gian oan.
b) Cu phap:
[ad,bd,cd,dd] = c2dm(a,b,c,d,Ts,method)
[numd,dend] = c2dm(num,den,Ts,method).
c) Giai thch:
[ad,bd,cd,dd] = c2dm(a,b,c,d,Ts,method) chuyen oi t he khong gian trang thai lien tuc
(a,b,c,d) sang gian oan s dung phng phap khai bao trong method. method co the la:
+ zoh: chuyen sang he gian oan tha nhan mot khau gi bac 0 ngo vao, cac ngo vao
ieu khien c xem nh bat bien tng oan trong khoang thi gian lay mau Ts.
+ foh: chuyen sang he gian oan tha nhan mot khau gi bac 1 ngo vao.
+ tustin: chuyen sang he gian oan s dung phap gan ung song tuyen tnh (Tusin) oi
vi ao ham.
+ prewarp: chuyen sang he gian oan s dung phap gan ung song tuyen tnh (Tusin)
vi tan so lech trc. Neu them vao tham so Wc th lenh se ch ra tan so ti han.
V du nh c2dm(a,b,c,d,Ts,prewarp,Wc).
+ matched: chuyen he SISO sang gian oan s dung phng phap cc zero ham truyen
phu hp.
[numd, dend] = c2dm(num,den,Ts,method) chuyen t ham truyen a thc lien tuc G(s) =
num(s)/den(s) sang gian oan G(z) = num(z)/den(z) s dung phng phap c khai bao trong
method.
Neu bo qua cac oi so ben trai th:
c2dm(a,b,c,d,Ts,method)
c2dm(num,den,Ts,method)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 118 - GVHD: PHAMQUANG HUY
se ve ra 2 o th cua 2 ap ng vi ng lien net la ap ng lien tuc con ng t oan la
ap ng gian oan.
d) V du:
Chuyen he khong gian trang thai lien tuc:
thanh he gian oan dung phng phap Tustin, ve 2 o th ap ng so sanh.
a = [1 1; 2 -1];
b = [1; 0];
c = [2 4];
d = 1;
Ts = 1;
[ad,bd,cd,dd] = c2dm(a,b,c,d,Ts,tustin)
c2dm(a,b,c,d,Ts, tustin) %ve o th so sanh
title (Do thi so sanh 2 dap ung lien tuc va gian doan)
grid on
ta c o th va cac gia tr nh sau:
ad =
11 4
8 3
bd =
6
4
cd =
28 12
dd =
15
| | | |u 1 4 2 y
u
0
1
1 2
1 1
2
1
2
1
2
1
+

x
x
x
x
x
x
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 119 - GVHD: PHAMQUANG HUY

3. Lenh D2C
a) Cong dung:
Chuyen oi mo hnh t gian oan sang lien tuc.
b) Cu phap:
[ad,bd] = c2d(a,b,Ts).
c) Giai thch:
d2c chuyen mo hnh khong gian trang thai t gian oan sang lien tuc tha nhan khau gi bac
0 ngo vao. C2DT cung co mot khoang thi gian tre ngo vao.
[ad,bd] = c2d (a,b,Ts) chuyen he khong gian trang thai gian oan:
x[n+1] = Ax[n] + Bu[n]
thanh he lien tuc
u B x A x
c c
+ =
.
xem cac ngo vao ieu khien la bat bien tng oan trong khoang thi gian lay mau Ts.
4. Lenh D2CM
a) Cong dung:
Chuyen oi mo hnh khong gian trang thai t gian oan sang lien tuc.
b) Cu phap:
[ac,bc,cc,dc] = d2cm(a,b,c,d,Ts,method)
[numc,denc] = d2cm(num,den,Ts,method).
c) Giai thch:
A c c
ap ng gian oan
ap ng lien tuc
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 120 - GVHD: PHAMQUANG HUY
[ac,bc,cc,dc] = d2cm(a,b,c,d,Ts,method) chuyen oi he khong gian trang thai t gian oan
sang lien tuc s dung phng phap c khai bao trong method. method co the la:
+ zoh: chuyen sang he lien tuc tha nhan mot khau gi bac 0 ngo vao, cac ngo vao ieu
khien c xem nh bat bien tng oan trong khoang thi gian lay mau Ts.
+ tustin: chuyen sang he lien tuc s dung phng phap gan ung song tuyen tnh (Tusin)
oi vi ao ham.
+ prewarp: chuyen sang he lien tuc s dung phap gan u ng song tuyen tnh (Tusin) vi tan
so lech trc. Neu them vao tham so Wc th lenh se ch ra tan so ti han.
V du nh d2cm (a,b,c,d,Ts,prewarp,Wc).
+ matched: chuyen he SISO sang lien tuc s dung phng phap cc zero ham truyen phu
hp.
[numc,denc] = d2cm(num,den,Ts,method) chuyen t ham truyen a thc gian oan G(z)
= num(z)/den(z) sang lien tuc G(s) = num(s)/den(s) s dung phng phap c khai bao trong
method.
Neu bo qua cac oi so ben trai th:
d2cm(a,b,c,d,Ts,method)
d2cm(num,den,Ts,method)
se ve ra 2 o th cua 2 ap ng vi ng lien net la ap ng gian oan con ng t oan
la ap ng lien tuc.
d) V du:
Chuyen he khong gian trang thai gian oan:
x[n+1] = Ax[n] + Bu[n]
y[n] = Cx[n] + Du[n]
vi:
A = [11 4; 8 3];
B = [6; 4];
C = [28 12];
D = 15;
Ts = 1;
[ac,bc,cc,dc] = d2cm(a,b,c,d,Ts,tustin)
d2cm(a,b,c,d,Ts, tustin) % ve o th so sanh
title (Do thi so sanh 2 dap ung lien tuc va gian doan)
ta c o th va cac tham so nh sau:
ac =
1 1
2 1
bc =
1
0
cc =
;
3 8
4 11
A

= ;
4
6
B

=
| | ; 12 28 C = 15; D =
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 121 - GVHD: PHAMQUANG HUY
2 4
dc = 1

5. Lenh SS2TF
a) Cong dung:
Chuyen he thong t dang khong gian trang thai thanh dang ham truyen.
b) Cu phap:
[num,den] = ss2tf(a,b,c,d,iu).
c) Giai thch:
[num,den] = ss2tf(a,b,c,d,iu) chuyen he thong khong gian trang thai:

+ =
+ =
Du Cx y
Bu Ax x
.
thanh dang ham truyen:
H(s) =
) (
) (
s den
s NUM
= C(sI A)
-1
B + D
t ngo vao th iu. Vector den cha cac he so cua mau so theo chieu giam dan so mu cua s.
Ma tran NUM cha cac he so t so vi so ha ng la so ngo ra.
d) V du:
Ham truyen cua he thong c xac nh bang lenh:
[num,den] = ss2tf (a,b,c,d,1)
ta c:
ap ng gian oan
ap ng lien tuc
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 122 - GVHD: PHAMQUANG HUY
num =
0 0 1.0000
den =
1.0000 0.4000 1.0000
6. Lenh TF2SS
a) Cong dung:
Chuyen he thong t dang khong gian ham truyen thanh dang trang thai.
b) Cu phap:
[a,b,c,d] = tf2ss(num,den)
c) Giai thch:
[a,b,c,d] = tf2ss(num,den) tm he phng trnh trang thai cua he SISO:
.
x = Ax + Bu
y = Cx + Du
c cho bi ham truyen:
t ngo vao duy nhat. Vector den cha cac he so mau so ham truyen theo chieu giam dan so
mu sua s. Ma tran NUM cha cac he so cua t so vi so hang la so ngo ra y. Cac ma tran a, b,
c, c tr thanh dang chnh tat.
* V du 1:
Xet he thong co ham truyen:
e chuyen he thong thanh dang khong gian trang thai ta thc hien cac lenh:
Num = [0 2 3
1 2 3];
den = [1 0.4 1];
[a,b,c,d] = tf2ss (num,den);
ta c ket qua:
a =
-0.4000 -1.0000
1.0000 0
b =
1
0
c =
2.0000 3.0000
1.0000 2.0000
d =
0
D B A) - C(sI
den(s)
NUM(s)
H(s)
1 -
+ = =
1 s 4 . 0 s
1 2s s
3 2s
H(s)
2
2
+ +

+ +
+
=
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 123 - GVHD: PHAMQUANG HUY
1
V du 2: Trch t sach ng dung MATLAB trong ieu khien t ong tac gia Nguyen Van
Giap.
Cho ham truyen: (s
2
+7s +2) / (s
3
+9s
2
+26s+24)
num=[1 7 2];
den=[1 9 26 24];
[A,B,C,D]=tf2ss(num,den)
Ket qua:
A =
-9 -26 -24
1 0 0
0 1 0
B =
1
0
0
C =
1 7 2
D =
0
7. Lenh SS2ZP
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 124 - GVHD: PHAMQUANG HUY
a) Cong dung:
Chuyen he thong khong gian sang trang thai o li cc-zero (zero pole-gain)
b) Cu phap:
[z,p,k] = ss2zp(a,b,c,d,iu)
c) Giai thch:
ss2zp tm cac zero, cc va o li khong gian trang thai.
[z,p,k] = ss2zp(a,b,c,d,iu) tm ham truyen di dang tha so.
)) ( ( ..... )) 2 ( ( ) 1 ( (
)) ( ( ..... )) 2 ( ( ) 1 ( (
) (
) (
) (
n p s p s p s
m Z s Z s Z s
k
s p
s Z
s H


= =
cua he thong:
Bu Ax x + =
.
y = Cx + Du
t ngo vao th iu. Vector cot p cha cac cc mau so ham truyen. Cac zero cua t so nam
trong cac cot cua ma tran z vi so cot la so ngo ra y. o li cua t so ham truyen nam trong cac
cot vector k.
d) V du:
Xet he thong co ham truyen:
1 4 . 0
3 2
) (
2
+ +
+
=
s s
s
s H
num = [2 3];
den = [1 0.4 1];
Co 2 cach e tm cac zero, cc va o li cua he thong nay:
+ Cach 1:
[z,p,k] = tf2zp(num, den)
+ Cach 2:
[a,b,c,d] = tf2ss(num, den);
[z,p,k] = ss2zp(a,b,c,d,1)
va ta c cung mot ket qua nh sau:
z = -1.5000
p = -0.2000 + 0.9798i
-0.2000 0.9798I
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 125 - GVHD: PHAMQUANG HUY
k = 2.0000
8. Lenh ZP2SS:
a) Cong dung:
Chuyen t o cc li zero sang he khong gian trang thai.
b) Cu phap:
[a,b,c,d] = zp2ss(z,p,k)
c) Giai thch:
zp2ss hnh thanh mo hnh khong gian trang thai t cac zero, cc va o li cua he thong di
dang ham truyen.
[a,b,c,d] = zp2ss(z,k,p) tm he khong gian tranng thai:
Bu Ax x + =
.
y = Cx + Du
cua he SIMO c cho bi ham truyen:
)) ( ( ..... )) 2 ( ( ) 1 ( (
)) ( ( ..... )) 2 ( ( ) 1 ( (
) (
) (
) (
n p s p s p s
m Z s Z s Z s
k
s p
s Z
s H


= =
Vector cot p cha cac cc va ma tran z cha cac zero vi so cot la so ngo ra. Vector k cha
cac he so o li.Cac ma tran a,b,c,d tr ve dang chnh tac.
9. Lenh TF2ZP
a) Cong dung:
Chuyen he thong t dang ham truyen sang dang o li cc-zero.
b) Cu phap:
[z,p,k] = tf2zp (NUM,den)
c) Giai thch:
tf2ss tm cac zero, cc va o li cua he thong c bieu dien di dang ham truyen.
[z,p,k]= tf2zp (NUM,den) tm ham truyen cua he SIMO dang:
)) ( ( ..... )) 2 ( ( ) 1 ( (
)) ( ( ..... )) 2 ( ( ) 1 ( (
) (
) (
) (
n p s p s p s
m Z s Z s Z s
k
s p
s Z
s H


= =
c cho bi ham truyen:
) ( ) 1 ( ..... ) 1 (
) ( ) 1 ( ..... ) 1 (
) (
) (
1
1
nd den s nd den s den
nn NUM s nn NUM s NUM
s den
s NUM
nd
nn
+ + +
+ + +
=

Khao sat ng dung MATLAB trong ieu khien t ong


Thc hien: PHAM QUOC TR NG - 126 - GVHD: PHAMQUANG HUY
Vector den cha cac he so cua mau so theo chieu giam dan so mu cua s. Ma tran NUM cha
cac he so t so vi so hang la so ngo ra. Ma tran z cha cac zero, vector cot p cha cac cc va
vector k cha cac he so o li cua ham truyen.
b) V du:
Tm cac zero va cc cua he thong co ham truyen:
1 4 . 0
3 2
) (
2
+ +
+
=
s s
s
s H
num = [2 3];
den = [1 0.4 1];
[z,p,k] = tft2zp (num,den)
ta c:
z = -1.5000
p = -0.2000 + 0.9798i
-0.2000 0.9798i
k = 2
10. Lenh ZP2TF
a) Cong dung:
Chuyen oi he thong t dang o li cc zero sang dang ham truyen
b) Cu phap:
[num,den] = zp2tf (z,p,k)
c) Giai thch:
zp2tf tao ra ham truyen a thc t cac zero, cc va o li cua he thong.
[num,den] = zp2tf (z,p,k) tm ham truyen hu t:
) ( ) 1 ( ..... ) 1 (
) ( ) 1 ( ..... ) 1 (
) (
) (
1
1
nd den s nd den s den
nn NUM s nn NUM s NUM
s den
s NUM
nd
nn
+ + +
+ + +
=

c cho bi ham truyen dang:


)) ( ( ..... )) 2 ( ( ) 1 ( (
)) ( ( ..... )) 2 ( ( ) 1 ( (
) (
) (
) (
n p s p s p s
m Z s Z s Z s
k
s p
s Z
s H


= =
Vector cot p cha cac cc, ma tran z cha cac zero vi so cot la so ngo ra, o li cua t so
ham truyen nam trong vector k. Cac he mau so a thc nam trong vector hang den, cac he so t
so nam trong ma tran num so hang bang vi so cot cua z.
11. Lenh POLY
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 127 - GVHD: PHAMQUANG HUY
a) Cong dung:
Tao ra a thc t cac nghiem c ch nh.
b) Cu phap:
p = poly(A)
p = poly(r)
c) Giai thch:
p = poly(A), trong o A la ma tran nxn vi cac phan t la cac he so cua a thc ac trng det
(sI-A), tao ra vector hang co n+1 phan t xep theo th t giam dan so mu cua s.
p = poly(r), tao ra vector hangvi cac phan t la cac he so cua a thc co nghiem la cac phan
t cua vector ngo ra.
d) V du 1:
Cho ma tran
A =
1 2 3
4 5 6
7 8 0
p = poly (A)
p =
1 -6 -72 -27
V du 2: Trch t V du 2.5 sach cua tac gia Nguyen Van Giap
%Vdu2.m
%tim nghiem cua da thuc:
% s^6+9s^5+31.25s^4+61.25s^3+67.75s^2+14.75s+15
P=[1 9 31.25 61.25 67.75 14.75 15]
R=roots(P)
Ket qua:

P =
1.0000 9.0000 31.2500 61.2500 67.7500 14.7500 15.0000
R =
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 128 - GVHD: PHAMQUANG HUY
-4.0000
-3.0000
-1.0000 + 2.0000i
-1.0000 - 2.0000i
0.0000 + 0.5000i
0.0000 - 0.5000i
12. Lenh RESIDUE
a) Cong dung:
Chuyen oi gia dang khai trien phan so tng phan va dang a thc.
b) Cu phap:
[r,p,k]= residue(b,a)
[b,a]= residue(r,p,k)
c) Giai thch:
[r,p,k]= residue(b,a) tm gia tr thang d, cac cc, va cac so hang khai trien phan so tng phan
cua 2 a thc b(s) va a(s) dang:
n
n
m
m
s a s a s a a
s b s b s b b
s a
s b

+

+ + + +
+ + + +
=
1
2
3
1
2 1
1
2
3
1
2 1
.....
.....
) (
) (
[b,a]= residue(r,p,k) chuyen dang khai trien phan so tng phan:
) ( ......
) (
) (
1
2
1
1
s k
p s
r
p s
r
p s
r
s a
s b
n
n
+

+ +

=
ve dang a thc vi cac he so trong vector a va b.
d) V du: Trch t V du 2.9 sach cua tac gia Nguyen Van Giap
Xac nh thanh phan toi gian cua ham truyen: F(s)= (2s
3
+9s+1)/(s
3
+s
2
+4s+4)
%vidu.m
%xac dinh cac thanh phan toi gian cua ham truyen:
% (2s^3+9s+1)
% H(s)=-------------------
% (s^3+s^2+4s+4)
b=[2 0 9 1]
a=[1 1 4 4]
[r,p,k]=residue(b,a)
Ket qua:

b =
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 129 - GVHD: PHAMQUANG HUY
2 0 9 1
a =
1 1 4 4
r =
0.0000 - 0.2500i
0.0000 + 0.2500i
-2.0000
p =
-0.0000 + 2.0000i
-0.0000 - 2.0000i
-1.0000
k =
2
T o ham truyen toi gian la:
2 + (-2/(s+1)) + (0,25i/(s -j2)) + (-0,25i/(s -j2)) = 2 + (-2/(s+1))+ 1/(s
2
+4)
13. Lenh SS2SS
a) Cong dung:
Bien oi tng ng he khong gian trang thai.
b) Cu phap:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 130 - GVHD: PHAMQUANG HUY
[at,bt,ct,dt]= ss2ss (a,b,c,d,T)
c) Giai thch:
[at,bt,ct,dt]= ss2ss (a,b,c,d,T) thc hien bien oi tng ng: z= Tx
Cuoi cung ta c he khong gian trang thai nh sau
TBu z TAT z + =
1
.
y = CT
-1
z+Du
d) V du:
Cho he khong gian trang thai:
u
x
x
x
x

0
1
1 2
1 1
2
1
2
.
1
.
y = [2 4]

2
1
x
x
+ [1]u
Thc hien bien oi tng nge cai tien ieu kien cua ma tran A.
a = [1 1;2 -1];
b = [1;0];
c = [2 4];
d = [1];
T= balance(a);
[at,bt,ct,dt] = ss2ss(a,b,c,d,inv(T))
14. Lenh CANON
a) Cong dung:
Chuyen he khong gian trang thai ve dang chnh tac.
b) Cu phap:
[ab,bb,cb,db] = canon(a,b,c,d,'type')
c) Giai thch:
Lenh canon chuyen he khong gian trang thai lien tuc:
Bu Ax x + =
.
y = Cx + Du
Thanh dang chnh tac.
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 131 - GVHD: PHAMQUANG HUY
+ 'type' la 'moddal': chuyen thanh dang chnh tac 'hnh thai' (modal).
+ 'type' la 'companion': chuyen thanh dang chnnh tac 'kem theo' (companion)
Neu 'type' khong c ch nh th gia tr mac nhien la 'modal'.
He thong a chuyen oi co cung quan he vao ra (cung ham truyen) nhng cac trang thai th
khac nhau.
[ab,bb,cb,db]= canon (a,b,c,d,'type') chuyen he khong gian trang thai thanh dang 'hnh thai'
trong o co gia tr rieng thc nam tren ng cheo cua ma tran Ava cac gia tr rieng phc nam
khoi 2x2 tren ng cheo cua ma tran A. Gia s he thong co cac gia tr rieng ( ), ma tran A se
la:
A =

2
1
0 0 0
0 0
0 0
0 0 0

[ab,bb,cb,db]= canon (a,b,c,d,'companion') chuyen he khong gian trang thai thanh dang
chnh tac 'kem theo' trong o a thhc ac trng cua he thong nam cot ben phai ma tran A. Neu
mot he thong co a thc ac trng:
s
n
+ a
1
s
n-1
+ .. + a
n-1
s + a
n
th ma tran A tng ng la:
A =

1
2
3
1 0
....... 0 0 0
....... 0 0 1
....... 0 0 0
a
a
a
a
n
L L
O M M M
M
Neu them vao mot oi so ngo ra th:
[ab,bb,cb,db,T]= canon(a,b,c,d,'type') tao ra vector chuyen oi T vi z= Tx
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 132 - GVHD: PHAMQUANG HUY
CAC BAI TAP
Bai 1: c viet di dang m_file
%Bai tap tinh toan tong quat cua ham truyen
tu1=input('nhap (vi du: tu1=[3]), tu1= ');
mau1=input('nhap (vi du mau1=[1 4]), mau1= ');
tu2=input('nhap (tu2=[2 4]), tu2= ');
mau2=input('nhap (mau2=[1 2 3]), mau2= ');
%ket qua tu3=[0 0 2 12]; mau2=[1 6 11 12]
disp('Ket noi 2 he thong noi tiep la:');
[tu3,mau3]=series(tu1,mau1,tu2,mau2)
pause
chon=input('Ban muon khao sat ham nao 1,2,3: ');
if (chon==1)
num=tu1;
den=mau1;
end
if (chon==2)
num=tu2;
den=mau2;
end
if (chon==3)
num=tu3;
den=mau3;
end
if (chon~=1)&(chon~=2)&(chon~=3)
break
end
num
den
pause
disp('Nghiem va zero cua ham truyen la:');
[z,p,k] = tf2zp(num,den)
pause
disp('Thanh phan toi gian cua ham truyen la:');
[r,p,k] = residue(num,den)
pause
disp('In ra ham truyen o dang ty so cua hai da thuc:');
printsys(num,den,'s')
pause
disp('Tinh va hien thi tan so tu nhien va he so suy giam cua HT lien tuc la:');
damp(den)
pause
disp('He so khuyech dai cua he thong:');
k=dcgain(num,den)
pause
disp('He so khuyech dai cua he thong kin voi he so suy giam:');
k=rlocfind(num,den)
pause
disp('Bien doi HAM TRUYEN thanh MO HINH BIEN TRANG THAI');
[A,B,C,D]=tf2ss(num,den)
A
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 133 - GVHD: PHAMQUANG HUY
B
C
B
disp('Bien doi ham truyen lien tuc sang roi rac la;');
Ts=input('nhap thoi gian lay mau(vi du: Ts=0.1), Ts= ');
[numd,dend]=c2dm(num,den,Ts,'zoh')
pause
disp('Gia tri rieng,bien do,tan so');
disp('va he so suy giam tuong duong cua ham truyen cua he thong roi rac');
disp('thoi gian lay mau Ts la:');
ddamp(den,Ts)
Sau khi chay chng trnh:
Bai1.m
nhap (vi du: tu1=[3]), tu1= 3
nhap (vi du mau1=[1 4]), mau1= [1 4]
nhap (tu2=[2 4]), tu2= [2 4]
nhap (mau2=[1 2 3]), mau2= [1 2 3]
Ket noi 2 he thong noi tiep la:
tu3 =
0 0 6 12
mau3 =
1 6 11 12
Ban muon khao sat ham nao 1,2,3: 3
num =
0 0 6 12
den =
1 6 11 12
Nghiem va zero cua ham truyen la:
z =
-2
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 134 - GVHD: PHAMQUANG HUY
p =
-4.0000
-1.0000 + 1.4142i
-1.0000 - 1.4142i
k =
6
Thanh phan toi gian cua ham truyen la:
r =
-1.0909
0.5455 - 0.9642i
0.5455 + 0.9642i
p =
-4.0000
-1.0000 + 1.4142i
-1.0000 - 1.4142i
k =
[]
In ra ham truyen o dang ty so cua hai da thuc:
num/den =
6 s + 12
-----------------------
s^3 + 6 s^2 + 11 s + 12
Tinh va hien thi tan so tu nhien va he so suy giam cua HT lien tuc la:
Eigenvalue Damping Freq. (rad/s)
-1.00e+000 + 1.41e+000i 5.77e-001 1.73e+000
-1.00e+000 - 1.41e+000i 5.77e-001 1.73e+000
-4.00e+000 1.00e+000 4.00e+000
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 135 - GVHD: PHAMQUANG HUY
He so khuyech dai cua he thong:
k =
1
He so khuyech dai cua he thong kin voi he so suy giam:Select a point in the graphics window
selected_point =
0.1267 + 0.1842i
k =
1.0521
Bien doi HAM TRUYEN thanh MO HINH BIEN TRANG THAI
A =
-6 -11 -12
1 0 0
0 1 0
B =
1
0
0
C =
0 6 12
D =
0
A =
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 136 - GVHD: PHAMQUANG HUY
-6 -11 -12
1 0 0
0 1 0
B =
1
0
0
C =
0 6 12
B =
1
0
0
Bien doi ham truyen lien tuc sang roi rac la;
nhap thoi gian lay mau(vi du: Ts=0.1), Ts= 0.1
numd =
0 0.0263 0.0015 -0.0189
dend =
1.0000 -2.4619 2.0197 -0.5488
Gia tri rieng,bien do,tan so
va he so suy giam tuong duong cua ham truyen cua he thong roi rac
thoi gian lay mau Ts la:
Eigenvalue Magnitude Equiv. Damping Equiv. Freq. (rad/s)
-4.00e+000 4.00e+000 -4.04e-001 3.43e+001
-1.00e+000 + 1.41e+000i 1.73e+000 -2.44e-001 2.25e+001
-1.00e+000 - 1.41e+000i 1.73e+000 -2.44e-001 2.25e+001
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 137 - GVHD: PHAMQUANG HUY
NHOM LENH VE AP NG TAN SO
(Frequency Response)
1. Lenh BODE
a) Cong dung:
Tm va ve ap ng tan so gian o Bode.
b) Cu phap:
[mag,phase,w] = bode(a,b,c,d)
[mag,phase,w] = bode(a,b,c,d,iu)
[mag,phase,w] = bode(a,b,c,d,iu,w)
[mag,phase,w] = bode(num,den)
[mag,phase,w] = bode(num,den,w)
c) Giai thch:
Lenh bode tm ap ng tan so bien o va pha cua he lien tuc LTI. Gian o Bode dung e
phan tch ac iem cua he thong bao gom: bien d tr, pha d tr, o li DC, bang thong, kha
nang mien nhieu va tnh on nh.
Neu bo qua cac oi so ve trai cua dong lenh th lenh bode se ve ra gian o Bode tren man
hnh.
bode(a,b,c,d) ve ra chuoi gian o Bode, moi gian o tng ng vi mot ngo vao cua he
khong gian trang thai lien tuc:
Bu Ax x + =
.
y = Cx + Du
vi truc tan so c xac nh t ong. Neu ap ng thay oi nhanh th can phai xac nh
nhieu iem hn.
bode(a,b,c,d,iu) ve ra gian o Bode t ngo vao duy nhat iu ti tat ca cac ngo ra cua he thong
vi truc tan so c xac nh t ong. ai lng vo hng iu la ch so ngo vao cua he thong va
ch ra ngo vao nao c s dung cho ap ng gian o Bode.
bode(num,den) ve ra gian o Bode cua ham truyen a thc he lien tuc
G(s) = num(s)/den(s)
trong o num va den cha cac he so a thc theo chieu giam dan so mu cua s.
bode(a,b,c,d,iu,w) hay bode(num,den,w) ve ra gian o Bode vi vector tan so w do ngi s
dung xac nh. Vector w ch ra cac iem tan so (tnh bang rad/s) ma tai o ap ng tan so gian o
Bode c tnh.
Neu van gi lai cac oi so ve trai cua dong lenh th:
[mag,phase,w] = bode(a,b,c,d)
[mag,phase,w] = bode(a,b,c,d,iu)
[mag,phase,w] = bode(a,b,c,d,iu,w)
[mag,phase,w] = bode(num,den)
[mag,phase,w] = bode(num,den,w)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 138 - GVHD: PHAMQUANG HUY
Se khong ve ra gian o Bode ma tao ra cac ma tran ap ng tan so mag, phase va w cua he
thong. Ma tran mag va phase co so cot bang so ngo ra va moi hang ng vi mot thanh phan trong
vector w.
G(s) = C(sI A)
-1
B + D
mag() = |G(j)|
phase() = G(j)
Goc pha c tnh bang o. Gia tr bien o co the chuyen thanh decibel theo bieu thc:
magdB = 20*log10(mag)
Chung ta co the dung lenh fbode thay cho lenh bode oi vi cac he thong co the cheo nhau.
No s dung cac thuat giai nhanh hn da tren s cheo hoa cua ma tran he thong A.
d) V du:
Ve ap ng bien o va pha cua he bac 2 vi tan so t nhien
n
= 1 va he so tat dan = 0.2
[a,b,c,d] = ord2(1,0.2);
bode(a,b,c,d)
grid on
va ta c gian o Bode ap ng tan so cua he thong nh sau:
Frequency (rad/sec)
P
h
a
s
e

(
d
e
g
)
;

M
a
g
n
i
t
u
d
e

(
d
B
)
Bode Di agrams
-40
-30
-20
-10
0

10
-1
10
0
10
1
-150
-100
-50
0

2. Lenh FBODE
a) Cong dung:
Ve ap ng tan so gian o Bode cho he tuyen tnh lien tuc.
b) Cu phap:
[mag,phase,w] = fbode(a,b,c,d)
[mag,phase,w] = fbode(a,b,c,d,iu)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 139 - GVHD: PHAMQUANG HUY
[mag,phase,w] = fbode(a,b,c,d,iu,w)
[mag,phase,w] = fbode(num,den)
[mag,phase,w] = fbode(num,den,w)
c) Giai thch:
Lenh fbode tm nhanh ap ng tan so bien o va pha cua he lien tuc LTI. Neu bo qua cac oi
so ve trai cua dong lenh th lenh fbode se ve ra gian o Bode tren man hnh.
fbode(a,b,c,d) ve ra chuoi gian o Bode, moi gian o tng ng vi mot ngo vao cua he
khong gian trang thai lien tuc:
Bu Ax x + =
.
y = Cx + Du
vi truc tan so c xac nh t ong. Neu ap ng thay oi nhanh th can phai xac nh
nhieu iem hn.
fbode(a,b,c,d,iu) ve ra gian o Bode t ngo vao duy nhat iu ti tat ca cac ngo ra cua he thong
vi truc tan so c xac nh t ong. iu la ch so ngo vao cua he thong va ch ra ngo vao nao
c s dung cho ap ng gian o Bode. fbode nhanh hn nhng kem chnh xac hn bode.
fbode(num,den) ve ra gian o Bode cua ham truyen a thc he lien tuc
G(s) = num(s)/den(s)
trong o num va den cha cac he so a thc theo chieu giam dan so mu cua s.
fbode(a,b,c,d,iu,w) hay fbode(num,den,w) ve ra gian o Bode vi vector tan so w do ngi
s dung xac nh. Vector w ch ra cac iem tan so (tnh bang rad/s) ma tai o ap ng tan so gian
o Bode c tnh.
Neu van gi lai cac oi so ve trai cua dong lenh th:
[mag,phase,w] = fbode(a,b,c,d)
[mag,phase,w] = fbode(a,b,c,d,iu)
[mag,phase,w] = fbode(a,b,c,d,iu,w)
[mag,phase,w] = fbode(num,den)
[mag,phase,w] = fbode(num,den,w)
se khong ve ra gian o Bode ma tao ra cac ma tran ap ng tan so mag, phase va w cua he
thong. Ma tran mag va phase co so cot ba ng so ngo ra va co so hang la length(w).
d) V du:
Ve ap ng bien o va pha cua he bac 2 vi tan so t nhien
n
= 1 va he so tat dan = 0.2
[a,b,c,d] = ord2(1,0.2);
fbode(a,b,c,d); grid on
va ta c ap ng nh sau:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 140 - GVHD: PHAMQUANG HUY
Frequency (rad/sec)
P
h
a
s
e

(
d
e
g
)
;

M
a
g
n
i
t
u
d
e

(
d
B
)
Bode Di agrams
-40
-30
-20
-10
0

10
-1
10
0
10
1
-150
-100
-50
0

3. Lenh DBODE
a) Cong dung:
Tm va ve ap ng tan so gian o Bode cua he gian oan.
b) Cu phap:
[mag,phase,w] = dbode(a,b,c,d,Ts)
[mag,phase,w] = bode(a,b,c,d,Ts,iu)
[mag,phase,w] = bode(a,b,c,d,Ts,iu,w)
[mag,phase,w] = bode(num,den,Ts)
[mag,phase,w] = bode(num,den,Ts,w)
c) Giai thch:
Lenh dbode tm ap ng tan so bien o va pha cua he lien tuc LTI. Lenh dbode khac vi
lenh freqz ma trong o ap ng tan so at c vi tan so cha chuan hoa. ap ng co c t
dbode co the c so sanh trc tiep vi ap ng lenh bode cua he thong lien tuc tng ng. Neu
bo qua cac oi so ve trai cua dong lenh th lenh dbode se ve ra gian o Bode tren man hnh.
dbode(a,b,c,d,Ts) ve ra chuoi gian o Bode, moi gian o tng ng vi mot ngo vao cua he
khong gian trang thai lien tuc:
x[n+] = Ax[n] + Bu{n]
y[n] = Cx[n] + Du[n]
vi truc tan so c xac nh t ong. Cac iem tan so c chon trong khoang t /Ts
(rad/sec), trong o /Ts (rad/sec) tng ng vi na tan so lay mau (tan so Nyquist). Neu ap ng
thay oi nhanh th can phai xac nh nhieu iem hn. Ts la thi gian lay mau.
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 141 - GVHD: PHAMQUANG HUY
dbode(a,b,c,d,Ts,iu) ve ra gian o Bode t ngo vao duy nhat iu ti tat ca cac ngo ra cua he
thong vi truc tan so c xac nh t ong. ai lng vo hng iu la ch so ngo vao cua he
thong va ch ra ngo vao nao c s dung cho ap ng gian o Bode.
dbode(num,den,Ts) ve ra gian o Bode cua ham truyen a thc he lien tuc gian oan.
G(z) = num(z)/den(z)
trong o num va den cha cac he so a thc theo chieu giam dan so mu cua s.
dbode(a,b,c,d,Ts,iu,w) hay dbode(num,den,Ts,w) ve ra gian o Bode vi vector tan so w do
ngi s dung xac nh. Vector w ch ra cac iem tan so (tnh bang rad/s) ma tai o ap ng tan
so gian o Bode c tnh. Hien tng trung pho xay ra tai tan so ln hn tan so Nyquist.
Neu van gi lai cac oi so ve trai cua dong lenh th:
[mag,phase,w] = dbode(a,b,c,d,Ts)
[mag,phase,w] = dbode(a,b,c,d,Ts,iu)
[mag,phase,w] = bode(a,b,c,d,Ts,iu,w)
[mag,phase,w] = bode(num,den,Ts)
[mag,phase,w] = bode(num,den,Ts,w)
se khong ve ra gian o Bode ma tao ra cac ma tran ap ng tan so mag, phase va w cua he
thong c tnh tai cac gia tr tan so w. Ma tran mag va phase co so cot bang so ngo ra va moi
hang ng vi mot thanh phan trong vector w.
G(z) = C(zI A)
-1
B + D
mag() = |G(e
jT
)|
phase() = G(e
jT
)
trong o T la thi gian lay mau. Goc pha c tnh bang o. Gia tr bien o co the chuyen
thanh decibel theo bieu thc:
magdB = 20*log10(mag)
d) V du:
Ve ap ng gian o Bode cua he thong co ham truyen nh sau:
8 . 0 6 . 1
5 . 1 4 . 3 2
) (
2
2
+
+
=
s z
z z
z H
vi thi gian lay mau Ts = 0.1
num = [2 -3.4 1.5];
den = [1 -1.6 0.8];
dbode(num,den,0.1); grid on
va ta c ap ng tan so gian o Bode cua he gian oan nh sau:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 142 - GVHD: PHAMQUANG HUY
Frequency (rad/sec)
P
h
a
s
e

(
d
e
g
)
;

M
a
g
n
i
t
u
d
e

(
d
B
)
Bode Di agrams
-10
0
10
20

10
-1
10
0
10
1
10
2
-50
0
50
100

4. Lenh FREQS
a) Cong dung:
Tm ap ng tan so cua phep bien oi Laplace.
b) Cu phap:
h = freqs(b,a,w)
[h,w] = freqs(b,a)
[h,w] = freqs(b,a,n)
freqs(b,a)
c) Giai thch:
Lenh freqs tr thanh ap ng tan so H(j) cua bo loc analog.
) 1 ( ...... ) 2 ( ) 1 (
) 1 ( ...... ) 2 ( ) 1 (
) (
) (
) (
1
1
+ + + +
+ + + +
= =

na a s a s a
nb b s b s b
s A
s B
s H
na na
nb nb
trong o vector b va a cha cac he so cua t so va mau so.
h = freqs(b,a,w) tao ra vector ap ng tan so phc cua bo loc analog c ch nh bi cac he
so trong vector b va a. Lenh freqs tm ap ng tan so trong mat phang phc tai cac thi iem tan
so c hc nh trong vector w.
[h,w] = freqs(b,a) t ong chon 200 iem tan so trong vector w e tnh vector ap ng tan so
h.
[h,w] = freqs(b,a,n) chon ra n iem tan so e tm vector ap ng tan so h.
Neu bo qua cac oi so ngo ra ve trai th lenh freqs se ve ra ap ng bien o va pha tren
man hnh.
freqs ch dung cho cac he thong co ngo vao thc va tan so dng.
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 143 - GVHD: PHAMQUANG HUY
d) V du:
Tm va ve ap ng tan so cua he thong co ham truyen:
1 4 . 0
1 3 . 0 2 . 0
) (
2
2
+ +
+ +
=
s s
s s
s H
% Khai bao ham truyen:
a = [1 0.4 1];
b = [0.2 0.3 1];
% Xac nh truc tan so:
w = logspace(-1,1);
% Thc hien ve o th:
freqs(b,a,w)
10
-1
10
0
10
1
-150
-100
-50
0
Frequency (radi ans)
P
h
a
s
e

(
d
e
g
r
e
e
s
)
10
-1
10
0
10
1
10
-1
10
0
10
1
Frequency (radi ans)
M
a
g
n
i
t
u
d
e
5. Lenh FREQZ
a) Cong dung:
Tm ap ng tan so cua bo loc so.
b) Cu phap:
[h,w] = freqz(b,a,n)
[h,f] = freqz(b,a,n,Fs)
[h,w] = freqz(b,a,n,whole)
[h,f] = freqz(b,a,n,whole,Fs)
h = freqz(b,a,w)
h = freqz(b,a,f,Fs)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 144 - GVHD: PHAMQUANG HUY
freqz(b,a)
c) Giai thch:
Lenh freqz tm ap ng tan so H(e
jT
) cua bo loc so t cac he so t so va mau so trong vector
b va a.
[h,w] = freqz(b,a,n) tm ap ng tan so cua bo loc so vi n iem
na
nb
z na a z a a
z nb b z b b
z A
z B
z H


+ + + +
+ + + +
= =
) 1 ( ...... ) 2 ( ) 1 (
) 1 ( ...... ) 2 ( ) 1 (
) (
) (
) (
1
1
t cac he so trong vector b va a. freqz tao ra vector ap ng tan so hoi tiep va vector w cha
n iem tan so. freqz xac nh ap ng tan so tai n iem nam eu nhau quanh na vong tron n
v, v vay w cha n iem gia 0 va .
[h,f] = freqz(b,a,n,Fs) ch ra tan so lay mau dng Fs (tnh bang Hz). No tao ra vector f cha
cac iem tan so thc gia 0 va Fs/2 ma tai o leng se tnh ap ng tan so.
[h,w] = freqz(b,a,n,whole) va [h,f] = freqz(b,a,n,whole,Fs) s dung niem quanh vong
tron n v (t 0 ti 2 hoac t 0 ti Fs)
h = freqz(b,a,w) tao ra ap ng tan so tai cac iem tan so c ch trong vector w. Cac iem
tan so nay phai nam trong khoang (0 2).
h = freqz(b,a,f,Fs) tao ra ap ng tan so tai cac iem tan so c ch trong vector f. Cac iem
tan so nay phai nam trong khoang (0 Fs).
Neu bo qua cac oi so ngo ra th lenh freqz ve ra cac ap ng bien o va pha tren man hnh.
Lenh freqz dung cho cac he thong co ngo vao thc hoac phc.
d) V du:
Ve ap ng bien o va pha cua bo loc Butter.
[b,a] = butter(5,0.2);
freqz(b,a,128)
va ta c o th ap ng:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 145 - GVHD: PHAMQUANG HUY
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
-500
-400
-300
-200
-100
0
Normal i zed frequency (Nyqui st == 1)
P
h
a
s
e

(
d
e
g
r
e
e
s
)
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
-300
-200
-100
0
100
Normal i zed frequency (Nyqui st == 1)
M
a
g
n
i
t
u
d
e

R
e
s
p
o
n
s
e

(
d
B
)
6. Lenh NYQUIST
a) Cong dung:
Ve bieu o ap ng tan so Nyquist.
b) Cu phap:
[re,im,w] = nyquist(a,b,c,d)
[re,im,w] = nyquist(a,b,c,d,iu)
[re,im,w] = nyquist(a,b,c,d,iu,w)
[re,im,w] = nyquist(num,den)
[re,im,w] = nyquist(num,den,w)
c) Giai thch:
Lenh nyquist tm ap ng tan so Nyquist cua he lien tuc LTI. Bieu o Nyquist dung e phan
tch ac iem cua he thong bao gom: bien d tr, pha d tr va tnh on nh.
Neu bo qua cac oi so ve trai cua dong lenh th nyquist se ve ra bieu o Nyquist tren man
hnh.
Lenh nyquist co the xac nh tnh on nh cua he thong hoi tiep n v. Cho bieu o Nyquist
cua ham truyen vong h G(s), ham truyen vong kn:
G
cl
(s) =
) ( 1
) (
s G
s G
+
la on nh khi bieu o Nyquist bao quanh iem 1+j0 P lan theo chieu kim ong ho, trong o
P la so cc vong h khong on nh.
nyquist(a,b,c,d) ve ra chuoi bieu o Nyquist, moi o th ng vi moi quan he gia mot ngo
vao va mot ngo ra cua he khong gian trang thai lien tuc:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 146 - GVHD: PHAMQUANG HUY
Bu Ax x + =
.
y = Cx + Du
vi truc tan so c xac nh t ong. Neu ap ng thay oi cang nhanh th can phai xac nh
cang nhieu iem tren truc tan so.
nyquist(a,b,c,d,iu) ve ra bieu o Nyquist t ngo vao duy nhat iu ti tat ca cac ngo ra cua he
thong vi truc tan so c xac nh t ong. ai lng vo hng iu la ch so ngo vao cua he
thong va ch ra ngo vao nao c s dung cho ap ng Nyquist.
nyquist(num,den) ve ra bieu o Nyquist cua ham truyen a thc he lien tuc
G(s) = num(s)/den(s)
trong o num va den cha cac he so a thc theo chieu giam dan so mu cua s.
nyquist(a,b,c,d,iu,w) hoac nyquist(num,den,w) ve ra bieu o Nyquist vi vector tan so w do
ngi s dung xac nh. Vector w ch ra cac iem tan so (tnh bang rad/s) ma tai o ap ng
Nyquist c tnh.
Neu van gi lai cac oi so ve trai cua dong lenh th:
[re,im,w] = nyquist(a,b,c,d)
[re,im,w] = nyquist(a,b,c,d,iu)
[re,im,w] = nyquist(a,b,c,d,iu,w)
[re,im,w] = nyquist(num,den)
[re,im,w] = nyquist(num,den,w)
khong ve ra bieu o Nyquist ma tao ra ap ng tan so cua he thong di dang cac ma tran re,
im va w. Cac ma tran re va im co so cot bang so ngo ra va moi hang ng vi mot thanh phan
trong vector w.
d) V du:
Ve bieu o Nyquist cua he thong co ham truyen:
3 2
1 5 2
) (
2
2
+ +
+ +
=
s s
s s
s H
num = [2 5 1];
den = [1 2 3];
nyquist(num,den); title(Bieu do Nyquist)
va ta c bieu o Nyquist nh hnh ve:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 147 - GVHD: PHAMQUANG HUY
7. Lenh DNYQUIST
a) Cong dung:
Ve bieu o ap ng tan so Nyquist cua he gian oan.
b) Cu phap:
[re,im,w] = dnyquist(a,b,c,d,Ts)
[re,im,w] = dnyquist(a,b,c,d,Ts,iu)
[re,im,w] = dnyquist(a,b,c,d,Ts,iu,w)
[re,im,w] = dnyquist(num,den,Ts)
[re,im,w] = dnyquist(num,den,Ts,w)
c) Giai thch:
Lenh dnyquist tm ap ng tan so Nyquist cua he gian oan LTI. Bieu o Nyquist dung e
phan tch ac iem cua he thong bao gom: bien d tr, pha d tr va tnh on nh. ap ng tan so
dung lenh dnyquist co the so sanh trc tiep vi ap ng nyquist cua he lien tuc tng ng.
Neu bo qua cac oi so ve trai cua dong lenh th dnyquist se ve ra bieu o Nyquist tren man
hnh.
Lenh dnyquist co the xac nh tnh on nh cua he thong hoi tiep n v. Cho bieu o Nyquist
cua ham truyen vong h G(s), ham truyen vong kn:
G
cl
(z) =
) ( 1
) (
z G
z G
+
la on nh khi bieu o Nyquist bao quanh iem 1+j0 P lan theo chieu kim ong ho, trong o
P la so cc vong h khong on nh.
dnyquist(a,b,c,d,Ts) ve ra chuoi bieu o Nyquist, moi o th ng vi moi quan he gia mot
ngo vao va mot ngo ra cua he khong gian trang thai gian oan:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 148 - GVHD: PHAMQUANG HUY
x[n+] = Ax[n] + Bu{n]
y[n] = Cx[n] + Du[n]
vi truc tan so c xac nh t ong. Cac iem tan so c chon trong khoang t 0 en /Ts
radians tng ng vi na tan so lay mau (tan so Nyquist). Neu ap ng thay oi cang nhanh th
can phai xac nh cang nhieu iem tren truc tan so. Tan so la thi gian lay mau.
dnyquist(a,b,c,d,Ts,iu) ve ra bieu o Nyquist t ngo vao duy nhat iu ti tat ca cac ngo ra cua
he thong vi truc tan so c xac nh t ong. ai lng vo hng iu la ch so ngo vao cua he
thong va ch ra ngo vao nao c s dung cho ap ng Nyquist.
dnyquist(num,den,Ts) ve ra bieu o Nyquist cua ham truyen a thc he gian oan:
G(s) = num(s)/den(s)
trong o num va den cha cac he so a thc theo chieu giam dan so mu cua s.
dnyquist(a,b,c,d,Ts,iu,w) hoac dnyquist(num,den,w) ve ra bieu o Nyquist vi vector tan so
w do ngi s dung xac nh. Vector w ch ra cac iem tan so (tnh bang rad/s) ma tai o ap ng
Nyquist c tnh. Hien tng trung pho xay ra tai tan so ln hn tan so Nyquist (/Ts rad/s).
e tao ra truc tan so vi cac khoang tan so bang nhau theo logarit ta dung lenh logspace.
Neu van gi lai cac oi so ve trai cua dong lenh th:
[re,im,w] = dnyquist(a,b,c,d,Ts)
[re,im,w] = dnyquist(a,b,c,d,Ts,iu)
[re,im,w] = dnyquist(a,b,c,d,Ts,iu,w)
[re,im,w] = dnyquist(num,den,Ts)
[re,im,w] = dnyquist(num,den,Ts,w)
khong ve ra bieu o Nyquist ma tao ra ap ng tan so cua he thong di dang cac ma tran re,
im va w. Cac ma tran re va im cha cac phan thc va phan ao cua ap ng tan so cua he thong
c tnh tai cac gia tr tan so w, re va im co so cot bang so ngo ra va moi hang ng vi mot
thanh phan trong vector w.
d) V du:
Ve bieu o Nyquist cua he gian oan co ham truyen:
8 . 0 6 . 1
5 . 1 4 . 3 2
) (
2
2
+
+
=
z z
z z
z H
vi thi gian lay mau Ts = 0.1
% Xac nh ham truyen:
num = [2 -3.4 1.5];
den = [1 -1.6 0.8];
% Ve bieu o Nyquist:
dnyquist(num,den,0.1)
title(Bieu do Nyquist he gian doan)
va ta c bieu o Nyquist he gian oan nh sau:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 149 - GVHD: PHAMQUANG HUY
8. Lenh NICHOLS
a) Cong dung:
Ve bieu o ap ng tan so Nichols.
b) Cu phap:
[mag,phase,w] = nichols(a,b,c,d)
[mag,phase,w] = nichols(a,b,c,d,iu)
[mag,phase,w] = nichols(a,b,c,d,iu,w)
[mag,phase,w] = nichols(num,den)
[mag,phase,w] = nichols(num,den,w)
c) Giai thch:
Lenh nichols tm ap ng tan so Nichols cua he lien tuc LTI. Bieu o Nichols c dung e
phan tch ac iem cua he vong h va he vong kn.
Neu bo qua cac oi so ve trai cua dong lenh th lenh nichols se ve ra bieu o Nichols tren
man hnh.
nichols(a,b,c,d) ve ra chuoi bieu o Nichols, moi o th tng ng vi moi quan he gia mot
ngo vao va mot ngo ra cua he khong gian trang thai lien tuc:
Bu Ax x + =
.
y = Cx + Du
vi truc tan so c xac nh t ong. Neu ap ng thay oi nhanh th can phai xac nh cang
nhieu iem tren truc tan so.
nichols(a,b,c,d,iu) ve ra bieu o Nichols t ngo vao duy nhat iu ti tat ca cac ngo ra cua he
thong vi truc tan so c xac nh t ong. ai lng vo hng iu la ch so ngo vao cua he
thong va ch ra ngo vao nao c s dung cho ap ng Nichols.
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 150 - GVHD: PHAMQUANG HUY
nichols(num,den) ve ra bieu o Nichols cua ham truyen a thc he lien tuc
G(s) = num(s)/den(s)
trong o num va den cha cac he so a thc theo chieu giam dan so mu cua s.
nichols(a,b,c,d,iu,w) hay nichols(num,den,w) ve ra bieu o Nichols vi vector tan so w do
ngi s dung xac nh. Vector w ch nh nhng iem tan so (tnh bang rad/s) ma tai o ap ng
Nichols c tnh.
e tao ra truc tan so vi cac khoang tan so bang nhau theo logarit ta dung lenh logspace.
Neu gi lai cac oi so ve trai cua dong lenh th:
[mag,phase,w] = nichols(a,b,c,d)
[mag,phase,w] = nichols(a,b,c,d,iu)
[mag,phase,w] = nichols(a,b,c,d,iu,w)
[mag,phase,w] = nichols(num,den)
[mag,phase,w] = nichols(num,den,w)
se khong ve ra bieu o Nichols ma tao ra ap ng tan so cua he thong di dang cac ma tran
mag, phase va w. Cac ma tran mag va phase cha ap ng bien o va pha cua he thong c xac
nh tai nhng iem tan so w. Ma tran mag va phase co so cot bang so ngo ra va moi hang ng
vi mot thanh phan trong vector w.
G(s) = C(sI A)
-1
B + D
mag() = |G(j)|
phase() = G(j)
Goc pha c tnh bang o va nam trong khoang 360
0
ti 0
0
.
Gia tr bien o co the chuyen ve n v decibel theo cong thc:
magdB = 20*log10(mag)
e ve li bieu o Nichols ta dung lenh ngrid.
d) V du: Trch trang 11-150 sach Control System Toolbox
Ve ap ng Nichols cua he thong co ham truyen:
60 525 282 30
600 250 18 48 4
) (
2 3 4
2 3 4
+ + + +
+ + +
=
s s s s
s s s s
s H
num = [-4 48 -18 250 600];
den = [1 30 282 525 60];
nichols(num,den)
title(Bieu do Nichols)
ngrid(new)
va ta c bieu o Nichols nh hnh ve:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 151 - GVHD: PHAMQUANG HUY
9. Lenh DNICHOLS
a) Cong dung:
Ve bieu o ap ng tan so Nichols cua he gian oan.
b) Cu phap:
[mag,phase,w] = dnichols(a,b,c,d,Ts)
[mag,phase,w] = dnichols(a,b,c,d,Ts,iu)
[mag,phase,w] = dnichols(a,b,c,d,Ts,iu,w)
[mag,phase,w] = dnichols(num,den,Ts)
[mag,phase,w] = dnichols(num,den,Ts,w)
c) Giai thch:
Lenh dnichols tm ap ng tan so Nichols cua he gian oan LTI. Bieu o Nichols c dung
e phan tch ac iem cua he vong h va he vong kn. ap ng t lenh dnichols co the so sanh
trc tiep vi ap ng t lenh nichols cua he lien tuc tng ng.
Neu bo qua cac oi so ve trai cua dong lenh th lenh dnichols se ve ra bieu o Nichols tren
man hnh.
dnichols(a,b,c,d,Ts) ve ra chuoi bieu o Nichols, moi o th tng ng vi moi quan he gia
mot ngo vao va mot ngo ra cua he khong gian trang thai gian oan:
x[n+] = Ax[n] + Bu{n]
y[n] = Cx[n] + Du[n]
vi truc tan so c xac nh t ong. Cac iem tan so c chon trong khoang t 0 ti /Ts
radians. Neu ap ng thay oi nhanh th can phai xac nh cang nhieu iem tren truc tan so.
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 152 - GVHD: PHAMQUANG HUY
dnichols(a,b,c,d,Ts,iu) ve ra bieu o Nichols tren man hnh t ngo vao duy nhat iu ti tat ca
cac ngo ra cua he thong vi truc tan so c xac nh t ong. ai lng vo hng iu la ch so
ngo vao cua he thong va ch ra ngo vao nao c s dung cho ap ng Nichols.
dnichols(num,den,Ts) ve ra bieu o Nichols cua ham truyen a thc he gian oan
G(z) = num(z)/den(z)
trong o num va den cha cac he so a thc theo chieu giam dan so mu cua s.
dnichols(a,b,c,d,Ts,iu,w) hay dnichols(num,den,Ts,w) ve ra bieu o Nichols vi vector tan so
w do ngi s dung xac nh. Vector w ch nh nhng iem tan so (tnh bang rad/s) ma tai o
ap ng Nichols c tnh. Hien tng trung pho xay ra tai tan so ln hn tan so Nyquist (/Ts
rad/s).
e tao ra truc tan so vi cac khoang tan so bang nhau theo logarit ta dung lenh logspace.
Neu gi lai cac oi so ve trai cua dong lenh th:
[mag,phase,w] = dnichols(a,b,c,d,Ts)
[mag,phase,w] = dnichols(a,b,c,d,Ts,iu)
[mag,phase,w] = dnichols(a,b,c,d,Ts,iu,w)
[mag,phase,w] = dnichols(num,den,Ts)
[mag,phase,w] = dnichols(num,den,Ts,w)
khong ve ra bieu o Nichols ma tao ra ap ng tan so cua he thong di dang cac ma tran
mag, phase va w. Cac ma tran mag va phase cha ap ng bien o va pha cua he thong c xac
nh tai nhng iem tan so w. Ma tran mag va phase co so cot bang so ngo ra va moi hang ng
vi mot thanh phan trong vector w.
G(z) = C(zI A)
-1
B + D
mag() = |G(e
jT
)|
phase() = G(e
jT
)
trong o T la thi gian lay mau. Goc pha c tnh bang o va nam trong khoang 360
0
ti
0
0
.
Gia tr bien o co the chuyen ve n v decibel theo cong thc:
magdB = 20*log10(mag)
e ve li bieu o Nichols ta dung lenh ngrid.
d) V du:
Ve ap ng Nichols cua he thong co ham truyen:
31 . 0 88 . 0 36 . 1 1 . 1
5 . 1
) (
2 3 4
+ + + +
=
z z z z
z H
num = 1.5;
den = [1 1.1 1.36 0.88 0.31];
ngrid(new)
dnichols(num,den,0.05)
title(Bieu do Nichols gian doan)
va ta c bieu o Nichols cua he gian oan:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 153 - GVHD: PHAMQUANG HUY
10. Lenh NGRID
a) Cong dung:
Tao li cho o th Nichols.
b) Cu phap:
ngrid
ngrid(new)
c) Giai thch:
Lenh grid tao li cho o th Nichols. o th nay co lien he vi so phc H/(1+H), trong o H
la mot so phc bat ky. Neu H la mot iem tren ap ng tan so vong h cua he SISO th H/(1+H)
la gia tr tng ng tren ap ng tan so vong kn cua he thong.
ngrid tao ra li trong vung co bien o t 40 dB ti 40 dB va goc pha t -360
0
ti 0
0

vi cac
ng hang so mag(H/(1+H)) va angle(H/(1+H)) c ve.
ngrid ve li o th Nichols ngoai bieu o Nichols a co nh bieu o c tao ra bi lenh
nichols hoac dnichols.
ngrid(new) xoa man hnh o hoa trc khi ve li va thiet lap trang thai gi e ap ng
Nichols co the c ve bang cach dung lenh:
ngrid(new)
nichols(num,den) hay nichols(a,b,c,d,iu)
d) V du:
Ve li tren bieu o Nichols cua he thong:
60 525 282 30
600 250 18 48 4
) (
2 3 4
2 3 4
+ + + +
+ + +
=
s s s s
s s s s
s H
num = [-4 48 -18 250 600];
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 154 - GVHD: PHAMQUANG HUY
den = [1 30 282 525 60];
nichols(num,den)
title(Bieu do Nichols)
ngrid(new)
va ta c o th ap ng nh sau:
11. Lenh MARGIN
a) Cong dung:
Tnh bien d tr va pha d tr.
b) Cu phap:
[Gm,Pm,Wcp,Wcg] = margin(mag,phase,w)
[Gm,Pm,Wcp,Wcg] = margin(num,den)
[Gm,Pm,Wcp,Wcg] = margin(a,b,c,d)
c) Giai thch:
Lenh margin tnh bien d tr (gain margin), pha d tr (phase margin) va tan so cat
(crossover frequency) t d lieu ap ng tan so. Bie n d tr va pha d tr da tren he thong vong
h SISO va cho biet tnh on nh tng oi cua he thong khi he thong la he thong vong kn.
Neu bo qua cac oi so ve trai dong lenh th gian o Bode vi bien d tr va pha d tr se
c ve tren man hnh.
Bien d tr la o li can tang them e tao ra o li vong n v tai tan so ma goc pha bang
180
0
. Noi cach khac, bien d tr la 1/g neu g la o li tai tan so goc pha 180
0
. Tng t, pha d
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 155 - GVHD: PHAMQUANG HUY
tr la s khac biet gia goc pha ap ng va 180
0
khi o li la 1. Tan so ma tai o bien o la 1
c goi la tan so o li n v (unity-gain frequency) hoac tan so cat.
margin(num,den) tnh bien d tr va pha d tr cua ham truyen lien tuc:
G(s) = num/den
Tng t, margin(a,b,c,d) tnh o d tr cua he khong gian trang thai (a,b,c,d). Vi cach nay,
lenh margin ch s dung cho he lien tuc. oi vi he gian oan, ta s dung lenh dbode e tm ap
ng tan so roi goi margin.
[mag,phase,w] = dbode(a,b,c,d,Ts)
margin(mag,phase,w)
[Gm,Pm,Wcp,Wcg] = margin(mag,phase,w) se khong ve ra cac o th ap ng ma tao ra cac
ma tran bien d tr Gm, pha d tr Pm, tan so ket hp Wcp, Wcg c cho bi cac vector bien o
mag, phase va tan so w cua he thong. Cac gia tr chnh xac c tm ra bang cach dung phep noi
suy gia cac iem tan so. Goc pha c tnh bang o.
d) V du:
Tm bien d tr, pha d tr va ve gian o Bode cua he bac 2 co
n
= 1 va = 0.2
[a,b,c,d] = ord(1,0.2);
bode(a,b,c,d)
margin(a,b,c,d)
[Gm,Pm,Wcp,Wcg] = margin(a,b,c,d)
va ta c ket qua:
Gm = lnf()
Pm = 32.8599 o
Wcg = NaN (khong xac nh)
Wcp = 1.3565
Gian o Bode cua he:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 156 - GVHD: PHAMQUANG HUY
12. Lenh SIGMA
a) Cong dung:
Tm gian o Bode gia tr suy bien cua he khong gian trang thai.
b) Cu phap:
[sv,w] = sigma(a,b,c,d)
[sv,w] = sigma(a,b,c,d,inv)
[sv,w] = sigma(a,b,c,d,w)
[sv,w] = sigma(a,b,c,d,w,inv)
c) Giai thch:
Lenh sigma tnh cac gia tr suy bien cua ma tran phc C(jI-A)
-1
B+D theo ham cua tan so .
Cac gia tr suy bien la m rong cua ap ng bien o gian o Bode cua he MIMO.
Neu bo qua cac oi so ve trai cua dong lenh th sigma se ve ra gian o Bode cua gia tr suy
bien tren man hnh.
[sv,w] = sigma(a,b,c,d) ve ra gian o suy bien cua ma tran phc:
G(w) = C(jI-A)
-1
B+D
theo ham cua tan so. Truc tan so c chon t ong va phoi hp nhieu iem neu o th thay
iem nhanh.
oi vi cac ma tran vuong, sigma(a,b,c,d,inv) ve o th cac gia tr suy bien cua ma tran
phc ao:
G
-1
(w) = [C(jI-A)
-1
B+D]
-1
sigma(a,b,c,d,w) hoac sigma(a,b,c,d,w,inv) ve o th cac gia tr suy bien vi vector tan so
do ngi s dung xac nh. Vector w ch ra nhng tan so (tnh bang rad/s) ma tai o ap ng cac
gia tr suy bien c tnh.
Neu gi lai cac oi so ve trai dong lenh th:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 157 - GVHD: PHAMQUANG HUY
G(s)
G
-1
(s)
[sv,w] = sigma(a,b,c,d)
[sv,w] = sigma(a,b,c,d,inv)
[sv,w] = sigma(a,b,c,d,w)
[sv,w] = sigma(a,b,c,d,w,inv)
khong ve ra cac o th ap ng ma tao ra cac ma tran suy bien theo chieu giam dan cua bac
tng ng vi cac iem tan so trong vector w.
oi vi phep phan tch ran chac, cac gia tr suy bien cua ma tran ham truyen ac biet c
phan tch.
Ve thc hien cac lenh e at c ma tran ham truyen mong muon cua mot so khoi c
trnh bay trong bang sau:
Ma tran ham truyen S o khoi Lenh
G(j) sigma(a,b,c,d)
G
-1
(j) sigma(a,b,c,d,inv)
1+G(j)
[a,b,c,d] = parallel(a,b,c,d,[ ],[ ],[ ],eye(d))
sigma(a,b,c,d)
[a,b,c,d] = feedback([ ],[ ],[ ],eye(d),a,b,c,d)
sigma(a,b,c,d,inv)
1+G
-1
(j)
[a,b,c,d] = feedback(a,b,c,d,[ ],[ ],[ ],eye(d))
sigma(a,b,c,d)
ap ng gia tr suy bien cua he SISO tng ng vi ap ng bien o gian o Bode cua he
o.
d) V du:
Xet he bac 2 co
n
= 1 va = 0.2. Ve o th gia tr suy bien cua he thong.
[a,b,c,d] = ord(1,0.2);
margin(a,b,c,d)
title(Gia tri suy bien)
va ta c ap ng nh hnh ve:
G(s)
G(s)
G
-1
(s)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 158 - GVHD: PHAMQUANG HUY
13. Lenh DSIGMA
a) Cong dung:
Tm gian o Bode gia tr suy bien cua he khong gian trang thai.
b) Cu phap:
[sv,w]= dsigma(a,b,c,d,Ts)
[sv,w]= dsigma(a,b,c,d,Ts,inv)
[sv,w]= dsigma(a,b,c,d,Ts,w)
[sv,w]= dsigma(a,b,c,d,Ts,w,'inv')
c) Giai thch:
Lenh dsigma tnh cac gia tr suy bien cua ma tran phc C(e
jT
I-A)
-1
+B+D theo ham cua tan
so . Cac gia tr suy bien la m rong cua ap ng bien o gian o Bode cua he MIMO va co the
c dung e xac nh o ran chac cua he thong.
Neu bo qua cac oi so ve trai dong lenh th dsigma se ve ra gian o Bode cua gia tr suy
bien tren man hnh.
dsigma(a,b,c,d,Ts) ve gian o suy bien cua ma tran phc :
G(w) = C(e
jT
I-A)
-1
+B+D
theo ham cua tan so. Cac iem tan so c chon t ong trong khoang t 0 ti /Ts rad/sec
trong o /Ts rad/sec tng ng vi na tan so lay mau (tan so Nyquist). Neu o th thay oi
nhanh th can chon nhieu iem tan so hn.
oi vi cac he thong co ma tran vuong, dsigma(a,b,c,d,Ts,inv) ve o th cac gia tr suy bien
cua ma tran phc ao :
G
-1
(w) = [C(e
jT
I-A)
-1
B+D]
-1
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 159 - GVHD: PHAMQUANG HUY
G(s)
G
-1
(s)
G(s)
G(s)
G
-1
(s)
dsigma(a,b,c,d,Ts,w) hoac dsigma(a,b,c,d,Ts,inv) ve o th cac gia tr suy bien vi vector
tan so do ngi s dung xac nh. Vector w ch ra nhng tan so (tnh bang rad/sec) ma tai o ap
ng cac gia tr suy bien c tnh. Hien tng trung pho xay ra tai tan so ln hn tan so Nyquist
(/Ts rad/sec).
e tao ra vector tan so c chia eu theo logarit tan so ta dung lenh logspace.
Neu gi lai cac oi so ve trai dong lenh th :
[sv,w]= dsigma(a,b,c,d,Ts)
[sv,w]= dsigma(a,b,c,d,Ts,inv)
[sv,w]= dsigma(a,b,c,d,Ts,w)
[sv,w]= dsigma(a,b,c,d,Ts,w,inv)
khong ve ra cac o th ap ng ma tao ra cac gia tr suy bien trong sv va cac iem tan so w.
Moi hang cua ma tran sv cha cac gia tr suy bien theo chieu giam dan cua bac tng ng vi cac
iem tan so trong vector w.
oi vi phep phan tch ran chac, cac gia tr suy bien cua ma tran ham truyen ac biet c
phan tch.
Viec thc hien cac lenh e at c ma tran ham truyen mong muon cua mot so khoi c
trnh bay trong bang sau :
Ma tran ham truyen S o khoi Lenh
G(j) dsigma(a,b,c,d)
G
-1
(j) dsigma(a,b,c,d, inv)
1+ G(j)
[a,b,c,d]= parallel(a,b,c,d,[ ],[ ],[ ],eye(d))
dsigma(a,b,c,d)
[a,b,c,d]=feedback([ ],[ ],[ ],eye(d),a,b,c,d)
dsigma(a,b,c,d,inv)
1+G
-1
(j)
[a,b,c,d]= feedback(a,b,c,d,[ ],[ ],[ ],eye(d))
dsigma(a,b,c,d)
ap ng gia tr suy bien cua he SISO tng ng vi ap ng bien o gian o Bode cua he
o.
d) V du:
Xet he bac 2 co
n
= 1 va = 0.2. Ve o th gia tr suy bien cua he thong vi thi gian lay
mau Ts = 0.1
[a,b,c,d]= ord2(1,0.2);
bode(a,b,c,d)
dsigma(a,b,c,d,0.1)
title('Gia tri suy bien gian doan')
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 160 - GVHD: PHAMQUANG HUY
va ta co gian o Bode gia tr suy bien :
14. Lenh LTIFR
a) Cong dung:
ap ng tan so cua he tuyen tnh bat bien.
b) Cu phap:
ltifr(a,b,s)
c) Giai thch:
Lenh ltifr dung e m rong ap ng tan so cua he khong gian trang thai tuyen tnh bat bien.
G = Ltifr(a,b,s) tm ap ng tan so cua he thong vi mot ngo vao duy nhat :
G(s) = (sI A)
-1
B
Vector s ch ra so phc ma tai o ap ng tan so c xac nh. oi vi ap ng gian o
Bode he lien tuc, s nam tren truc ao. oi vi ap ng gian o Bode he gian oan, s nhan cac gia
tr quanh vong tron n v.
ltifr tao ra ap ng tan so di dang ma tran phc G vi so cot bang so trang thai hay so hang
cua ma tran A va co so hang la length(s).
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 161 - GVHD: PHAMQUANG HUY
CAC BAI TAP VE AP NG TAN SO
Bai 1: ham margin (bai tap nay trch t trang 11-138 sach Control System Toollbox
hd=tf([0.04798 0.0464],[1 -1.81 0.9048],0.1)
Transfer function:
0.04798 z + 0.0464
---------------------
z^2 - 1.81 z + 0.9048
Sampling time: 0.1 ; Thi gian lay mau: 0,1
[Gm,Pm,Wcg,Wcp]=margin(hd);
[Gm,Pm,Wcg,Wcp]
ans =
2.0517 13.5712 5.4374 4.3544
margin(hd)
Ket qua:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 162 - GVHD: PHAMQUANG HUY
Frequency (rad/sec)
P
h
a
s
e

(
d
e
g
)
;

M
a
g
n
i
t
u
d
e

(
d
B
)
Bode Diagrams
-80
-60
-40
-20
0
20
Gm=6.2424 dB (at 5.4374 rad/sec), Pm=13.571 deg. (at 4.3544 rad/sec)
10
1
-300
-200
-100
0
Bai 2: lenh modred (bai tap nay trch t trang 11-142 sach Control System Toollbox

65 , 99 7 , 153 2 96 , 74 3 6 , 14 4
26 36 2 11 3
) (
+ + + +
+ + +
=
s s s s
s s s
s h
h=tf([1 11 36 26],[1 14.6 74.96 153.7 99.65])
Transfer function:
s^3 + 11 s^2 + 36 s + 26
--------------------------------------------
s^4 + 14.6 s^3 + 74.96 s^2 + 153.7 s + 99.65
[hb,g]=balreal(h)
a =
x1 x2 x3 x4
x1 -3.6014 -0.82121 -0.61634 -0.058315
x2 0.82121 -0.59297 -1.0273 -0.090334
x3 -0.61634 1.0273 -5.9138 -1.1272
x4 0.058315 -0.090334 1.1272 -4.4918
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 163 - GVHD: PHAMQUANG HUY
b =
u1
x1 1.002
x2 -0.10641
x3 0.086124
x4 -0.0081117
c =
x1 x2 x3 x4
y1 1.002 0.10641 0.086124 0.0081117
d =
u1
y1 0
Continuous-time model.
g =
0.1394
0.0095
0.0006
0.0000
g'
ans =
0.1394 0.0095 0.0006 0.0000
hmdc=modred(hb,2:4,'mdc')
a =
x1
x1 -4.6552
b =
u1
x1 1.1392
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 164 - GVHD: PHAMQUANG HUY
c =
x1
y1 1.1392
d =
u1
y1 -0.017857
Continuous-time model.
hdel=modred(hb,2:4,'del')
a =
x1
x1 -3.6014
b =
u1
x1 1.002
c =
x1
y1 1.002
d =
u1
y1 0
Continuous-time model.
bode(h,'-',hmdc,'x',hdel,'*')
Ket qua:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 165 - GVHD: PHAMQUANG HUY
Frequency (rad/sec)
P
h
a
s
e

(
d
e
g
)
;

M
a
g
n
i
t
u
d
e

(
d
B
)
Bode Diagrams
-80
-60
-40
-20
0
From: U(1)
10
-1
10
0
10
1
10
2
10
3
-200
-150
-100
-50
0
T
o
:

Y
(
1
)
Bai 3: (Trang 11-16 sach Control System Toollbox)
Xem zero-pole-gain (zero-cc-o li) cua he thong sau:
sys=zpk([-10 -20.01],[-5 -9.9 -20.1],1)
Zero/pole/gain:
(s+10) (s+20.01)
----------------------
(s+5) (s+9.9) (s+20.1)

[sys,g]=balreal(sys)
a =
x1 x2 x3
x1 -4.9697 0.2399 -0.22617
x2 -0.2399 -4.2756 9.4671
x3 -0.22617 -9.4671 -25.755
b =
u1
x1 1
x2 0.024121
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 166 - GVHD: PHAMQUANG HUY
x3 0.022758
c =
x1 x2 x3
y1 1 -0.024121 0.022758
d =
u1
y1 0
Continuous-time model.
g =
0.1006
0.0001
0.0000
g'
ans =
0.1006 0.0001 0.0000
sysr=modred(sys,[2 3],'del')
a =
x1
x1 -4.9697
b =
u1
x1 1
c =
x1
y1 1
d =
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 167 - GVHD: PHAMQUANG HUY
u1
y1 0
Continuous-time model.
zpk(sysr)
Zero/pole/gain:
1.0001
--------
(s+4.97)
bode(sys,'-',sysr,'x')
Frequency (rad/sec)
P
h
a
s
e

(
d
e
g
)
;

M
a
g
n
i
t
u
d
e

(
d
B
)
Bode Diagrams
-50
-40
-30
-20
-10
From: U(1)
10
0
10
1
10
2
-100
-80
-60
-40
-20
0
T
o
:

Y
(
1
)
Bai 4: Trch t trang 55 sach Hng dan s dung MATLAB tac gia Nguyen Van Giap.
Ve bieu o nyquist cua he thong:
H(s) = (s+4)/(s
2
+ 3s 8)
num=[1 4];
den=[1 3 -8];
nyquist(num,den);
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 168 - GVHD: PHAMQUANG HUY
Real Axis
I
m
a
g
i
n
a
r
y

A
x
i
s
Nyquist Diagrams
-1 -0.9 -0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
From: U(1)
T
o
:

Y
(
1
)
Bai 5: Trch trang 11-147 sach Control System Toolbox
Ve ap ng Nichols cua he thong co ham truyen:
60 525 282 30
600 250 18 48 4
) (
2 3 4
2 3 4
+ + + +
+ + +
=
s s s s
s s s s
s H
H=tf([-4 48 -18 250 600],[1 30 282 525 60])
Transfer function:
-4 s^4 + 48 s^3 - 18 s^2 + 250 s + 600
--------------------------------------
s^4 + 30 s^3 + 282 s^2 + 525 s + 60
Nichols(H)
ngrid
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 169 - GVHD: PHAMQUANG HUY
Open-Loop Phase (deg)
O
p
e
n
-
L
o
o
p

G
a
i
n

(
d
B
)
Nichols Charts
-600 -500 -400 -300 -200 -100 0
-15
-10
-5
0
5
10
15
20
From: U(1)
T
o
:

Y
(
1
)
Bai 6: Trang 131 sach ng dung MATLAB trong ieu khien t ong tac gia Nguyen Van
Giap.
Tren gian o Nichols ve ng cong logarit bien o pha cua ham truyen he thong
k
H(s) =
S
3
+52s
2
+100s
k=438;
num=k;
den=[1 52 100 0];
w=.1:.1:10;
[mag,phase]=bode(num,den,w);
ngrid,
Ket qua:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 170 - GVHD: PHAMQUANG HUY
-350 -300 -250 -200 -150 -100 -50 0
-40
-30
-20
-10
0
10
20
30
40
Open-Loop Phase (deg)
O
p
e
n
-
L
o
o
p

G
a
i
n

(
d
B
)
6 dB
3 dB
1 dB
0.5 dB
0.25 dB
0 dB
-1 dB
-3 dB
-6 dB
-12 dB
-20 dB
-40 dB
NHOM LENH VE AP NG THI GIAN
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 171 - GVHD: PHAMQUANG HUY
(Time Response)
1. Lenh IMPULSE
a) Cong dung:
Tm ap ng xung n v.
b) Cu phap:
[y,x,t] = impulse(a,b,c,d)
[y,x,t] = impulse(a,b,c,d,iu)
[y,x,t] = impulse(a,b,c,d,iu,t)
[y,x,t] = impulse(num,den)
[y,x,t] = impulse(num,den,t)
c) Giai thch:
Lenh impulse tm ap ng xung n v cua he tuyen tnh. Neu bo qua cac oi so ben trai th
lenh impulse se ve ra ap ng xung tren man hnh.
impulse(a,b,c,d) tao ra chuoi o th ap ng xung, moi o th ng vi mot moi quan he
vao ra cua he lien tuc LTI:
.
x = Ax + Bu
y = Cx + Du
vi vector thi gian c xac nh t ong.
impulse(a,b,c,d,iu) tao ra ap ng xung t ngo vao duy nhat iu ti toan bo cac ngo ra cua he
thong vi vector thi gian c xac nh t ong. iu la ch so ngo vao cua he thong va ch ra ngo
vao nao c dung cho ap ng xung.
impulse(num,den) tao ra o th ap ng xung cua a thc ham truyen:
G(s) = num(s)/den(s)
trong o num va den cha cac he so a thc theo chieu giam dan so mu cua s.
impulse(a,b,c,d,iu,t) hay impulse(num,den,t) dung vector thi gian t do ngi s dung quy
nh. Vector t ch nh nhng thi iem ma ap ng xung c tnh va vector t phai c ch chia
thanh cac khoang eu nhau.
Neu gi cac oi so ben trai:
[y,x,t] = impulse(a,b,c,d)
[y,x,t] = impulse(a,b,c,d,iu)
[y,x,t] = impulse(a,b,c,d,iu,t)
[y,x,t] = impulse(num,den)
[y,x,t] = impulse(num,den,t)
khong ve ra cac o th ma tao ra cac ma tran ap ng trang thai va ap ng ngo ra cua he
thong va vector thi gian t. Ma tran y va x cha cac ap ng trang thai va ap ng ngo ra cua he
thong c xac nh tai nhng thi iem t. Ma tran y co so cot la so ngo ra va moi hang ng vi
mot thanh phan trong vector t. Ma tran x co so cot la so trang thai va mo i hang ng vi mot thanh
phan trong vector t.
d) V du: (Trch t trang 11-95 sach control System Toolbox)
Ve ap ng xung cua he khong gian trang thai bac 2 sau:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 172 - GVHD: PHAMQUANG HUY
u
0
1
x
x
0 8 . 0
8 . 0 5 . 0
x
x
2
1
2
.
1
.

| | | | u 0
x
x
5 . 6 9 . 1 y
2
1
+

=
% Khai bao he thong:
a = [-0.5 -0.8 ; 0.8 0];
b = [1 ; 0];
c = [1.9 6.5];
d = [0];
% Ve ap ng xung:
impulse(a,b,c,d); title(Dap ung xung) (at tieu e cho o th)
va cuoi cung ta nhan c o th ap ng xung nh sau:
2. Lenh DIMPULSE
a) Cong dung:
Tm ap ng xung n v cua he gian oan.
b) Cu phap:
[y,x] = dimpulse(a,b,c,d)
[y,x] = dimpulse(a,b,c,d,iu)
[y,x] = dimpulse(a,b,c,d,iu,n)
[y,x] = dimpulse(num,den)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 173 - GVHD: PHAMQUANG HUY
[y,x] = dimpulse(num,den,n)
c) Giai thch:
Lenh dimpulse tm ap ng xung n v cua he tuyen tnh gian oan. Neu bo qua cac oi so
ben trai th th lenh dimpulse se ve ra ap ng xung tren man hnh.
dimpulse(a,b,c,d) tao ra chuoi o th ap ng xung, moi o th ap ng vi mot moi quan he
vao ra cua he gian oan LTI:
x[n + 1] = Ax[n] + Bu[n]
y[n] = Cx[n] + Du[n]
vi so iem lay mau c xac nh t ong.
dimpulse(a,b,c,d,iu) tao ra o th ap ng xung t ngo vao duy nhat iu ti toan bo cac ngo ra
cua he thong vi so iem lay mau c xac nh t ong. iu la ch so ngo vao cua he thong va ch
ra ngo vao nao c dung cho ap ng xung.
dimpulse(num,den) tao ra o th ap ng xung cua a thc ham truyen:
G(z) = num(z)/den(z)
trong o num va den cha cac he so a thc theo chieu giam dan so mu cua z.
dimpulse(num,den,n) hay dimpulse(a,b,c,d,iu,n) dung so iem lay mau n do ngi s dung
ch nh.
Neu gi cac oi so ben trai:
[y,x] = dimpulse(a,b,c,d)
[y,x] = dimpulse(a,b,c,d,iu)
[y,x] = dimpulse(a,b,c,d,iu,n)
[y,x] = dimpulse(num,den)
[y,x] = dimpulse(num,den,n)
khong ve ra cac o th ma tao ra cac ma tran ap ng ngo ra va ap ng trang thai cua he
thong. Ma tran y va x cha cac ap ng trang thai va ngo ra cua he thong c xac nh tai
nhng iem lay mau. Ma tran y co so cot la so ngo ra. Ma tran x co so cot la so trang thai.
d) V du:
Ve ap ng xung cua he gian oan co ham truyen sau:
8 . 0 6 . 1
5 . 1 4 . 3 2
) (
2
2
+
+ +
=
z
z z
z H
num = [2 -3.4 1.5];
den = [1 -1.6 0.8];
dimpulse(num,den); title(Dap ung xung he gian doan)
va cuoi cung ta c o th ap ng xung he gian oan nh sau:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 174 - GVHD: PHAMQUANG HUY
3. Lenh INITIAL
a) Cong dung:
Tm ap ng ieu kien ban au.
b) Cu phap:
[y,x,t] = initial(a,b,c,d,x0)
[y,x,t] = initial(a,b,c,d,x0,t)
c) Giai thch:
Lenh initial dung e tm ap ng cua he tuyen tnh lien tuc ng vi ieu kien ban au cua
cac trang thai. Neu bo qua cac oi so ben trai th lenh initial se ve ra ap ng ieu kien ban au
tren man hnh.
initial(a,b,c,d,x0) ve ra o th ap ng ieu kien ban au cua tat ca cac ngo ra cua he lien tuc
LTI:
.
x = Ax + Bu
y = Cx + Du
vi vector thi gian c xac nh t ong. x0 la vector trang thai ban au.
initial(a,b,c,d,x0,t) ve ra o th ap ng ban au vi vector thi gian t do ngi s dung xac
nh. Vector t se ch ra nhng thi iem ma tai o ap ng ieu kien ban au c tnh.
Neu s dung cac oi so ve trai cua dong lenh th:
[y,x,t] = initial(a,b,c,d,x0)
[y,x,t] = initial(a,b,c,d,x0,t)
se khong ve ra cac o th ap ng ma tao ra cac ma tran ap ng trang thai x, ap ng ngo ra
y va vector thi gian t cua he thong oi vi ieu kien ban au x0. Ma tran y va x cha cac ap
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 175 - GVHD: PHAMQUANG HUY
ng ngo ra va ap ng trang thai cua he thong c tnh tai thi iem t. Ma tran y co so cot bang
so ngo ra va moi hang ng vi mot thanh phan trong vector t. Ma tran x co so cot bang so trang
thai va moi cot ng vi mo t thanh phan trong vector t.
d) V du:
Ve ap ng ieu kien ban au cua he khong gian trang thai bac 2 sau:
u
x
x
x
x

0
1
0 7814 . 0
7814 . 0 5572 . 0
2
1
2
.
1
.
| | | | u
x
x
y 0 4493 . 6 9691 . 1
2
1
+

=
vi ieu kien ban au x0 = [1 0]
% Khai bao he thong, ieu kien ban au va truc thi gian:
a = [-0.5572 -0.7814 ; 0.7814 0];
b = [1 ; 0];
c = [1.9691 6.4493];
d = [0];
x0 = [1 0];
t = 0:0.1:20;
% Ve ap ng:
initial(a,b,c,d,x0,t)
title(Dap ung dieu kien ban dau)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 176 - GVHD: PHAMQUANG HUY
4. Lenh DINITIAL
a) Cong dung:
Tm ap ng ieu kien ban au cua he gian oan.
b) Cu phap:
[y,x] = dinitial(a,b,c,d,x0)
[y,x] = dinitial(a,b,c,d,x0,n)
c) Giai thch:
Lenh dinitial dung e tm ap ng cua he tuyen tnh gian oan ng vi ieu kien ban au cua
cac trang thai. Neu bo qua cac oi so ben trai th lenh dinitial se ve ra ap ng ieu kien ban
au tren man hnh.
dinitial(a,b,c,d,x0) ve ra o th ap ng ieu kien ban au cua tat ca cac ngo ra cua he gian
oan LTI:
x[n + 1] = Ax[n] + Bu[n]
y[n] = Cx[n] + Du[n]
vi so iem lay mau c xac nh t ong. x0 la vector trang thai ban au.
dinitial(a,b,c,d,x0,n) ve ra o th ap ng ban au vi so iem lay mau n do ngi s dung
xac nh.
Neu s dung cac oi so ve trai cua dong lenh th:
[y,x] = dinitial(a,b,c,d,x0)
[y,x] = dinitial(a,b,c,d,x0,n)
se khong ve ra cac o th ap ng ma tao ra cac ma tran ap ng trang thai x, ap ng ngo ra
y cua he thong oi vi ieu kien ban au x0. Ma tran y co so cot bang so ngo ra va ma tran x co
so cot bang so trang thai.
d) V du:
Ve ap ng ieu kien ban au cua he khong gian trang thai bac 2:
u
5049 . 6
1841 . 4
] n [ x
] n [ x
0 1
2027 . 0 7497 . 0
] 1 n [ x
] 1 n [ x
2
1
2
1

+
+
| |

=
] [
] [
0 9321 . 3
2
1
n x
n x
y
vi ieu kien ban au x0 = [1 0]
a = [-0.7497 -0.2027 ; 1 0];
b = [-4.1841 ; -6.5049];
c = [3.9321 0];
d = [0];
dinitial(a,b,c,d,[1 0]);
title(Dap ung dieu kien ban dau cua he gian doan)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 177 - GVHD: PHAMQUANG HUY
5. Lenh LSIM
a) Cong dung:
Mo phong he thong lien tuc vi cac ngo vao tuy y.
b) Cu phap:
[y,c] = lsim(a,b,c,d,u,t)
[y,c] = lsim(a,b,c,d,u,t,x0)
[y,c] = lsim(num,den,u,t)
c) Giai thch:
Lenh lsim dung e mo phong he tuyen tnh lien tuc vi cac ngo vao tuy y.
Neu bo qua cac oi so ve trai cua dong lenh th lenh lsim ve ra ra o th tren man hnh.
Cho he khong gian trang thai LTI:
.
x = Ax + Bu
y = Cx + Du
lsim(a,b,c,d,u,t) ve ra o th ap ng thi gian cua he thong vi ngo vao thi gian ban au
nam trong ma tran u. Ma tran u phai co so cot bang so ngo vao u. Moi hang cua ma tran u tng
ng vi mot thi gian mi va ma tran u phai co so hang la length(t). Vector t ch ra truc thi gian
cho qua trnh mo phong va phai chia thanh cac oan bang nhau. Neu dung them oi so x0 ve
phai th lenh lsim(a,b,c,d,u,t,x0) se ch ra ieu kien ban au cua cac trang thai.
lsim(num,den,u,t) ve ra ap ng thi gian cua ham truyen a thc:
G(s) = num(s)/den(s)
trong o num va den cha cac he so a thc theo chieu giam dan so mu cua s.
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 178 - GVHD: PHAMQUANG HUY
Neu gi lai cac oi so ve trai th:
[y,c] = lsim(a,b,c,d,u,t)
[y,c] = lsim(a,b,c,d,u,t,x0)
[y,c] = lsim(num,den,u,t)
se khong ve ra cac o th ap ng ma tao ra cac ma tran y va x, trong o ma tran y la ap
ng ngo ra va ma tran x la ap ng trang thai cua he thong. Ma tran y co so cot bang so ngo ra y
va moi hang ng vi mot hang cua ma tran u. Ma tran x co so cot bang so trang thai x va moi
hang ng vi mot hang cua ma tran u.
d) V du: (Trch t trang 11-127 sach Control System Toolbox)
Mo phong va ve o th ap ng cua he thong co ham truyen:
3 2
1 5 2
) (
2
2
+ +
+ +
=
s s
s s
s H
vi chu ky song vuong la 10s.
num = [2 5 1];
den = [1 2 3];
t = 0:.1:10;
period = 4;
u = (rem(t,period)) >= period./2);
lsim(num,den,u,t); title(Dap ung cua song vuong)
va ta c o th ap ng cua he nh sau:
6. Lenh DLSIM
a) Cong dung:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 179 - GVHD: PHAMQUANG HUY
Mo phong he thong gian oan vi cac ngo vao tuy y.
b) Cu phap:
[y,c] = dlsim(a,b,c,d,u,t)
[y,c] = dlsim(a,b,c,d,u,x0)
[y,c] = dlsim(num,den,u)
c) Giai thch:
Lenh lsim dung e mo phong he tuyen tnh gian oan vi cac ngo vao tuy y.
Neu bo qua cac oi so ve trai cua dong lenh th lenh dlsim ve ra ra o th tren man hnh.
Cho he khong gian trang thai LTI:
x[n + 1] = Ax[n] + Bu[n]
y[n] = Cx[n] + Du[n]
dlsim(a,b,c,d,u) ve ra o th ap ng thi gian cua he thong vi ngo vao thi gian ban au
nam trong ma tran u. Ma tran u phai co so cot bang so ngo vao u. Moi hang cua ma tran u tng
ng vi mot thi iem mi. Neu dung them oi so x0 ve phai th lenh lsim(a,b,c,d,u,x0) se ch
ra ieu kien ban au cua cac trang thai.
lsim(num,den,u) ve ra ap ng thi gian cua ham truyen a thc:
G(z) = num(z)/den(z)
trong o num va den cha cac he so a thc theo chieu giam dan so mu cua s.
Neu gi lai cac oi so ve trai th:
[y,c] = dlsim(a,b,c,d,u)
[y,c] = dlsim(a,b,c,d,u,x0)
[y,c] = dlsim(num,den,u)
se khong ve ra cac o th ap ng ma tao ra cac ma tran y va x, trong o ma tran y la ap
ng ngo ra va ma tran x la ap ng trang thai cua he thong. Ma tran y co so cot bang so ngo ra y
va moi hang ng vi mot hang cua ma tran u. Ma tran x co so cot bang so trang thai x va moi
hang ng vi mot hang cua ma tran u.
d) V du:
Mo phong ap ng cua he thong gian oan co ham truyen:
8 . 0 6 . 1
5 . 1 4 . 3 2
) (
2
2
+
+
=
z z
z z
z H
vi 100 mau cua nhieu ngau nhien.
num = [2 -3.4 1.5];
den = [1 -1.6 0.8];
rand(nomal)
u = rand(100,1);
dlsim(num,den,u)
title(Dap ung nhieu)
va ta c o th ap ng cua he nh sau:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 180 - GVHD: PHAMQUANG HUY
7. Lenh STEP
a) Cong dung:
Tm ap ng nac n v.
b) Cu phap:
[y,x,t] = step(a,b,c,d)
[y,x,t] = step(a,b,c,d,iu)
[y,x,t] = step(a,b,c,d,iu,t)
[y,x,t] = step(num,den)
[y,x,t] = step(num,den,t)
c) Giai thch:
Lenh step tm ap ng nac n v cua he tuyen tnh lien tuc.
Neu bo qua cac oi so ve trai cua dong lenh th lenh step ve ra ap ng nac tren man hnh.
step(a,b,c,d) ve ra chuoi o th ap ng nac, moi o th tng ng vi moi quan he gia mot
ngo vao va mot ngo ra cua he lien tuc LTI:
.
x = Ax + Bu
y = Cx + Du
vi vector thi gian c xac nh t ong.
step(a,b,c,d,iu) ve ra o th ap ng nac t mot ngo vao duy nhat ti tat ca cac ngo ra cua he
thong vi vector thi gian c xac nh t ong. ai lng vo hng iu la ch so ngo vao cua he
thong va no ch ra ngo vao nao c s dung cho ap ng xung.
step(num,den) ve ra o th ap ng nac cua ham truyen a thc:
G(s) =num(s)/den(s)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 181 - GVHD: PHAMQUANG HUY
trong o num va den cha cac he so a thc theo chieu giam dan so mu cua s.
step(a,b,c,d,iu,t) hay step(num,den,t) cung ve ra ap ng nac cua he khong gian trang thai
hay ham truyen vi vector thi gian t do ngi s dung xac nh. Vector t ch ra nhng thi iem
ma tai o ap ng nac c tnh va vector t phai c chia thanh nhng oan eu nhau.
Neu gi lai cac oi so ve trai cua dong lenh th:
[y,x,t] = step(a,b,c,d)
[y,x,t] = step(a,b,c,d,iu)
[y,x,t] = step(a,b,c,d,iu,t)
[y,x,t] = step(num,den)
[y,x,t] = step(num,den,t)
khong ve ra cac o th ap ng ma tao ra cac ma tran ap ng ngo ra y va ma tran ap ng
trang thai x cuahe thong c xac nh tai nhng thi iem t. Ma tran y co so cot bang so ngo ra
va moi hang ng vi mot thanh phan trong vector t. Ma tran x co so cot bang so trang thai va moi
hang ng vi mot thanh phan trong vector t.
d) V du:
Ve o th ap ng nac cua he khong gian trang thai bac 2 sau:
u
x
x
x
x

0
1
0 7814 . 0
7814 . 0 5572 . 0
2
1
2
.
1
.
| | | | u
x
x
y 0 4493 . 6 9691 . 1
2
1
+

=
a = [-0.5572 -0.7814 ; 0.7814 0];
b = [1 ; 0];
c = [1.9691 6.4493];
d = [0];
step(a,b,c,d); title(Dap ung nac)
va ta c o th ap ng nac cua he thong nh sau:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 182 - GVHD: PHAMQUANG HUY
8. Lenh DSTEP
a) Cong dung:
Tm ap ng nac n v cua he gian oan.
b) Cu phap:
[y,x] = dstep(a,b,c,d)
[y,x] = dstep(a,b,c,d,iu)
[y,x] = dstep(a,b,c,d,iu,n)
[y,x] = dstep(num,den)
[y,x] = dstep(num,den,n)
c) Giai thch:
Lenh dstep tm ap ng nac n v cua he tuyen tnh gian oan.
Neu bo qua cac oi so ve trai cua dong lenh th lenh dstep ve ra ap ng nac tren man
hnh.
dstep(a,b,c,d) ve ra chuoi o th ap ng nac, moi o th tng ng vi moi quan he gia mot
ngo vao va mot ngo ra cua he gian oan LTI:
x[n + 1] = Ax[n] + Bu[n]
y[n] = Cx[n] + Du[n]
vi so iem lay mau c xac nh t ong.
dstep(a,b,c,d,iu) ve ra o th ap ng nac t mot ngo vao duy nhat ti tat ca cac ngo ra cua
he thong vi so iem lay mau c xac nh t ong. ai lng vo hng iu la ch so ngo vao cua
he thong va no ch ra ngo vao nao c s dung cho ap ng xung.
dstep(num,den) ve ra o th ap ng nac cua ham truyen a thc:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 183 - GVHD: PHAMQUANG HUY
G(z) =num(z)/den(z)
trong o num va den cha cac he so a thc theo chieu giam dan so mu cua s.
dstep(a,b,c,d,iu,n) hay dstep(num,den,n) cung ve ra ap ng nac cua he khong gian trang
thai hay ham truyen vi so iem lay mau do ngi s dung xac nh.
Neu gi lai cac oi so ve trai cua dong lenh th:
[y,x] = dstep(a,b,c,d)
[y,x] = dstep(a,b,c,d,iu)
[y,x] = dstep(a,b,c,d,iu)
[y,x] = dstep(num,den)
[y,x] = dstep(num,den,n)
khong ve ra cac o th ap ng ma tao ra cac ma tran ap ng ngo ra y va ma tran ap ng
trang thai x cuahe thong. Ma tran y co so cot ba ng so ngo ra. Ma tran x co so cot bang so trang
thai.
d) V du:
Ve ap ng nac cua he gian oan cua he co ham truyen nh sau:
8 . 0 6 . 1
5 . 1 4 . 3 2
) (
2
2
+
+
=
z z
z z
z H
num = [2 -3.4 1.5];
den = [1 -1.6 0.8];
dstep(num,den)
title(Dap ung nac he gian doan)
va ta c o th ap ng nac cua he nh hnh ben:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 184 - GVHD: PHAMQUANG HUY
9. Lenh LTITR
a) Cong dung:
Tm ap ng thi gian cua he tuyen tnh bat bien.
b) Cu phap:
ltitr(a,b,u)
ltitr(a,b,u,x0)
c) Giai thch:
Lenh ltitr dung e m rong ap ng thi gian cua he tuyen tnh bat bien. No mo phong cho
he khong gian trang thai gian oan:
x = ltitr(a,b,u) m rong ap ng cua he gian oan:
x[n + 1] = Ax[n] + Bu[n]
oi vi ngo vao u. Ma tran u phai co so cot bang so ngo vao u. Moi hang cua ma tran u tng
ng vi mot iem thi gian mi.
ltitr tao ra ma tran x vi so cot bang so trang thai x va co so hang la length(u).
Neu them vao ve phai dong lenh tham so x0 th ieu kien ban au se c thiet lap vi lenh
x = ltitr(a,b,u,x0)
10. Lenh FILTER
a) Cong dung:
Loc d lieu vi ap ng xung khong xac nh hay ap ng xung xac nh.
b) Cu phap:
y = filter(b,a,X)
[y,zf] = filter(b,a,X)
[y,zf] = filter(b,a,X,zi)
y = filter(b,a,X,zi,dim)
[...] = filter(b,a,X,[ ],dim)
c) Giai thch:
Lenh fiter loc d lieu tua n t s dung bo loc so cho cac ngo vao thc va phc.
y = filter(b,a,X) loc d lieu trong vector X vi bo loc c mo ta bi vector he so t so b va
vector he so mau so a. Neu a(1) khong bang 1, bo loc se chuan hoa he so loc bi a(1). Neu a(1)
bang 0 th se bao loi.
Neu X la mot ma tran, bo loc se thc hien tren cac cot cua X. Neu X la mot mang a chieu,
bo loc se thc hien theo chieu duy nhat.
[y,zf] = filter(b,a,X) tao ma tran ieu kien cuoi cung zf cua bo tre. Ngo ra zf la mot vector
cua max(size(a),size(b)) hoac mot tap hp cac vector vi moi vector la mot cot cua X.
[y,zf] = filter(b,a,X,zi) chap nhan ieu kien ban au zi va tao ra ieu kien cuoi cung cuoi
cung zf cua bo loc tre. Ngo vao zi la mot vector co kch thc length(a),length(b)) 1.
y = filter(b,a,X,zi,dim) va [...] = filter(b,a,X,[ ],dim) thc hien loc theo chieu dim.
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 185 - GVHD: PHAMQUANG HUY
CAC BAI TAP VE AP NG THI GIAN
Bai1: Lenh pade: Tnh toan sap x
Bai nay trch t trang 11-66 sach Control System Toollbox
pade(0.1,3)
0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.2
-1
-0.5
0
0.5
1
1.5
Time (secs)
A
m
p
l
i
t
u
d
e
Step response of 3rd-order Pade approximation
10
1
10
2
10
3
-1000
-800
-600
-400
-200
0
Frequency (rad/s)
P
h
a
s
e

(
d
e
g
.
)
Phase response
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 186 - GVHD: PHAMQUANG HUY
Bai 2: Trch t trang 11-24 sach Control System Toollbox
s -1
H(s) = -------------------
s
2
+ 4s +5
H=tf([1 -1],[1 4 5],'inputdelay',035)
Transfer function:
s - 1
exp(-35*s) * -------------
s^2 + 4 s + 5
Hd=c2d(H,0.1,'foh')
Transfer function:
0.04226 z^2 - 0.01093 z - 0.03954
z^(-350) * ---------------------------------
z^2 - 1.629 z + 0.6703
Sampling time: 0.1
step(H,'-',Hd,'--')
Time (sec.)
A
m
p
l
i
t
u
d
e
Step Response
0 5 10 15 20 25 30 35 40
-0.25
-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
From: U(1)
T
o
:

Y
(
1
)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 187 - GVHD: PHAMQUANG HUY
2s
2
+ 5s + 1
s
2
+ 2s + 3
Bai 3: Trang 11-127, H(s) = s - 1
s
2
+s+5
[u,t]=gensig('square',4,10,0.1);
H=[tf([2 5 1],[1 2 3]);tf([1 -1],[1 1 5])];
lsim(H,u,t)
Ket qua:
Bai tap nay c trch t trang 11-127 sach Control System Toolbox
Time (sec.)
A
m
p
l
i
t
u
d
e
Linear Simulation Results
-2
-1
0
1
2
3

T
o
:

Y
(
1
)
0 1 2 3 4 5 6 7 8 9 10
-0.6
-0.4
-0.2
0
0.2
0.4
T
o
:

Y
(
2
)
Bai 4: Dung lenh lsim, trch t trang 11-130 sach Control Systen Toollbox
Dch e: Ve ap ng khau bac 2 cua ham truyen sau:

2
= ) (s h
s
2
+ 2s +
2
= 62,83
w2=62.83^2
w2 =
3.9476e+003
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 188 - GVHD: PHAMQUANG HUY
h=tf(w2,[1 2 w2]);
t=0:0.1:5; %vector of time sample:
u=(rem(t,1)>=0.5); %square ware value :
lsim(h,u,t)
Ket qua:
Time (sec.)
A
m
p
l
i
t
u
d
e
Linear Simulation Results
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-1
-0.5
0
0.5
1
1.5
2

T
o
:

Y
(
1
)
Bai 5: Trang 11-131 sach Control Systen Toollbox
Ta lay so lieu bai 24 nhng thi gian mau la 0,1.
Chng trnh:
w2=62.83^2;
hd=c2d(h,0.1);
t=0:0.1:5; %vector of time sample:
u=(rem(t,1)>=0.5); %square ware value :
lsim(hd,u,t)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 189 - GVHD: PHAMQUANG HUY
Time (sec.)
A
m
p
l
i
t
u
d
e
Linear Simulation Results
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7

T
o
:

Y
(
1
)
Bai 6: Trang 11-132 sach Control Systen Toollbox
Cung lay so lieu 2 bai tren.
w2=62.83^2;
h=tf(w2,[1 2 w2]);
t=0:0.1:5; %vector of time sample:
u=(rem(t,1)>=0.5); %square ware value :
hd=c2d(h,0.1);
lsim(h,'b--',hd,'r-',u,t) %
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 190 - GVHD: PHAMQUANG HUY
Time (sec.)
A
m
p
l
i
t
u
d
e
Linear Simulation Results
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-1
-0.5
0
0.5
1
1.5
2

T
o
:

Y
(
1
)
Bai 7: Trch t trang 46 sach ng dung matlab trong ieu khien t ong
Phng trnh bien trang thai cua he thong tuyen tnh bat bien theo thi gian la:
Chng trnh c viet trong file.m:
%function [yout,x] = lsim(A, B, C, D, U, t, x0)
%Phuong trinh bien trang thai cua mot he thong tuyen tinh
% bat bien theo thoi gian la:
% .
% x1
% . 0 1 0 x1 1
% {x2} = { 0 0 1 } { x2 } + {1} r(t)
% . -6 -11 -6 x3 1
% x3
% 1
% y=[1 1 0]x, x(0)= 0.5
% -0.5
% Xac dinh x(t),y(t) khi r(t) la ham bac don vi
hold on
grid on
A=[0 1 0;0 0 1;-6 -13 -6];
B=[1;1;1];%xac dinh vi ban dau va hinh dang cua do thi x1,y,x2,x3
C=[1 1 0];
D=0;
x0=[1 .5 -.5]; %vecto hang dieu kien ban dau
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 191 - GVHD: PHAMQUANG HUY
t=0:.05:8; %buoc nhay
U=ones(1,length(t));%tao vecto hang u(t)
[x,y]=lsim(A,B,C,D,U,t,x0);
plot(t,x,t,y)
title('BAI GIAI BT15')
xlabel('Thoi gian-giay')
text(3.8,1.8,'y'),text(3.8,2.6,'x1');%Canh vi tri cua y va x1 tren do thi
text(3.8,-0.6,'x2'),text(3.8,-1.4,'x3')%Canh vi tri cua x2 va x3 tren do thi
Bai
9:
trch
t
trang
48
sach
tac
gia
Nguy
en
Van
Giap.
Cung
vi
yeu
cau
nh
bai
28, nhng r(t)=sin(2t).
Chng trnh soan trong file.m:
%function [yout,x] = lsim(A, B, C, D, U, t, x0)
%BT16:Ve do thi y(t),x(t) cua bai BT15 neu r(t)=sin(2pit)
A=[0 1 0;0 0 1;-6 -11 -6];
B=[1;1;1];C=[1 1 0];D=0;
x0=[1 .5 -.5]; %vecto hang dieu kien ban dau
t=0:.05:4; %buoc nhay
r=sin(2*pi*t);
[y,x]=lsim(A,B,C,D,r,t,x0);
plot(t,x,t,y)
title('BAI GIAI BT16')
xlabel('Thoi gian-giay')
0 1 2 3 4 5 6 7 8
-2
-1
0
1
2
3
4
BAI GIAI BT15
Thoi gian-giay
y
x1
x2
x3
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 192 - GVHD: PHAMQUANG HUY
text(3.8, 1.8,'y'),text(3.8, 2.6,'x1')
text(3.8, -8,'x2'),text(3.8, -1.4,'x3')
0 0.5 1 1.5 2 2.5 3 3.5 4
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
BAI GIAI BT16
Thoi gian-giay
y
x1
x2
x3
ai
Bai 10: Xet ham truyen sau:

25 s 8 s
10 s
) s ( G
2
+ +
+
=
e tnh ap ng bc cua he thong nay ta dung cau truc nh sau:
[out,state,tt]=step([1 10],[1 8 25])
Gia s ta muon phan tch mot ap ng bc cua he thong thay oi, vi zero cua ham truyen
thay oi nhng o li dc (dc gain) cua he thong khong oi, e gi lai cho he thong cung mau va
thay oi he so cua so ha ng au trong a thc cua t,tc la he so cua s, v vay ma dc gain la hang
so va zero thay oi.
V du : he thong nh v du tren nhng so hang ban au cua a thc t so thay oi thanh (-4,-
2,-1,0,1,2,4)
Ta thc hien trong ca so lenh cua matlab nh sau:
coef=[-4 -2 -1 0 1 2 4];
den=[1 8 25];
[y,x,t]=step([coef' 10*ones(length(coef),1)],den);
mesh(coef,t,y)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 193 - GVHD: PHAMQUANG HUY
Ket qua nh hnh:
Hnh 3.7: So sanh gia cac ap ng step
Bai 11: ap ng xung (impulse)
V du he thong co ham truyen sau:

25 s 2 s
10 s
) s ( G
2
+ +
+
=
Ve ap ng xung cua he thong:
impulse([1 10],[1 2 25])
Gia s ta muon phan tch ap ng xung thay oi nh the nao khi zero cua ham truyen thay oi,
khong thay oi dc gain cua he thong. giong nh v du phan trc ta co :
coef=[-4 -2 -1 0 1 2 4];
den=[1 2 25];
impulse([coef' 10*ones(length(coef),1)],den);
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 194 - GVHD: PHAMQUANG HUY
Ket qua nh hnh sau:
Bai 12: Trch t trang 716 sach The Student Edition of MATLAB
Dch e: Thiet ke 1 khau gom 10 bo loc cua dai bang truyen ngang co tan so t 100 en 200
Hz va ve ap ng xung cua no:
n=5;wn=[100 200]/500;
[b,a]=butter(n,wn);
[y,t]=impz(b,a,101);
stem(t,y)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 195 - GVHD: PHAMQUANG HUY
0 10 20 30 40 50 60 70 80 90 100
-0.25
-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
0.2
Bai 13: ap ng tng ngo vao
Mot van e tong quat hn la ta co the tnh c tn hieu ngo ra cua he thong LTI vi mot tnh
hieu ngo vao khong ong nhat.
V du nh he thong bac nhat sau:

x y
u x x
.
=
+ =
He thong nay b tac ong vi mot tn hieu ngo vao hnh sin co tan so la 1Hz, tn hieu ngo ra thu
c bi cau truc:
>> freq=1; t=0:0.05:10;
>> u=sin(2*pi*freq*t); lsim(-1,1,1,0,u,t)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 196 - GVHD: PHAMQUANG HUY
Ket qua la hnh sau:
Hnh : ap ng tng ngo vao
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 197 - GVHD: PHAMQUANG HUY
VE GIAN O BODE, NyQuist, Nichols
LY THUYET:
Gian o Bode gom hai o th: o th logarith bien o cua ham truyen va goc pha theo
logarith tan so. (mot n v truc hoanh goi la mot decade).
Bien o : |G(j)|
dB
= 20 log
10
|G(j)| (2.22)
Pha : = G(j) (hay arg G(j)) (2.23)
Gian o Bode cua cac khau c ban:
* Khau khuech ai:
Ham truyen at G(s) = K
Gian o Bode L() = 20 lgM() = 20 lgK la 1 ng thang song song vi truc hoanh.
* Khau quan tnh bac 1:
Ham truyen at G(s) =
1 Ts
K
+
Bieu o Bode L() = 20 lgM() = 20 lgK 20lg 1 T
2 2
+ co o doc giam
20dB/decade
* Khau vi phan bac 1:
Ham truyen at G(s) = K(Ts + 1)
Gian o Bode L() = 20 lgM() = 20 lgK + 20lg 1 T
2 2
+ co o doc tang 20dB/decade
* Khau tch phan:
Ham truyen at G(s) =
s
K
Gian o Bode L() = 20 lgM() = 20 lgK 20lg
* Khau bac 2:
Ham truyen at G(s) =
2 2
2
2
n n
n
s s

+ +
Gian o Bode L() = -20lg ( )
2 2 2
2
2 2
4 1 t t +
BAI TAP
Bai 1:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 198 - GVHD: PHAMQUANG HUY
Ve gian o Bode he thong hoi tiep n v cua ham truyen vong h sau:
G(s) =
) s 1 . 0 1 ( s
10
+

num = 10;
den = [0.1 1 0];
bode(num,den)
Ket qua:
Frequency (rad/sec)
P
h
a
s
e

(
d
e
g
)
;

M
a
g
n
i
t
u
d
e

(
d
B
)
Bode Di agrams
-40
-20
0
20
40

10
-1
10
0
10
1
10
2
-160
-140
-120
-100

He thong gom 1 khau khuech ai bang 10, mot khau tch phan va mot khau quan tnh bac
1
Tan so gay: 10.
' G(jw)'
dB
= 20dB 20log
Tai tan so = 1rad/sec ' G(jw)'
dB
= 20dB va o doc 20dB/decade (do khau tch phan).
o doc 20dB/decade tiep tuc cho en khi gap tan so cat = 10rad/sec, tai tan so nay ta cong
them 20dB/decade (do khau quan tnh bac nhat) va tao ra o doc -40dB/dec.
Bai 2:
G(s) =
) 1000 )( 10 )( 1 (
) 100 ( 10
5
+ + +
+
s s s
s
num = 100000*[1 100];
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 199 - GVHD: PHAMQUANG HUY
den = [1 1011 11010 10000];
bode(num,den)
Ket qua:
Frequency (rad/sec)
P
h
a
s
e

(
d
e
g
)
;

M
a
g
n
i
t
u
d
e

(
d
B
)
Bode Di agrams
-50
0
50

10
-1
10
0
10
1
10
2
10
3
10
4
-150
-100
-50

He thong gom mot khau khuech ai 10
5
, mot khau vi phan bac nhat va 3 khau quan tnh
bac 1.
Tan so gay: 1,10,100,1000.
' G(jw)'
dB'w = 0
= 60dB
Tai tan so gay = 1rad/sec co o li 60dB va o doc 20dB/decade (v khau quan tnh
bac 1). o doc 20dB/decade c tiep tuc en khi gap tan so gay = 10rad/sec tai ay ta cong
them -20dB/decade(v khau quan tnh bac 1), tao ra o doc 40dB/dec. o doc - 20dB tan so
= 100rad/dec (do khau vi phan bac 1). Tai tan so gay = 100rad/sec tang 20dB (v khau vi
phan bac 1). Tao ra o doc co o doc -20dB.
Tai tan so gay = 1000rad/sec giam 20dB (v khau quan tnh bac 1). Tao ra o doc - 40dB.
Bai 3:
G(s) =
2
) s 1 . 0 1 ( s
10
+
num = 10;
den = [0.01 0.2 1 0 ];
bode(num,den)
Ket qua:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 200 - GVHD: PHAMQUANG HUY
Frequency (rad/sec)
P
h
a
s
e

(
d
e
g
)
;

M
a
g
n
i
t
u
d
e

(
d
B
)
Bode Di agrams
-60
-40
-20
0
20
40

10
-1
10
0
10
1
10
2
-250
-200
-150
-100

He thong gom mot khau khuech ai 10, mot khau tch phan va 1 thanh phan cc kep.
Tan so gay: 10.
' G(jw)'
dB
= 20dB 20log
Tan so gay nho nhat = 0.1 rad/sec tai tan so nay co o li 40dB va o doc 20dB (do
khau tch phan). o doc nay tiep tuc cho ti tan so gay kep = 10. tan so nay se giam
40dB/decade, tao ra o doc 60dB/dec.
Bai 4:
G(s) =
) 100 s )( 1 s ( s
) 10 s ( 10
2
+ +
+
num = 100*[1 10];
den = [1 101 100 0];
bode(num,den)
Ket qua:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 201 - GVHD: PHAMQUANG HUY
Frequency (rad/sec)
P
h
a
s
e

(
d
e
g
)
;

M
a
g
n
i
t
u
d
e

(
d
B
)
Bode Di agrams
-50
0
50

10
-2
10
-1
10
0
10
1
10
2
10
3
-160
-140
-120
-100

He thong gom mot khau khuech ai 100, mot khau tch phan va 2 khau quan tnh bac 1, 1
khau vi phan.
Tan so gay: 1,10,100
' G(jw)'
dB'w = 0
= 20log10 20log
Ta ch xet trc tan so gay nho nhat 1decade. Tai tan so gay = 0.1rad/sec co o li
40dB va o doc 20dB/dec, o doc 20dB/dec tiep tuc cho en khi gap tan so gay = 1rad/sec,
ta cong them 20dB/dec (v khau quan tnh bac 1) va tao ra o doc 40dB/dec. Tai tan so =10
se tang 20dB/dec (v khau vi phan) tao ra o doc 20dB/dec, o doc 20db/dec c tiep tuc
cho en khi gap tan so gay = 100rad/sec se giam 20dB/dec (v khau quan tnh bac 1) se tao o
doc 40dB/decade.
Bai 5: Bai nay trch t trang 11-21 sach Control System Toollbox
Ve gian o bode cua he thong hoi tiep SISO co ham sau:
S
2
+01.s+7.5
H(s) = -----------------------
S
2
+0.12s
3
+9s
2
g=tf([1 0.1 7.5],[1 0.12 9 0 0]);
bode(g)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 202 - GVHD: PHAMQUANG HUY
Frequency (rad/sec)
P
h
a
s
e

(
d
e
g
)
;

M
a
g
n
i
t
u
d
e

(
d
B
)
Bode Diagrams
-40
-20
0
20
40
From: U(1)
10
-1
10
0
10
1
-200
-150
-100
-50
0
T
o
:

Y
(
1
)
Bai 6: Trang 11-153 sach Control System Toolbox
Ve gian o bode cua ham ri rac sau, vi thi gian lay mau la: 0,1.
z
3
-2.841z
2
+2.875z-1.004
H(z) = ----------------------------------
z
3
+2.417z
2
+2.003z-0.5488
H=tf([1 -2.841 2.875 -1.004],[1 -2.417 2.003 -0.5488],0.1);
norm(H)
ans =
1.2438
[ninf,fpeak]=norm(H,inf)
ninf =
2.5488
fpeak =
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 203 - GVHD: PHAMQUANG HUY
3.0844
bode(H)
Frequency (rad/sec)
P
h
a
s
e

(
d
e
g
)
;

M
a
g
n
i
t
u
d
e

(
d
B
)
Bode Diagrams
-5
0
5
10
From: U(1)
10
0
10
1
-400
-300
-200
-100
0
100
T
o
:

Y
(
1
)
20*log(ninf)
ans =
18.7127
Bai 7: Trch t trang 5-18 sach Control System Toolbox
Bai nay cho ta xem cong dung cua lenh chia truc subplot
h=tf([4 8.4 30.8 60],[1 4.12 17.4 30.8 60]);
subplot(121)
Ket qua:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 204 - GVHD: PHAMQUANG HUY
h=tf([4 8.4 30.8 60],[1 4.12 17.4 30.8 60]);
subplot(121)
bode(h)
Ket qua:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 205 - GVHD: PHAMQUANG HUY
h=tf([4 8.4 30.8 60],[1 4.12 17.4 30.8 60]);
subplot(222)
bode(h)
Ket qua:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 206 - GVHD: PHAMQUANG HUY
h=tf([4 8.4 30.8 60],[1 4.12 17.4 30.8 60]);
subplot(121)
bode(h)
subplot(222)
bode(h)
subplot(224)
bode(h)
Ket qua:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 207 - GVHD: PHAMQUANG HUY
Bieu o Nichols
Ly thuyet:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 208 - GVHD: PHAMQUANG HUY
Cong dung: e xac nh o on nh va ap ng tan so vong kn cua he thong hoi tiep ta
s dung bieu o Nichols. S on nh c anh gia t ng cong ve moi quan he cua o
li theo ac tnh pha cua ham truyen vong h. ong thi ap ng tan so vong kn cua he
thong cung c xac nh bang cach s dung ng cong bien o va o di pha vong kn
khong oi phu len ng cong bien o pha vong h.
Cu phap:
[mod,phase,puls]= nichols(A,B,C,D);
[mod,phase,puls]= nichols(A,B,C,D,ui);
[mod,phase]= nichols(A,B,C,D,ui,w);
[mod,phase,puls]= nichols(num,den);
[mod,phase]= nichols(num,den,w);
Nhng cau truc tren cho o ln la nhng gia tr t nhien, pha la o va vect cua diem tan so la
rad/s. S ton tai cua iem tan so ma ap ng tan so c nh gia bang vect w, va ui la bien
khai bao vi he thong nhieu ngo vao.
Chu y:
+ khi s dung lenh nichols vi cau truc khong co bien ngo ra th ta c bieu o nichols.
+ lenh nichols luon luon cho pha trong khoang [-360
0
,0
0
]
Bai 8: cho he thong co ham truyen sau:

( )
3
2
1 s s
1 s 7 s
30 ) s ( G
+
+ +
=
Cac bc thc hien:
num=30*[1 7 1];
den=[poly([-1 -1 -1]) 0];
hold on, plot(-180,0,'*r'), hold on;
nichols(num,den)
Tra ve bieu o nichols vi iem ti han critical point
(-180
0
,0) c bieu dien nh hnh sau:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 209 - GVHD: PHAMQUANG HUY
Hnh: Bieu o Nichols
DANG BAI TAP VE BIEU O NYQUYST VA KHAO SAT ON NH
DUNG GIAN O BODE
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 210 - GVHD: PHAMQUANG HUY
LY THUYET:
He thong on nh trang thai h, se on nh trang thai kn neu bieu o Nyquist
khong bao iem (-1+i0) tren mat phang phc.
He thong khong on nh trang thai h, se on nh trang thai kn neu bieu o
Nyquist bao iem (-1+i0)p lan ngc chieu kim ong ho (p la so cc GH nam phai mat
phang phc).
BAI TAP:
T dau nhac cua ca so MATLAB, ta nhap:
num = [nhap cac he so cua t so theo chieu giam dan cu a so mu].
den = [nhap cac he so cua mau so theo chieu giam dan cua so mu].
nyquist(num,den)
Bai 9:
GH(s) =
st 1
k

(vi k =10, t =1)


num = 10;
den = [-1 1];
nyquist(num,den)
Ket qua:
Real Axi s
I
m
a
g
i
n
a
r
y

A
x
i
s
Nyqui st Di agrams
0 2 4 6 8 10
-5
-4
-3
-2
-1
0
1
2
3
4
5

Nhan xet: ham truyen vong h co 1 cc nam ben phai mat phang phc. Bieu o Nyquist khong
bao iem A (-1+j0).
iem 1 ky hieu (+) nam tren truc thc am (Real Axis), iem 0 nam tren truc ao
(Imaginary Axis).
(A)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 211 - GVHD: PHAMQUANG HUY
Ket luan: he khong on nh.
* Dung lenh margin e tm bien d tr va pha d tr.
T dau nhac cua ca so lenh MATLAB ta dung lenh margin:
num = 10;
den = [-1 1];
margin(num,den);
Frequency (rad/sec)
P
h
a
s
e

(
d
e
g
)
;

M
a
g
n
i
t
u
d
e

(
d
B
)
Bode Di agrams
0
5
10
15
20
Gm = 0 dB, Pm = 0 (unstabl e cl osed l oop)
10
0
20
40
60
80

Ket luan:
o d tr bien (Gm = 0 dB).
o d tr pha (Pm = 0).
Warning: Closed loop is unstable (he vong kn khong on nh).
Bai 10: Cho ham ttuyen:
GH(s) =
( ) st 1 s
k

(k = 10, t = 1)
num = 10;
den = [-1 1 0];
nyquist(num,den)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 212 - GVHD: PHAMQUANG HUY
Real Axi s
I
m
a
g
i
n
a
r
y

A
x
i
s
Nyqui st Di agrams
0 2 4 6 8 10
-1000
-800
-600
-400
-200
0
200
400
600
800
1000

Nhan xet: ham truyen vong h co 1 cc nam ben phai mat phang phc va 1 cc nam tai goc toa
o. Bieu o Nyquist khong bao iem A (-1+j0).
iem 1 ky hieu (+) nam tren truc thc am (Real Axis) , iem 0 nam tren truc ao (Imaginary
Axis).
Ket luan: he khong on nh.
* Dung lenh margin e tm bien d tr va pha d tr.
T dau nhac cua ca so lenh MATLAB ta dung lenh margin:
num = 10;
den = [-1 1 0];
margin(num,den)
(A)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 213 - GVHD: PHAMQUANG HUY

Frequency (rad/sec)
P
h
a
s
e

(
d
e
g
)
;

M
a
g
n
i
t
u
d
e

(
d
B
)
Bode Di agrams
-20
0
20
40
60
Gm = 0 dB, Pm = 0 (unstabl e cl osed l oop)
10
-1
10
0
-80
-60
-40
-20

Ket luan:
o d tr bien (Gm = 0 dB).
o d tr pha (Pm = 0).
Warning: Closed loop is unstable (he vong kn khong on nh).
Bai 11: Cho he thong sau
GH(s) =
( )( ) 1 s t 1 s t
k
2 1
+ +
(k =10, t
1
= 1, t
2
= 2)
num = 10;
den = [2 3 1];
nyquist(num,den)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 214 - GVHD: PHAMQUANG HUY
Real Axi s
I
m
a
g
i
n
a
r
y

A
x
i
s
Nyqui st Di agrams
0 2 4 6 8 10
-6
-4
-2
0
2
4
6

Nhan xet: ham truyen vong h co 2 cc nam ben trai mat phang phc. Bieu o Nyquist khong
bao iem A (-1+j0).
iem 1 ky hieu (+) nam tren truc thc am (Real Axis) , iem 0 nam tren truc ao
(Imaginary Axis).
Ket luan: he thong on nh.
* Dung lenh margin e tm bien d tr va pha d tr.
T dau nhac cua ca so MATLAB dung lenh margin.
num = 10;
den = [2 3 1];
margin(num,den)
(A)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 215 - GVHD: PHAMQUANG HUY
Frequency (rad/sec)
P
h
a
s
e

(
d
e
g
)
;

M
a
g
n
i
t
u
d
e

(
d
B
)
Bode Di agrams
-20
-10
0
10
20
Gm = Inf, Pm=38.94 deg. (at 2.095 rad/sec)
10
0
-150
-100
-50

Ket luan: he thong on nh.
o d tr bien (Gm = ).
o d tr pha (Pm = 38.94), tai tan so cat bien 2.095 rad/sec.
Bai 12: Cho he thong co ham truyen sau:
GH(s) =
( )( ) 1 s t 1 s t s
k
2 1
+ +
(k = 10 t
1
=1, t
2
=2)
num = 10;
den = [2 3 1 0];
nyquist(num,den)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 216 - GVHD: PHAMQUANG HUY
Real Axi s
I
m
a
g
i
n
a
r
y

A
x
i
s
Nyqui st Di agrams
-30 -25 -20 -15 -10 -5
-1000
-800
-600
-400
-200
0
200
400
600
800
1000

Nhan xet: ham truyen vong h co 2 cc nam ben trai mat phang phc va 1 cc zero. Bieu o
Nyquist bao iem A(-1+j0).
iem 1 ky hieu (+) nam tren truc thc am (Real Axis) , iem 0 nam tren truc ao
(Imaginary Axis).
Ket luan: he khong on nh.
* Dung lenh margin e tm bien d tr va pha d tr.
T dau nhac cua ca so MATLAB ta dung lenh margin e kiem chng
lai he:
num = 10;
den = [2 3 1 0];
margin(num,den)
(A)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 217 - GVHD: PHAMQUANG HUY
Frequency (rad/sec)
P
h
a
s
e

(
d
e
g
)
;

M
a
g
n
i
t
u
d
e

(
d
B
)
Bode Di agrams
-40
-20
0
20
40
60
Gm = 0 dB, Pm = 0 (unstabl e cl osed l oop)
10
-1
10
0
-250
-200
-150
-100

Ket luan: he thong khong on nh.
o d tr bien (Gm = 0 dB).
o d tr pha (Pm = 0)
Bai 12:
GH(s) =
( )( )( ) 1 s t 1 s t 1 s t s
k
3 2 1
+ + +
( t
1
=1, t
2
= 2, t
3
= 3, k = 10)
num = 10;
den = [6 11 6 1 0];
nyquist(num,den)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 218 - GVHD: PHAMQUANG HUY
Real Axi s
I
m
a
g
i
n
a
r
y

A
x
i
s
Nyqui st Di agrams
-60 -50 -40 -30 -20 -10 0
-1000
-800
-600
-400
-200
0
200
400
600
800
1000

Nhan xet: ham truyen vong h co 3 cc nam ben trai mat phang phc va 1 cc zero. Bieu o
Nyquist bao iem A (-1+i0).
iem 1 ky hieu (+) nam tren truc thc am (Real Axis) , iem 0 nam tren truc ao
(Imaginary Axis).
Ket luan: he khong on nh.
* Dung lenh margin e tm bien d tr va pha d tr.
T dau nhac cua ca so MATLAB, dung lenh margin e kiem chng lai
he:
num = 10;
den = [6 11 6 1 0];
margin(num,den)
(A)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 219 - GVHD: PHAMQUANG HUY
Frequency (rad/sec)
P
h
a
s
e

(
d
e
g
)
;

M
a
g
n
i
t
u
d
e

(
d
B
)
Bode Di agrams
-50
0
50
Gm = 0 dB, Pm = 0 (unstabl e cl osed l oop)
10
-2
10
-1
10
0
-300
-200
-100

Ket luan: he thong khong on nh.
o d tr bien (Gm = 0 dB).
o d tr pha (Pm = 0).
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 220 - GVHD: PHAMQUANG HUY
NHOM LENH VE QUY AO NGHIEM
(Roots Locus)
1. Lenh PZMAP
a) Cong dung:
Ve bieu o cc-zero cua he thong.
b) Cu phap:
[p,z]= pzmap(num,den)
[p,z]= pzmap(a,b,c,d)
[p,z]= pzmap(a,b,c,d)
c) Giai thch:
Lenh pzmap ve bieu o cc-zero cua he LTI. oi vi he SISO th cac cc va zero cua
hamtruyen c ve.
Neu bo qua cac oi so ngo ra th lenh pzmap se ve ra bieu o cc-zero tren man hnh.
pzmap la phng tien tm ra cac cc va zero tuyen at cua he MIMO.
pzmap(a,b,c,d) ve cac cc va zero cua he khong gian trang thai trong mat phang phc. oi
vi cac he thong MIMO, lenh se ve tat ca cac zero truyen at t tat ca cac ngo vao ti tat ca cac
ngo ra. Trong mat phang phc, cac cc c bieu dien bang dau con cac zero c bieu dien
bang dau o.
pzmap(num,den) ve cac cc va zero cua ham truyen trong mat phang phc. Vector num va
den cha cac he so t so va mau so theo chieu giam dan so mu cua s.
pzmap(p,z) ve cac cc va zero trong mat phang phc. Vector cot p cha toa o cac cc va
vector cot z cha toa o cac zero trong mat phang phc. Lenh nay ve cac cc va zero a c
tnh san trong mat phang phc.
Neu gi lai cac oi so ngo ra th :
[p,z]= pzmap(num,den)
[p,z]= pzmap(a,b,c,d)
[p,z]= pzmap(a,b,c,d)
tao ra cac ma tran p va z trong o p cha cac cc con z cha cac zero.
d) V du: (Trch trang 11-174 sach Control system Toolbox)
Ve cac cc va zero cua he lien tuc co ham truyen :
3 2
1 5 2
) (
2
2
+ +
+ +
=
s s
s s
s H
num = [2 5 1];
den = [1 2 3];
pzmap(num,den)
title(Bieu do cuc-zero)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 221 - GVHD: PHAMQUANG HUY
2. Lenh RLOCFIND
a) Cong dung:
Tm o li quy ao nghiem vi tap hp nghiem cho trc.
b) Cu phap:
[k,poles]= rlocfind(a,b,c,d)
[k,poles]= rlocfind(num,den)
[k,poles]= rlocfind(a,b,c,d,p)
[k,poles]= rlocfind(num,den,p)
c) Giai thch:
Lenh rlocfind tao ra o li quy ao nghiem ket hp vi cac cc tren quyao nghiem. Lenh
rlocfind c dung cho he SISO lien tuc va gian oan.
[k,poles]= rlocfind(a,b,c,d) tao ra dau x trong ca so o hoa ma ta dung e chon mot iem
tren quy ao nghiem co san. o li cua iem nay c tao ra trong k va cac cc ng vi o li
nay nam trong poles. e s dung lenh nay th quy ao nghiem phai co san trong ca so o hoa.
[k,poles]= rlocfind(num,den) tao ra dau x trong ca so o hoa ma ta dung e chon mot iem
tren quy ao nghiem cua he thong co ham truyen G = num/den trong o co num va den cha cac
he so a thc theo chieu giam dan so mu cua s hoac z.
[k,poles]= rlocfind(a,b,c,d,p) hoac [k,poles]= rlocfind(num,den,p) tao ra vector o li k va
vector cac cc ket hp pole vi moi thanh phan trong moi vector ng vi moi nghiem trong p.
d) V du: (Trch t trang 11-180 sach Control System Toolbox)
Xac nh o li hoi tiep e cac cc vong kn cua he thong co he so tat dan = 0.707 va co
ham truyen :
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 222 - GVHD: PHAMQUANG HUY
3 2
1 5 2
) (
2
2
+ +
+ +
=
s s
s s
s H
num = [2 5 1];
den = [1 2 3];
% Ve quy ao nghiem:
rlocus(num,den);title(Do loi quy dao nghiem);
% Tm o li tai iem c chon:
rlocfind(num,den);
Sau khi nhap xong lenh, tren man hnh cua Matlab se xuat hien dong ch:
Select a point in the graphics window
va tren hnh ve co thc e ta keo chuot va chon iem
ta co quy ao nghiem:
3. Lenh RLOCUS
a) Cong dung:
Tm quy ao nghiem Evans.
b) Cu phap:
r = rlocus(num,den)
r = rlocus(num,den,k)
r = rlocus(a,b,c,d)
r = rlocus(a,b,c,d,k)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 223 - GVHD: PHAMQUANG HUY
c) Giai thch:
Lenh rlocus tm quy ao nghiem Evans cua he SISO. Quy ao nghiem c dung e nghien
cu anh hng cua viec thay oi o li hoi tiep len v tr cc cua he thong, cung cap cac thong tin
ve ap ng thi gian va ap ng tan so. oi vi oi tng ieu khien co ham truyen G(s) va khau
bo chnh hoi tiep k*f(s), ham truyen vong kn la :
) (
) (
) ( ) ( 1
) (
) (
s q
s g
s f s kg
s g
s h =
+
=
Neu bo qua cac oi so ngo ra th lenh rlocus se ve ra quy ao tren man hnh. Lenh rlocus
dung cho ca he lien tuc va gian oan.
r = rlocus(num,den) ve quy ao nghiem cua ham truyen :
q(s) = 1 + k
) (
) (
s den
s num
= 0
vi vector o li k c xac nh t ong. Vector num va den ch ra he t so va mau so theo
chieu giam dan so cua s hoac z.
) ( ...... ) 2 ( ) 1 (
) ( ...... ) 2 ( ) 1 (
) (
) (
2 1
2 1
nd den s den s den
nn num s num s num
s den
s num
nd nd
nn nn
+ + +
+ + +
=


r = rlocus(a,b,c,d) ve ra quy ao nghiem cua he khong gian trang tai SISO lien tuc va gian
oan vi vector o li c xac nh t ong
r = rlocus(num,den,k) hoac r = rlocus(a,b,c,d,k) ve ra quy ao nghiem vi vector o li k do
ngi s dung xac nh. Vector k cha cac gia tr va o li ma nghiem he vong kn c tnh.
Neu s dung cac oi so ngo ra th :
[r,k] = rlocus(num,den)
[r,k] = rlocus(num,den,k)
[r,k] = rlocus(a,b,c,d)
[r,k] = rlocus(a,b,c,d,k)
tao ra ma tran ngo ra cha cac nghiem va vector o li k. Ma tran r co length(k) hang va
(length(den) 1) cot, ngo ra cha v tr cac nghiem phc. Moi hang trong ma tran tng ng vi
mot o li trong vector k. Quy ao nghiem co the c ve bang lenh plot(r,x).
d) V du: (Trch t trang 11-183 sach Control System Toolbox)
Tm va ve quy ao nghiem cua he thong co ham truyen :
3 2
1 5 2
) (
2
2
+ +
+ +
=
s s
s s
s H
% Xac nh ham truyen :
num = [2 5 1];
den = [1 2 3];
% Ve quy ao nghiem :
rlocus(num,den)
title(Quy dao nghiem)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 224 - GVHD: PHAMQUANG HUY
4. Lenh SGRID
a) Cong dung:
Tao li cho quy ao nghiem va bieu o cc-zero lien tuc.
b) Cu phap:
sgrid
sgrid(new)
sgrid(z,wn)
sgrid(z,wn,new)
c) Giai thch:
Lenh sgrid tao li cho quy ao nghiem va bieu o cc-zero lien tuc trong mat phang s.
ng li ve la cac ng hang so t so tat dan () va tan so t nhien (
n
). ng t so tat dan
c ve t 0 ti 1 theo tng nac la 0.1.
sgrid(new) xoa man hnh o hoa trc khi ve va thiet lap trang thai hold on e quy ao
nghiem hay bieu o cc-zero c ve len li bang cac lenh :
sgrid(new)
rlocus(num,den) hoac pzmap(num,den)
sgrid(z,wn) ve cac ng hang so t le tat dan c ch nh trong vector z va ve ng tan
so t nhien c ch nh trong vector wn.
sgrid(z,wn,new) xoa man hnh o hoa trc khi ve cac ng t so tat dan va tan so t
nhien c ch nh trong vector z va wn. Trang thai hold on c thiet lap.
d) V du: Trch t trang 11-200 sach Control System Toolbox
Ve li trong mat phang s tren quy ao nghiem cua he thong co ham truyen :
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 225 - GVHD: PHAMQUANG HUY
num = [2 5 1]; % ta co the thay oi 2 dong num=, den= thanh dong lenh sau:
den = [1 2 3]; % H(s)=tf([2 5 1],[1 2 3]);
rlocus(num,den)
title(Quy dao nghiem)
sgrid
5. Lenh ZGRID
a) Cong dung:
Ve li t le tat dan va tan so t nhien cho quy ao nghiem gian oan.
b) Cu phap:
zgrid
zgrid(new)
zgrid(z,wn)
zgrid(z,wn,new)
c) Giai thch:
Lenh zgrid tao li quy ao cho nghiem hoac bieu o cc-zero trong mat phang z. Cac
ng hang so t le tat dan () va tan so t nhien chuan hoa se c ve. c thay oi t 0 ti 1
theo tng nac thay oi la 0.1 va tan so t nhien c ve t 0 ti vi tng nac thay oi la /.
zgrid(new) xoa man hnh o hoa trc khi ve li va thiet lap trang thai hold on e quy ao
nghiem hoac bieu o cc-zero c ve len li s dung cac lenh :
zgrid('new')
rlocus(num,den) hoac pzmap(num,den)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 226 - GVHD: PHAMQUANG HUY
zgrid(z,wn) ve hang so tat dan c ch nh trong vector z va ve hang so tan so t nhien cho
cac tan so chuan hoa c ch nh trong vector wn. Cac tan so chuan hoa co the c ve bang
lenh zgrid(z,wn/Ts) vi tan so la thi gian lay mau.
zgrid(z,wn,new) xoa man hnh o hoa trc khi ve t so tat dan va tan so t nhien c ch
nh trong vector z va wn. Trang thai hold on c thiet lap.
zgrid([ ],[ ]) se ve ra vong tron n v.
d) V du: Trch t 11-236 sach Control System Toolbox
Ve li trong mat phang cho quy ao nghiem cua he thong co ham truyen :
8 . 0 6 . 1
5 . 1 4 . 3 2
) (
2
2
+
+
=
s z
z z
z H
num = [2 -3.4 1.5];
den = [1 -1.6 0.8];
axis(square)
zgrid(new)
rlocus(num,den)
title(Ve luoi cho quy dao nghiem)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 227 - GVHD: PHAMQUANG HUY
CAC BAI TAPVE QUY AO NGHIEM
8o| :
KGH =
) 5 s )( 4 s ( s
k
+ +
vi k = 2
num = 2;
den = [1 9 20 0];
rlocus(num,den)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 228 - GVHD: PHAMQUANG HUY
-7 -6 -5 -4 -3 -2 -1 0 1 2
-10
-8
-6
-4
-2
0
2
4
6
8
10
Real Axi s
I
m
a
g

A
x
i
s
T o th cho ta:
1. iem cc: 0 ,-4,-5.
2. Quy ao nghiem co 3 nhanh.
3. iem zero vo cung ( ).
4. iem tach c xac nh bang cach t ca so MATLAB ta nhap:
num = 2;
den = [1 9 20 0];
rlocus(num,den);
rlocfind(num,den)
Sau khi nhap lenh th tren ca so lenh se xuat hien hang ch:
Select a point in the graphics window (hay chon 1 iem tren o th minh hoa).
Tren o th se co thc cho ta chon iem keo re chuot e chon iem can chon.
selected_point = -1.4516
iem tach co gia tr: -1.4516
Giao iem cua quy ao nghiem vi truc ao (tng t nh tm iem tach): +4.472j, -4.472j.
T gia tr tai giao iem cua quy ao nghiem vi truc ao ta the vao phng trnh ac trng:
F(s) = s
3
+9s
2
+20s+k = 0
F(jw) = -jw
3
-9w
2
+20jw+k = 0
k
gh
= 180
Ket luan: he thong se on nh khi 0 < k < 180
Bai 2:
KGH =
) 20 s 4 s )( 4 s ( s
k
2
+ + +
(k = 2)
num = 2;
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 229 - GVHD: PHAMQUANG HUY
den = [1 8 36 80 0];
rlocus(num,den)

-6 -5 -4 -3 -2 -1 0 1 2
-5
-4
-3
-2
-1
0
1
2
3
4
5
Real Axi s
I
m
a
g

A
x
i
s
T o th cho ta:
1. iem cc: 0,-4,-2+4j,-2-4j;
2. Quy ao nghiem co 4 nhanh
3. iem zero vo han ( )
4. iem tach c xac nh bang cach t ca so MATLAB ta nhap:
num = 2;
den = [1 8 36 80 0];
rlocus(num,den);
rlocfind(num,den);
Sau khi nhap lenh th tren ca so lenh se xuat hien hang ch:
Select a point in the graphics window (hay chon 1 iem tren o th minh hoa).
Tren o th se co thc cho ta chon iem keo re chuot e chon iem can chon.
selected_point = -2, -2.0184 + 2.4561j, -2.0184 - 2.4561j
iem tach co gia tr: -2, -2.0184 + 2.4561j, -2.0184 - 2.4561j
Giao iem cua quy ao nghiem vi truc ao (tng t nh tm iem tach): +3.16j, -3.16j
T gia tr tai giao iem cua quy ao nghiem vi truc hoanh ta the vao phng trnh ac trng:
F(jw) = w
4
-8jw
3
-36w
2
+80jw+k
k
gh
= 260
Ket luan : he thong se on nh khi 0 < k < 260
Bai 3:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 230 - GVHD: PHAMQUANG HUY
KGH =
2
s
k
(k = 2)
num = 2;
den =[1 0 0 ];
rlocus(num,den)
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
-1.5
-1
-0.5
0
0.5
1
1.5
Real Axi s
I
m
a
g

A
x
i
s
T o th ta co:
1. iem cc : 0
2. Quy ao nghiem co 2 nhanh
3. iem zero vo han ( )
iem tach co gia tr: 0
Ket luan: he thong khong on nh.
Bai 4:
KGH =
3
s
k
num = 2;
den =[1 0 0 0];
rlocus(num,den)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 231 - GVHD: PHAMQUANG HUY
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Real Axi s
I
m
a
g

A
x
i
s
T o th ta co:
1. iem cc: 0.
2. Quy ao nghiem co 3 nhanh.
3. iem zero vo han ().
4. iem tach co gia tr: 0
Ket luan: he thong khong on nh (v hai nhanh cua quy ao nghiem so luon nam na phai
mat phang phc).
Bai 5:
KGH =
) 1 ts ( s
k
+
(k = 1, t = 2)
num = 1;
den = [2 1 0];
rlocus(num,den)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 232 - GVHD: PHAMQUANG HUY
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
Real Axi s
I
m
a
g

A
x
i
s
1. iem cc : 0,-0.5
2. Quy ao nghiem co 2 nhanh
3. iem zero vo han ( )
4. iem tach c c xac nh bang cach t ca so MATLAB ta nhap:
num = 1;
den = [2 1 0 ];
rlocus(num,den);
rlocfind(num,den)
Sau khi nhap lenh th tren ca so lenh se xuat hien hang ch:
Select a point in the graphics window (hay chon 1 iem tren o th minh hoa).
Tren o th se co thc cho ta chon iem keo re chuot e chon iem can chon.
selected_point = -0.253
iem tach co gia tr: -0.253-
Ket luan: he thong luon on nh (v quy ao nghiem luon nam na trai mat phang phc).
Bai 6:
KGH =
2
s
) 1 ts ( k +
(k = 1, t = 1)
num = [1 1];
den = [1 0 0];
rlocus(num,den)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 233 - GVHD: PHAMQUANG HUY
-3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Real Axi s
I
m
a
g

A
x
i
s
1. iem cc: 0
2. Quy ao nghiem co 2 nhanh
3. iem zero , -1
4. iem tach c c xac nh bang cach t ca so MATLAB ta nhap:
num = [1 1];
den = [1 0 0];
rlocus(num,den);
rlocfind(num,den)
Sau khi nhap lenh th tren ca so lenh se xuat hien hang ch:
Select a point in the graphics window (hay chon 1 iem tren o th minh hoa).
Tren o th se co thc cho ta chon iem keo re chuot e chon iem can chon.
selected_point = -2
iem tach co gia tr: -2.
Ket luan: he thong bien on nh.
Bai 7:
KGH =
) 1 s t )( 1 s t (
k
2 1
+ +
(k = 1, t
1
= 2, t
2
= 1)
num = 1;
den = [2 3 1];
rlocus(num,den)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 234 - GVHD: PHAMQUANG HUY
-2 -1.5 -1 -0.5 0 0.5 1
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
Real Axi s
I
m
a
g

A
x
i
s
1. iem cc: -0.5, -1.
2. Quy ao nghiem co 2 nhanh
3. iem zero vo han ( )
4. iem tach c c xac nh bang cach t ca so MATLAB ta nhap:
num = 1;
den = [2 3 1];
rlocus(num,den);
rlocfind(num,den)
Sau khi nhap lenh th tren ca so lenh se xuat hien hang ch:
Select a point in the graphics window (hay chon 1 iem tren o th minh hoa).
Tren o th se co thc cho ta chon iem keo re chuot e chon iem can chon.
selected_point = -0.75.
iem tach co gia tr: -0.75
Ket luan: he thong luon on nh.
Bai 8:
KGH =
( )( )( )
2
4 s 1 s 1 s
k
+ +
(k = 10)
num =10;
den = [ 1 8 15 -8 -16];
rlocus(num,den)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 235 - GVHD: PHAMQUANG HUY
-6 -5 -4 -3 -2 -1 0 1 2 3
-5
-4
-3
-2
-1
0
1
2
3
4
5
Real Axi s
I
m
a
g

A
x
i
s
1. iem cc : 1, -1 va 1 cc kep -4.
2. Quy ao nghiem co 4 nhanh.
3. iem zero: co 4 zero vo cung ( ).
4. iem tach c c xac nh bang cach t ca so MATLAB ta nhap:
num =10;
den = [ 1 8 15 -8 -16];
rlocus(num,den);
rlocfind(num,den)
Sau khi nhap lenh th tren ca so lenh se xuat hien hang ch:
Select a point in the graphics window (hay chon 1 iem tren o th minh hoa).
Tren o th se co thc cho ta chon iem keo re chuot e chon iem can chon.
selected_point = 0.2308, -4
iem tach co gia tr: 0.2308, -4
Ket luan: He thong luon khong on nh v ton tai 1 nghiem cua phng trnh ac trng
nam ben phai mat phang phc.
Bai 9: Trch t trang 5-19 sach Control System Toolbox
Bai nay tong hp cac lenh:
h=tf([4 8.4 30.8 60],[1 4.12 17.4 30.8 60]);
subplot(221)
bode(h)
subplot(222)
step(h)
subplot(223)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 236 - GVHD: PHAMQUANG HUY
pzmap(h)
subplot(224)
plot(rand(1,100)
plot(rand(1,100))
Frequency (rad/sec)
P
h
a
s
e

(
d
e
g
)
;

M
a
g
n
i
t
u
d
e

(
d
B
)
Bode Diagrams
-20
0
20
From: U(1)
10
-1
10
0
10
1
-100
0
100
T
o
:

Y
(
1
)
Time (sec.)
A
m
p
l
i
t
u
d
e
Step Response
0 2 4 6 8 10 12
0
0.5
1
1.5
From: U(1)
T
o
:

Y
(
1
)
Real Axis
I
m
a
g

A
x
i
s
Pole-zero map
-3 -2 -1 0 1
-4
-2
0
2
4

0 50 100
0
0.2
0.4
0.6
0.8
1
bai tong hop
Bai 10: Cho ham truyen nh sau:

( )( ) 2 s 1 s
4 s
) s ( G
+ +
+
=
Viet theo cau truc sau ta co c o th bieu dien quy ao nghiem:
num=[1 4];
den=conv([1 1],[1 2])
rlocus(num,den)
Ket qua nh hnh sau:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 237 - GVHD: PHAMQUANG HUY
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 238 - GVHD: PHAMQUANG HUY
KHAO SAT S ON NH CUA HE THONG
LY THUYET:
He thong on nh trang thai h, se on nh trang thai kn neu bieu o Nyquist
khong bao iem (-1+i0) tren mat phang phc.
He thong khong on nh trang thai h, se on nh trang thai kn neu bieu o
Nyquist bao iem (-1+i0)p lan ngc chieu kim ong ho (p la so cc GH nam phai mat
phang phc).
T dau nhac cua ca so MATLAB, ta nhap:
num = [nhap cac he so cua t so theo chieu giam dan cu a so mu].
den = [nhap cac he so cua mau so theo chieu giam dan cua so mu].
nyquist(num,den)
Bai tap 1:
GH(s) =
st 1
k

(vi k =10, t =1)


num = 10;
den = [-1 1];
nyquist(num,den)
Ket qua:
Real Axi s
I
m
a
g
i
n
a
r
y

A
x
i
s
Nyqui st Di agrams
0 2 4 6 8 10
-5
-4
-3
-2
-1
0
1
2
3
4
5

Nhan xet: ham truyen vong h co 1 cc nam ben phai mat phang phc. Bieu o Nyquist khong
bao iem A (-1+j0).
(A)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 239 - GVHD: PHAMQUANG HUY
iem 1 ky hieu (+) nam tren truc thc am (Real Axis), iem 0 nam tren truc ao
(Imaginary Axis).
Ket luan: he khong on nh.
* Dung lenh margin e tm bien d tr va pha d tr.
T dau nhac cua ca so lenh MATLAB ta dung lenh margin:
num = 10;
den = [-1 1];
margin(num,den);
Frequency (rad/sec)
P
h
a
s
e

(
d
e
g
)
;

M
a
g
n
i
t
u
d
e

(
d
B
)
Bode Di agrams
0
5
10
15
20
Gm = 0 dB, Pm = 0 (unstabl e cl osed l oop)
10
0
20
40
60
80

Ket luan:
o d tr bien (Gm = 0 dB).
o d tr pha (Pm = 0).
Warning: Closed loop is unstable (he vong kn khong on nh).
Bai tap 2:
GH(s) =
( ) st 1 s
k

(k = 10, t = 1)
num = 10;
den = [-1 1 0];
nyquist(num,den)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 240 - GVHD: PHAMQUANG HUY
Real Axi s
I
m
a
g
i
n
a
r
y

A
x
i
s
Nyqui st Di agrams
0 2 4 6 8 10
-1000
-800
-600
-400
-200
0
200
400
600
800
1000

Nhan xet: ham truyen vong h co 1 cc nam ben phai mat phang phc va 1 cc nam tai goc toa
o. Bieu o Nyquist khong bao iem A (-1+j0).
iem 1 ky hieu (+) nam tren truc thc am (Real Axis) , iem 0 nam tren truc ao (Imaginary
Axis).
Ket luan: he khong on nh.
* Dung lenh margin e tm bien d tr va pha d tr.
T dau nhac cua ca so lenh MATLAB ta dung lenh margin:
num = 10;
den = [-1 1 0];
margin(num,den)
(A)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 241 - GVHD: PHAMQUANG HUY

Frequency (rad/sec)
P
h
a
s
e

(
d
e
g
)
;

M
a
g
n
i
t
u
d
e

(
d
B
)
Bode Di agrams
-20
0
20
40
60
Gm = 0 dB, Pm = 0 (unstabl e cl osed l oop)
10
-1
10
0
-80
-60
-40
-20

Ket luan:
o d tr bien (Gm = 0 dB).
o d tr pha (Pm = 0).
Warning: Closed loop is unstable (he vong kn khong on nh).
Bai tap 3:
GH(s) =
( )( ) 1 s t 1 s t
k
2 1
+ +
(k =10, t
1
= 1, t
2
= 2)
num = 10;
den = [2 3 1];
nyquist(num,den)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 242 - GVHD: PHAMQUANG HUY
Real Axi s
I
m
a
g
i
n
a
r
y

A
x
i
s
Nyqui st Di agrams
0 2 4 6 8 10
-6
-4
-2
0
2
4
6

Nhan xet: ham truyen vong h co 2 cc nam ben trai mat phang phc. Bieu o Nyquist khong
bao iem A (-1+j0).
iem 1 ky hieu (+) nam tren truc thc am (Real Axis) , iem 0 nam tren truc ao
(Imaginary Axis).
Ket luan: he thong on nh.
* Dung lenh margin e tm bien d tr va pha d tr.
T dau nhac cua ca so MATLAB dung lenh margin.
num = 10;
den = [2 3 1];
margin(num,den)
(A)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 243 - GVHD: PHAMQUANG HUY
Frequency (rad/sec)
P
h
a
s
e

(
d
e
g
)
;

M
a
g
n
i
t
u
d
e

(
d
B
)
Bode Di agrams
-20
-10
0
10
20
Gm = Inf, Pm=38.94 deg. (at 2.095 rad/sec)
10
0
-150
-100
-50

Ket luan: he thong on nh.
o d tr bien (Gm = ).
o d tr pha (Pm = 38.94), tai tan so cat bien 2.095 rad/sec.
Bai tap 4:
GH(s) =
( )( ) 1 s t 1 s t s
k
2 1
+ +
(k = 10 t
1
=1, t
2
=2)
num = 10;
den = [2 3 1 0];
nyquist(num,den)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 244 - GVHD: PHAMQUANG HUY
Real Axi s
I
m
a
g
i
n
a
r
y

A
x
i
s
Nyqui st Di agrams
-30 -25 -20 -15 -10 -5
-1000
-800
-600
-400
-200
0
200
400
600
800
1000

Nhan xet: ham truyen vong h co 2 cc nam ben trai mat phang phc va 1 cc zero. Bieu o
Nyquist bao iem A(-1+j0).
iem 1 ky hieu (+) nam tren truc thc am (Real Axis) , iem 0 nam tren truc ao
(Imaginary Axis).
Ket luan: he khong on nh.
* Dung lenh margin e tm bien d tr va pha d tr.
T dau nhac cua ca so MATLAB ta dung lenh margin e kiem chng
lai he:
num = 10;
den = [2 3 1 0];
margin(num,den)
(A)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 245 - GVHD: PHAMQUANG HUY
Frequency (rad/sec)
P
h
a
s
e

(
d
e
g
)
;

M
a
g
n
i
t
u
d
e

(
d
B
)
Bode Di agrams
-40
-20
0
20
40
60
Gm = 0 dB, Pm = 0 (unstabl e cl osed l oop)
10
-1
10
0
-250
-200
-150
-100

Ket luan: he thong khong on nh.
o d tr bien (Gm = 0 dB).
o d tr pha (Pm = 0)
Bai tap 5:
GH(s) =
( )( )( ) 1 s t 1 s t 1 s t s
k
3 2 1
+ + +
( t
1
=1, t
2
= 2, t
3
= 3, k = 10)
num = 10;
den = [6 11 6 1 0];
nyquist(num,den)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 246 - GVHD: PHAMQUANG HUY
Real Axi s
I
m
a
g
i
n
a
r
y

A
x
i
s
Nyqui st Di agrams
-60 -50 -40 -30 -20 -10 0
-1000
-800
-600
-400
-200
0
200
400
600
800
1000

Nhan xet: ham truyen vong h co 3 cc nam ben trai mat phang phc va 1 cc zero. Bieu o
Nyquist bao iem A (-1+i0).
iem 1 ky hieu (+) nam tren truc thc am (Real Axis) , iem 0 nam tren truc ao
(Imaginary Axis).
Ket luan: he khong on nh.
* Dung lenh margin e tm bien d tr va pha d tr.
T dau nhac cua ca so MATLAB, dung lenh margin e kiem chng lai
he:
num = 10;
den = [6 11 6 1 0];
margin(num,den)
(A)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 247 - GVHD: PHAMQUANG HUY
Frequency (rad/sec)
P
h
a
s
e

(
d
e
g
)
;

M
a
g
n
i
t
u
d
e

(
d
B
)
Bode Di agrams
-50
0
50
Gm = 0 dB, Pm = 0 (unstabl e cl osed l oop)
10
-2
10
-1
10
0
-300
-200
-100

Ket luan: he thong khong on nh.
o d tr bien (Gm = 0 dB).
o d tr pha (Pm = 0).
Bai tap 6: Sau ay la dang bai tap tong quat vi t va mau cua mot ham truyen la cac so
lieu ma ta phai nhap vao.
Chng trnh:
%%Tap tin khao sat on dinh he thong
%%PHAM QUOC TRUONG - DT: 9230774
function ondinh()
promptstr={'Nhap tu so num:','Nhap mau so den:'};
inistr={'',''};
dlgTitle='Nhap du lieu';
lineNo=1;
result=inputdlg(promptstr,dlgTitle,lineNo,inistr);
num=str2num(char(result(1)));
den=str2num(char(result(2)));
[z,p,k]=residue(num,den); %Tim cac cuc p
z=roots(num) %Tim cac zero z
zplane(z,p) %Ve cuc va zero
Sau khi chay chng trnh ta c ket qua:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 248 - GVHD: PHAMQUANG HUY
Ban hay nhap so lieu vao:
Ga s ta nhap so lieu sau va chon OK:
Ket qua ngoai ca so MATLAB Command Windows
z =
0 + 3.0000i
0 - 3.0000i
Hnh ve cc va zero:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 249 - GVHD: PHAMQUANG HUY
-4 -3 -2 -1 0 1 2 3 4
-3
-2
-1
0
1
2
3
Real Part
I
m
a
g
i
n
a
r
y

P
a
r
t
Khao sat he thong theo tieu chuan Hurwitz
ON LAI LY THUYET:
Xet Phng trnh ac trng:
F(s) = a
n
s
n
+a
n-1
++a
0
vi a
n
0
1. ieu kien can e he on nh:
Cac he so a
j
(j = 0, n-1) cung dau vi a
n
.
a
j
0 (j = 0,,n)
2. Tieu chuan Hurwitz:
ieu kien can va u e he on nh (cac nghiem cua phng trnh at trng nam
ben trai mat phang phc) la tat ca cac nh thc Hurwitz D
k
eu cung dau (k = 0..n)
3. Tieu chuan Routh:
ieu can va u e he on nh la tat ca cac phan t cua cot 1 bang Routh eu
cung dau, neu co s oi dau th so lan oi dau th so lan oi dau bang so nghiem
phai mat phang phc.
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 250 - GVHD: PHAMQUANG HUY
Bai tap 7:Cho he thong ieu khien phan hoi:
Dung gian o Bode e khao sat on nh cua he thong tren.
Khao sat he xem he co on nh hay khong.
Trc tien ta dung lenh seriesket noi 2 he thong:
num1 = [1 1];
den1 = [1 0];
num2 = 2;
den2 = [1 4 3];
[num,den] = series(num1,den1,num2,den2)
num =
0 0 2 2
den =
1 4 3 0
Ham truyen noi tiep la:
GH(s) =
s 3 s 4 s
2 s 2
2 3
+ +
+
Dung gian o Bode e khao sat on nh:
num = [2 2];
den = [1 4 3 0];
margin(num,den)
s
1 s +
3 s 4 s
2
2
+ +
_
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 251 - GVHD: PHAMQUANG HUY
Frequency (rad/sec)
P
h
a
s
e

(
d
e
g
)
;

M
a
g
n
i
t
u
d
e

(
d
B
)
Bode Di agrams
-60
-40
-20
0
20
Gm = Inf, Pm=77.748 deg. (at 0.65148 rad/sec)
10
-1
10
0
10
1
-180
-160
-140
-120
-100

Ket luan:
Bien d tr: Gm =
Pha d tr Pm = 77.74 tai tan so cat bien w
b
= 0.65
Vay he thong on nh.
Ve bieu o Nyquist:
nyquist(num,den)
Real Axi s
I
m
a
g
i
n
a
r
y

A
x
i
s
Nyqui st Di agrams
-1 -0.9 -0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1
-60
-40
-20
0
20
40
60

Ben canh o ta co the khao sat on nh bang tieu chuan ai so:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 252 - GVHD: PHAMQUANG HUY
Phng trnh ac trng: s
3
+ 4s
2
+5s + 2 = 0
Trc tien ta goi hurwitz t ca so lenh:(lien he PQT e co chng trnh)
hurwitz
Cho biet so bac cao nhat cua ham: 3
Cho biet he so a(0): 1
Cho biet he so a(1): 4
Cho biet he so a(2): 5
Cho biet he so a(3): 2
Cac dinh thuc Hurwitz:
D[1] = 1
D[2] = 4
D[3] = 18
D[4] = 36
- HE THONG ON DINH. -
Bai tap 8: Khao sat he thong:
Trc tien, ta ket noi he thong:
T ca so lenh cua MATLAB, ta nhap lenh:
num1 = [2 1];
den1 = [1 0];
num2 = 10;
den2 = [1 5];
[num,den] = series(num1,den1,num2,den2)
Va ta se co:
num =
s
1 s 2 +
5 s
10
+
1 s
1
+
_
+
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 253 - GVHD: PHAMQUANG HUY
0 20 10
den =
1 5 0
Ta nhap tiep:
numc = [20 10];
denc = [1 5 0];
numd = 1;
dend = [1 1];
[num,den] = feedback(numc,denc,numd,dend)
(neu sau dend, co 1 tc la hoi tiep dng)
num =
0 20 30 10
den =
1 6 25 10
Ham truyen cua he thong la: G(s)H(s) =
10 s 25 s 6 s
10 s 30 s 20
2 3
2
+ + +
+ +
Ve gian o Bode cua he:
num = [20 30 10];
den = [1 6 25 10];
bode(num,den)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 254 - GVHD: PHAMQUANG HUY
Frequency (rad/sec)
P
h
a
s
e

(
d
e
g
)
;

M
a
g
n
i
t
u
d
e

(
d
B
)
Bode Di agrams
-10
-5
0
5
10

10
-1
10
0
10
1
10
2
-80
-60
-40
-20
0
20

Tnh bien d tr va pha d tr cua he:
margin(num,den)
Frequency (rad/sec)
P
h
a
s
e

(
d
e
g
)
;

M
a
g
n
i
t
u
d
e

(
d
B
)
Bode Di agrams
-10
-5
0
5
10
Gm = Inf, Pm=103.14 deg. (at 20.347 rad/sec)
10
0
10
1
-150
-100
-50
0

Ket luan:
He on nh.
Bien d tr: Gm = .
Pha d tr: Pm = 103.14
o
tai tan so cat bien la 20.347 rad/sec.
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 255 - GVHD: PHAMQUANG HUY
Chu y: Sau khi a vao ca so lap trnh, ta lap chng trnh khao sat he co phng trnh ac trng
theo tieu chuan ai so (tieu chuan Hurwitz) xem he co on nh hay khong.
Trong ca so lenh (ca so lam viec), goi lenh hurwitz (chng trnh a c soan thao
trong phan lap trnh mang ten Hurwitz) se co nhng hang ch:
cho biet so bac cao nhat cua ham: (nhap vao he so a
n
)
cho biet he so a(0):
. . .
cho biet he so a(n):
Di day la phan anh vao ca so lap trnh
%%%%%%%%%%% PHAM QUOC TRUONG - MSSV: 97102589 %%%%%%%%%%%
%%%%%%%%%%% DT: 9230774 %%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function Hurwitz()
%
% * Cong dung: Xet tinh on dinh cua he thong theo tieu chuan Hurwitz.
%
% * Cach su dung:
% Truoc tien, nhap vao da thuc dac trung f theo dang:
% f = [a(n) a(n-1) a(n-2) ..... a(1) a(0)]
% voi a(n), a(n-1), a(n-2), ....., a(1),a(0) la cac he so cua da thuc dac
trung.
% Sau do, goi lenh Hurwitz(f)
XIN VUI LONG LIEN HE PHAM QUOC TRNG E CO CHNG TRNH
Chay chng trnh cac v du:
V du 1: Cho phng trnh ac trng:
F(s) = s
4
+ 3s
3
+ 2s
2
+ 2s + 1
Hurwitz
Cho biet so bac cao nhat cua ham: 4 (nhap xong nhan Enter)
Cho biet he so a(0) = 1
Cho biet he so a(1) = 3
Cho biet he so a(2) = 2
Cho biet he so a(3) = 2
Cho biet he so a(4) = 1
Sau khi a nhap cac he so, MATLAB se t ong giai va cho ta ket qua:
Cac dinh thuc Hurwitz:
D[1] = 1
D[2] = 3
D[3] = 4
D[4] = -1
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 256 - GVHD: PHAMQUANG HUY
D[5] = -1
- HE THONG KHONG ON DINH.
V du 2: Cho phng trnh ac trng:
F(s) = 5s
4
+ 8s
3
+ 21s
2
+ 10s + 3
Hurwitz
Cho biet so bac cao nhat cua ham: 4
Cho biet he so a(0) = 5
Cho biet he so a(1) = 8
Cho biet he so a(2) = 21
Cho biet he so a(3) = 10
Cho biet he so a(4) = 3
Cac dinh thuc Hurwitz:
D[1] = 5
D[2] = 8
D[3] = 118
D[4] = 988
D[5] = 2964
- HE THONG ON DINH. -
V du 3: Cho phng trnh ac trng:
F(s) = s
5
+ 10s
4
+ 16s
3
+ 160s
2
+ s + 10
hurwitz
Cho biet so bac cao nhat cua ham: 5
Cho biet he so a(0) = 1
Cho biet he so a(2) = 10
Cho biet he so a(3) = 16
Cho biet he so a(4) = 160
Cho biet he so a(5) = 1
Cho biet he so a(6) = 10
Sau khi a nhap cac he so, MATLAB se t ong giai va cho ta ket qua:
Cac dinh thuc Hurwitz:
D[1] = 1
D[2] = 10
D[3] = 0
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 257 - GVHD: PHAMQUANG HUY
D[4] = 0
D[5] = 0
D[6] = 0
- HE THONG O BIEN ON DINH.
Khao sat he thong theo tieu chuan Routh
Chng trnh:(lien he PQT)
%%%%%%%%%%%%%%%%%% PHAM QUOC TRUONG MSSV:97102589
%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%% Dien thoai: 9230774 %%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Chay chng trnh cac v du:
V du 1: Cho phng trnh ac trng
F(s) = s
4
+ 3s
3
+ 2s
2
+ 2s + 1
routh
- CHUONG TRINH TAO HAM ROUTH -
Cho biet so bac cao nhat cua he: 4
Cho biet he so a(0) = 1
Cho biet he so a(1) = 3
Cho biet he so a(2) = 2
Cho biet he so a(3) = 2
Cho biet he so a(4) = 1
- HE THONG KHONG ON DINH. -
V du 2: Cho phng trnh ac trng
F(s) = s
5
+ s
4
+ 4s
3
+ 4s
2
+ 2s +1
routh
- CHUONG TRINH TAO HAM ROUTH -
Cho biet so bac cao nhat cua he: 5
Cho biet he so a(0) = 1
Cho biet he so a(1) = 1
Cho biet he so a(2) = 4
Cho biet he so a(3) = 4
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 258 - GVHD: PHAMQUANG HUY
Cho biet he so a(4) = 2
Cho biet he so a(5) = 1
- HE THONG KHONG ON DINH. -
V du 3: Cho phng trnh ac trng
F(s) = s
5
+ 10s
4

+ 16s
3
+ 160s
2
+ s + 10
routh
- CHUONG TRINH TAO HAM ROUTH -
Cho biet so bac cao nhat cua he: 5
Cho biet he so a[0] = 1
Cho biet he so a[1] = 10
Cho biet he so a[2] = 16
Cho biet he so a[3] = 160
Cho biet he so a[4] = 1
Cho biet he so a[5] = 10
- HE THONG ON DINH. -
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 259 - GVHD: PHAMQUANG HUY
MOT SO CHNG TRNH KHAO SAT, THIET KE
HE THONG IEU KHIEN T ONG
(Neu ban nao quan tam en cac chng trnh th lien he vi PQT)
1. Chng trnh 1:
Viet chng trnh xac nh ham truyen vong kn co khau hoi tiep n v.
2. Chng trnh 2:
Viet chng trnh tm cc va zero cua ham truyen.
3. Chng trnh 3:
Viet chng trnh khao sat tnh on nh cua he tuyen tnh lien tuc dung gian o Bode.
4. Chng trnh 4:
Tao ra lenh hurwitz e xet tnh on nh cua he thong tuyen tnh lien tuc theo tieu chuan
Hurwitz.
5. Chng trnh 5:
Viet chng trnh t ong ve gian o Bode, bieu o Nyquist, quy ao nghiem cua he tuyen
tnh lien tuc.
6. Chng trnh 6:
Viet chng trnh e tm cac ch tieu trong mien thi gian cua he bac 2.
7. Chng trnh 7:
Viet chng trnh e thc hien bo chnh cho mot he thong tuyen tnh lien tuc bang gian o
Bode.
8. Chng trnh 8:
Viet chng trnh khao sat anh hng cua khau PID vao he thong tuyen tnh bac 2.
trong cac tap tin nay chng trnh se khong thc hien c.
9. Chng trnh 9:
Viet lenh dung e khao sat tnh on nh cua he thong tuyen tnh gian oan theo tieu chuan
Jury.
11. Chng trnh 11:
Viet chng trnh o hoa e ve cac ap ng tan so va ap ng thi gian bang cach chon trong
menu.
Chng trnh c soan thao trong 2 tap tin dohoa.m va action.m va he thong trong chng
trnh nay co ham truyen la:
G(s) =
) 5 )( 4 (
1
+ + s s s
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 260 - GVHD: PHAMQUANG HUY
PHU CHNG: LU O CAC CHNG TRNH
Lu o chng trnh t ong ve bieu o Nyquist, gian o Bode va quy ao nghiem
Bat au
Nhap so lan ve n
Ve bieu o Nyquist
Ve gian o BODE
Ve quy ao nghiem
k = k + 1
k > n
Dng

S
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 261 - GVHD: PHAMQUANG HUY
Chng trnh tm cac ch tieu trong mien thi gian cua he bac 2
Bat au
Nhap tan so t nhien Wn va he so tat z
Tnh Cmax, Cxl, S%, exl, tdelay, tq,...
Thiet lap ham truyen
Wn = 0
Dng

S
z = 0

S
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 262 - GVHD: PHAMQUANG HUY
Chng trnh bo chnh cho he thong tuyen tnh lien tuc
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 263 - GVHD: PHAMQUANG HUY
Bat au
Nhap ham truyen
Tnh Gm, Pm, Wcp, Wcg
Ve gian o BODE
Bo chnh tre pha
Nhap tan so cat bien sau bo chnh Wcgb
num = 0
Dng

S
den = 0
Pm > 0
Wcgb = Wcg
Wcgb > Wcg
Tm Gmf, Pmf, Wcgf, Wcpf
Pmf Pm
In ra ham truyen khau bo chnh
In ra ham truyen cua he thong
Bo chnh sm pha

S
S
S
S

Khao sat ng dung MATLAB trong ieu khien t ong


Thc hien: PHAM QUOC TR NG - 264 - GVHD: PHAMQUANG HUY
Chng trnh khao sat anh hng cua khau PID vao he thong
Bat au
Nhap Wn, z
Tnh Gm, Pm, Wcp, Wcg
Ve gian o BODE
Wn = 0
Dng

S
z = 0
Tm Cmax, Cxl, exl, tdelay
Ve ap ng nac n v
S

Them khau PID vao he thong


Ve gian o BODE
Tnh Gm, Pm, Wcp, Wcg
Ve ap ng nac n v
Tm Cmax, Cxl, exl, tdelay
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 265 - GVHD: PHAMQUANG HUY

You might also like