
122
MATLAB VÀ ĐIỀU KHIỂN T ĐỰ ỘNG
§1.
CÁC
V NẤ
ĐỀ
CHUNG
1.
Các
d
ạ
ng
mô
hình
h
ệ
thố
ng
:
Để
xây
d
ngự
mô
hình
c
ủa
hệ
thống,
MATLAB
cung
c
ấp
m tộ
s
ố
l nh.ệ
Mô
hình
hệ
th ngố
mô
tả
bằng
hàm
truy nề
đượ
c
xây
d
ngự
nhờ
l nhệ
tf(ts,ms)
v
iớ
ts
là
đa
thứ
c
tử
s
ố
và
ms
là
đa
thứ
c
mẫu
s
.ố
Hàm
zpk(z,
p,
k)
v
iớ
z
là
vec
tơ
đi mể
không,
p
là
vec
tơ
đi mể
c
ự
c
và
k
là
hệ
s
ố
khuyếch
đại
tạ
o
nên
mô
hình
đi mể
không‐đi mể
c
ự
c.
Hàm
ss(a,
b,
c
ʹ,
d)
v
iớ
a,
b,
c, d
là
các
ma
trận
tạ
o
nên
mô
hình
không
gian‐trạng
thái.
Ví
d
ụ:
Ta
tạ
o
ra
m tộ
s
ố
mô
hình
nhờ
các
l nhệ
MATLAB
sau(l uư
trong
ct6_1.m):
clc
ts
=
[1
2];
ms
=
[1
5
4];
sys1
=
tf(ts,ms)
sys2
=
zpk([‐6
1
1],[‐5
1],3)
sys3
=
ss([1
2;
3
4],[1
1;
0
1],[0
1;
1
2;
3
1],0)
K tế
quả
là:
Transfer
function:
s
+
2
‐‐‐‐‐‐‐‐‐‐‐‐‐
s^2
+
5
s
+
4
Zero/pole/gain:
3
(s+6)
(s‐1)^2
‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
(s+5)
(s‐1)
a
=
x1 x2
x1 1 2
x2 3 4
b
=
u1 u2
x1 1 1
x2 0 1

123
c
=
x1 x2
y1 0 1
y2 1 2
y3 3 1
d
=
u1 u2
y1 0 0
y2 0 0
y3 0 0
Continuous‐time
model.
2.
Điểm
c
ự
c
và
điểm
zero
c
aủ
hàm
truyề
n
:
Để
bi nế
đ iổ
hệ
th ngố
cho
b iở
hàm
truy nề
thành
hệ
cho
b iở
đi mể
c
ự
c,
đi mể
zero
và
hệ
s
ố
khuếch
đại
dùng
hàm
tf2zp.
Ta
c
ũng
có
thể
dùng
hàm
pole(sys)
để
tìm
đi mể
c
ự
c c
ủa
hệ
th ngố
sys
và dung
hàm
zero(sys)
để
tìm
đi mể
không
c
ủa
hệ
th ngố
sys
Ví
d
ụ:
Cho
hàm
truy n:ề
H(s) s 3 11s 2 30s
s 4 9s 3 45s 2 87s 50
Ta c nầ tìm các đi mể cực p, đi mể zero z và hệ số khuếch đại k c aủ nó. Ta dùng
các l nh ệMATLAB sau(lưu trong
ct6_2.m
):
ts
=
[1
11
30
0];
ms
=
[1
9
45
87
50];
[z,p,k]
=
tf2zp(ts,ms)
z
=
0
‐6
‐5
p
=
‐3.0
+
4.0i
‐3.0
‐
4.0i
‐2.0
‐1.0
k
=
1
Như v y:ậ

H(s) s(s 5)(s 6)
(s 1)(s 2)(s 3 4 j)(s 3 4 j)s(s 5)(s 6)
(s 1)(s 2)(s2 6s 25)
Khi có các đi m ểcực, đi m zero và h s ể ệ ố khuếch đại ta có th tìm l i hàm truy nể ạ ề
b ng l nh ằ ệ
zp2tf
. Ta dùng các l nh MATLABệ sau(l u trong ư
ct6_3.m
):
z
=
[‐6;‐5;0];
k
=
1;
p
=
[‐3+4*i;‐3‐4*i;‐2;‐1];
[ts,ms]
=
zp2tf(z,p,k)
ts
=
ms
=
0 1 11 30 0
1 9 45 87 50
Để th yấ đ cượ sự phân bố đi mể không và đi mể c cự c aủ hệ th ngố trên m tặ
ph ng ẳ ph c ứ ta dùng hàm
pzmap
. Tr c ụ c a ủ đ ồ thi đ c ượ chia l i ướ b ng ằ l nhệ
sgrid. Các đi mể không bi uể thị b ngằ vòng tròn và đi mể c cự bi uể thị b ngằ d uấ
.
Ta xét các l nh MATLABệ sau(l u trong ư
ct6_4.m
):
clc
sys
=
zpk([‐6
1
1],[‐5
1],3)
axis
equal
pzmap(sys)
sgrid
3.
Khai
triể
n
hàm
truyề
n
thành
tổ
ng các
phân
thứ
c
đơ
n
giả
n: Cho hàm
truy n,ề ta có thể khai tri nể nó thành t ngổ các phân th cứ đ nơ gi nả b ngằ l nhệ
residue
. Hàm
residue
cho vec tơ c tộ các ph nầ dư r, vec tơ c tộ các đi mể c cự p và
ph n nguyên k.ầ
Ví
d
ụ
: Cho hàm truy n:ề
3
H(s)
2s
9s
1
s3
s2
4s
4
Ta khai tri n h b ng cácể ệ ằ l nh MATLABệ sau(l u trong ư
ct6_5.m
):
ts
=
[2
0
9
1];
ms
=
[1
1
4
4];
[r,p,k]
=
residue(ts,ms)
r
=
0.0
‐
0.25i
0.0
+
0.2
5i


n
‐2.0
p
=
‐0.0
+
2.0i
‐0.0
‐
2.0i
‐1.0
k
=
2
Như v y:ậ
H(s)
2
2
0.25 j
0.25 j
2
2
1
s
1 s
2 j s
2 j s
1 s2
4
Ng cượ l i,ạ có r, p, k ta có th tìm hàm truy n b ng cácể ề ằ l nh MATLABệ sau(l u trongư
ct6_6.m
):
r
=
[0.0‐0.25*i;
0+0.25*i;
‐2];
p
=
[0+2*i;0‐2*i;‐1];
k
=
2;
[ts,ms]
=
residue(r,p,k)
ts
=
2 0 9 1
ms
=
1 1 4 4
4.
Biế
n
đổi
hàm
truyề
n
thành
không
gian‐trạ
ng
thái
: Cho ph ng ươ trình vi
phân:
a d y
a dn 1 y
a d y
a y
u(t)
n dxnn 1 dxn 1 1 dx 0
Đặt x1 = y;x2 = y
;x3 = y
v.v ta có h ph ng trình tr ng thái:ệ ươ ạ
x
=
Ax
+ Bu
y
=
Cx
+
Du
g i là ph ng trình không gianọ ươ ‐tr ng tháiạ
N uế m tộ hệ đi uề khi nể tự đ ngộ cho b iở hàm truy nề ta có thể bi nế đ iổ về
không gian‐tr ng thái b ng l nh ạ ằ ệ
tf2ss
.
Ví
d
ụ
: Cho hàm truy n :ề
2
H(s)
s
7s
2

