Khảo sát ứng dụng MATLAB trong điều khiển tự động - Nhóm lệnh về quỹ đạo nghiệm (Roots Locus)

a) Công dụng:

Vẽ biểu đồ cực-zero của hệ thống.

b) Cú pháp:

[p,z]= pzmap(num,den)

[p,z]= pzmap(a,b,c,d)

[p,z]= pzmap(a,b,c,d)

c) Giải thích:

Lệnh pzmap vẽ biểu đồ cực-zero của hệ LTI. Đối với hệ SISO thì các cực và zero của

hàmtruyền được vẽ.

Nếu bỏ qua các đối số ngõ ra thì lệnh pzmap sẽ vẽ ra biều đồ cực-zero trên màn hình.

pzmap là phương tiện tìm ra các cực và zero tuyền đạt của hệ MIMO.

pzmap(a,b,c,d) vẽ các cực và zero của hệ không gian trạng thái trong mặt phẳng phức. Đối

với các hệ thống MIMO, lệnh sẽ vẽ tất cả các zero truyền đạt từ tất cả các ngõ vào tới tất cả các

ngõ ra. Trong mặt phẳng phức, các cực được biểu diễn bằng dấu ×còn các zero được biểu diễn

bằng dấu o.

pzmap(num,den) vẽ các cực và zero của hàm truyền trong mặt phẳng phức. Vector num và

den chứa các hệ số tử số và mẫu số theo chiều giảm dần số mũ của s.

pzmap(p,z) vẽ các cực và zero trong mặt phẳng phức. Vector cột p chứa tọa độ các cực và

vector cột z chứa tọa độ các zero trong mặt phẳng phức. Lệnh này vẽ các cực và zero đã được

tính sẵn trong mặt phẳng phức.

pdf19 trang | Chuyên mục: MATLAB | Chia sẻ: dkS00TYs | Lượt xem: 2481 | Lượt tải: 2download
Tóm tắt nội dung Khảo sát ứng dụng MATLAB trong điều khiển tự động - Nhóm lệnh về quỹ đạo nghiệm (Roots Locus), để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
 tắt dần được chỉ định trong vector z và vẽ đường tần 
số tự nhiên được chỉ định trong vector wn.
sgrid(z,wn,‘new’) xóa màn hình đồ họa trước khi vẽ các đường tỉ số tắt dần và tần số tự 
nhiên được chỉ định trong vector z và wn. Trạng thái hold on được thiết lập.
d) Ví dụ: Trích từ trang 11-200 sách ‘Control System Toolbox’
Vẽ lưới trong mặt phẳng s trên quỹ đạo nghiệm của hệ thống có hàm truyền :
num = [2 5 1]; % ta có thể thay đổi 2 dòng num=…, den=… thành dòng lệnh sau:
Khảo sát ứng dụng MATLAB trong điều khiển tự động 
den = [1 2 3]; % H(s)=tf([2 5 1],[1 2 3]);
rlocus(num,den)
title(‘Quy dao nghiem’)
sgrid
5. Lệnh ZGRID 
a) Công dụng:
Vẽ lưới tỉ lệ tắt dần và tần số tự nhiên cho quỹ đạo nghiệm gián đoạn.
b) Cú pháp:
zgrid
zgrid(‘new’)
zgrid(z,wn)
zgrid(z,wn,‘new’)
c) Giải thích:
Lệnh zgrid tạo lưới quỹ đạo cho nghiệm hoặc biểu đồ cực-zero trong mặt phẳng z. Các 
đường hằng số tỉ lệ tắt dần (ζ) và tần số tự nhiên chuẩn hóa sẽ được vẽ. ζ được thay đổi từ 0 tới 1 
theo từng nấc thay đổi là 0.1 và tần số tự nhiên được vẽ từ 0 tới pi với từng nấc thay đổi là pi/ω.
zgrid(‘new’) xóa màn hình đồ họa trước khi vẽ lưới và thiết lập trạng thái hold on để quỹ 
đạo nghiệm hoặc biểu đồ cực-zero được vẽ lên lưới sử dụng các lệnh :
zgrid('new')
rlocus(num,den) hoặc pzmap(num,den)
Khảo sát ứng dụng MATLAB trong điều khiển tự động 
zgrid(z,wn) vẽ hằng số tắt dần được chỉ định trong vector z và vẽ hằng số tần số tự nhiên 
cho các tần số chuẩn hóa được chỉ định trong vector wn. Các tần số chuẩn hóa có thể được vẽ 
bằng lệnh zgrid(z,wn/Ts) với tần số là thời gian lấy mẫu.
zgrid(z,wn,‘new’) xóa màn hình đồ họa trước khi vẽ tỉ số tắt dần và tần số tự nhiên được chỉ 
định trong vector z và wn. Trạng thái hold on được thiết lập.
zgrid([ ],[ ]) sẽ vẽ ra vòng tròn đơn vị.
d) Ví dụ: Trích từ 11-236 sách ‘Control System Toolbox’
Vẽ lưới trong mặt phẳng cho quỹ đạo nghiệm của hệ thống có hàm truyền :
8.06.1
5.14.32)( 2
2
+−
+−
=
sz
zzzH
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’)
Khảo sát ứng dụng MATLAB trong điều khiển tự động 
CÁC BÀI TẬPVỀ QUỸ ĐẠO NGHIỆM
Bài 1:
KGH =
)5s)(4s(s
k
++
 với k = 2
» num = 2;
» den = [1 9 20 0];
» rlocus(num,den)
- 7 - 6 - 5 - 4 - 3 - 2 - 1 0 1 2
- 1 0
- 8
- 6
- 4
- 2
0
2
4
6
8
1 0
R e a l A x i s
Im
a
g 
Ax
is
Khảo sát ứng dụng MATLAB trong điều khiển tự động 
 Từ đồ thị cho ta:
1. Điểm cực: 0 ,-4,-5.
2. Quỹ đạo nghiệm có 3 nhánh.
3. Điểm zero ở vô cùng (∞ ).
4. Điểm tách được xác định bằng cách từ cửa sổ MATLAB ta nhập:
» num = 2;
» den = [1 9 20 0];
» rlocus(num,den);
» rlocfind(num,den)
Sau khi nhập lệnh thì trên cửa sổ lệnh sẽ xuất hiện hàng chữ:
Select a point in the graphics window (hãy chọn 1 điểm trên đồ thị minh họa).
Trên đồ thị sẽ có thước cho ta chọn điểm – kéo rê chuột để chọn điểm cần chọn.
selected_point = -1.4516 
Điểm tách có giá trị: -1.4516
Giao điểm của quỹ đạo nghiệm với trục ảo (tương tự như tìm điểm tách): +4.472j, -4.472j.
Từ giá trị tại giao điểm của quỹ đạo nghiệm với trục ảo ta thế vào phương trình đặc trưng: 
 F(s) = s3+9s2+20s+k = 0
 F(jw) = -jw3-9w2+20jw+k = 0 
 ⇒ kgh = 180
Kết luận: hệ thống sẽ ổn định khi 0 < k < 180
Bài 2:
KGH = 
)20s4s)(4s(s
k
2 +++
 (k = 2)
» num = 2;
» den = [1 8 36 80 0];
» rlocus(num,den)
Khảo sát ứng dụng MATLAB trong điều khiển tự động 
- 6 - 5 - 4 - 3 - 2 - 1 0 1 2
- 5
- 4
- 3
- 2
- 1
0
1
2
3
4
5
R e a l A x i s
Im
a
g 
Ax
is
 Từ đồ thị cho ta:
1. Điểm cực: 0,-4,-2+4j,-2-4j; 
2. Quỹ đạo nghiệm có 4 nhánh
3. Điểm zero ở vô hạn (∞ )
4. Điểm tách được xác định bằng cách từ cửa sổ MATLAB ta nhập:
» num = 2;
» den = [1 8 36 80 0];
» rlocus(num,den);
» rlocfind(num,den);
Sau khi nhập lệnh thì trên cửa sổ lệnh sẽ xuất hiện hàng chữ:
Select a point in the graphics window (hãy chọn 1 điểm trên đồ thị minh họa). 
Trên đồ thị sẽ có thước cho ta chọn điểm – kéo rê chuột để chọn điểm cần chọn.
selected_point = -2, -2.0184 + 2.4561j, -2.0184 - 2.4561j
Điểm tách có giá trị: -2, -2.0184 + 2.4561j, -2.0184 - 2.4561j
Giao điểm của quỹ đạo nghiệm với trục ảo (tương tự như tìm điểm tách): +3.16j, -3.16j 
Từ giá trị tại giao điểm của quỹ đạo nghiệm với trục hoành ta thế vào phương trình đặc trưng: 
F(jw) = w4-8jw3-36w2+80jw+k
 ⇒ kgh = 260
Kết luận : hệ thống sẽ ổn định khi 0 < k < 260
Bài 3:
KGH = 2s
k
 (k = 2)
» num = 2;
» den =[1 0 0 ];
» rlocus(num,den)
Khảo sát ứng dụng MATLAB trong điều khiển tự động 
- 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
R e a l A x i s
Im
a
g 
Ax
is
 Từ đồ thị ta có:
1. Điểm cực : 0
2. Quỹ đạo nghiệm có 2 nhánh
3. Điểm zero ở vô hạn (∞ )
 Điểm tách có giá trị: 0 
Kết luận: hệ thống không ổn định. 
Bài 4:
KGH = 3s
k
» num = 2;
» den =[1 0 0 0];
» rlocus(num,den)
Khảo sát ứng dụng MATLAB trong điều khiển tự động 
- 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
R e a l A x i s
Im
a
g 
Ax
is
Từ đồ thị ta có:
1. Điểm cực: 0.
2. Quỹ đạo nghiệm có 3 nhánh.
3. Điểm zero ở vô hạn (∞).
 4. Điểm tách có giá trị: 0 
Kết luận: hệ thống không ổn định (vì hai nhánh của quỹ đạo nghiệm số luôn nằm nửa 
phải mặt phẳng phức).
Bài 5:
KGH = 
)1ts(s
k
+
 (k = 1, t = 2)
» num = 1;
» den = [2 1 0];
» rlocus(num,den)
Khảo sát ứng dụng MATLAB trong điều khiển tự động 
- 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
R e a l A x i s
Im
a
g 
Ax
is
1. Điểm cực : 0,-0.5
2. Quỹ đạo nghiệm có 2 nhánh
3. Điểm zero ở vô hạn (∞ )
4. Điểm tách được được xác định bằng cách từ cửa sổ MATLAB ta nhập:
» num = 1;
» den = [2 1 0 ];
» rlocus(num,den);
» rlocfind(num,den)
Sau khi nhập lệnh thì trên cửa sổ lệnh sẽ xuất hiện hàng chữ:
Select a point in the graphics window (hãy chọn 1 điểm trên đồ thị minh họa). 
Trên đồ thị sẽ có thước cho ta chọn điểm – kéo rê chuột để chọn điểm cần chọn.
selected_point = -0.253
Điểm tách có giá trị: -0.253-
Kết luận: hệ thống luôn ổn định (vì quỹ đạo nghiệm luôn nằm ở nửa trái mặt phẳng 
phức).
Bài 6:
KGH = 2s
)1ts(k +
 (k = 1, t = 1)
» num = [1 1];
» den = [1 0 0];
» rlocus(num,den)
Khảo sát ứng dụng MATLAB trong điều khiển tự động 
- 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
R e a l A x i s
Im
a
g 
Ax
is
1. Điểm cực: 0 
2. Quỹ đạo nghiệm có 2 nhánh
3. Điểm zero ở ∞, -1 
4. Điểm tách được được xác định bằng cách từ cửa sổ MATLAB ta nhập:
» num = [1 1];
» den = [1 0 0];
» rlocus(num,den);
» rlocfind(num,den)
Sau khi nhập lệnh thì trên cửa sổ lệnh sẽ xuất hiện hàng chữ:
Select a point in the graphics window (hãy chọn 1 điểm trên đồ thị minh họa). 
Trên đồ thị sẽ có thước cho ta chọn điểm – kéo rê chuột để chọn điểm cần chọn.
selected_point = -2
Điểm tách có giá trị: -2.
Kết luận: hệ thống ở biên ổn định. 
Bài 7:
KGH = )1st)(1st(
k
21 ++
 (k = 1, t1 = 2, t2 = 1)
» num = 1;
» den = [2 3 1];
» rlocus(num,den)
Khảo sát ứng dụng MATLAB trong điều khiển tự động 
- 2 - 1 . 5 - 1 - 0 . 5 0 0 . 5 1
- 2
- 1 . 5
- 1
- 0 . 5
0
0 . 5
1
1 . 5
2
R e a l A x i s
Im
a
g 
Ax
is
1. Điểm cực: -0.5, -1. 
2. Quỹ đạo nghiệm có 2 nhánh
3. Điểm zero ở vô hạn (∞ )
4. Điểm tách được được xác định bằng cách từ cửa sổ MATLAB ta nhập:
» num = 1;
» den = [2 3 1];
» rlocus(num,den);
» rlocfind(num,den)
Sau khi nhập lệnh thì trên cửa sổ lệnh sẽ xuất hiện hàng chữ:
Select a point in the graphics window (hãy chọn 1 điểm trên đồ thị minh họa). 
Trên đồ thị sẽ có thước cho ta chọn điểm – kéo rê chuột để chọn điểm cần chọn.
selected_point = -0.75.
Điểm tách có giá trị: -0.75 
Kết luận: hệ thống luôn ổn định.
Bài 8:
KGH = ( ) ( ) ( ) 24s1s1s
k
+−+
 (k = 10)
» num =10;
» den = [ 1 8 15 -8 -16];
» rlocus(num,den)
Khảo sát ứng dụng MATLAB trong điều khiển tự động 
- 6 - 5 - 4 - 3 - 2 - 1 0 1 2 3
- 5
- 4
- 3
- 2
- 1
0
1
2
3
4
5
R e a l A x i s
Im
a
g 
Ax
is
1. Điểm cực : 1, -1 và 1 cực kép -4. 
2. Quỹ đạo nghiệm có 4 nhánh.
3. Điểm zero: có 4 zero ở vô cùng (∞ ).
4. Điểm tách được được xác định bằng cách từ cửa sổ MATLAB ta nhập:
» num =10;
» den = [ 1 8 15 -8 -16];
» rlocus(num,den);
» rlocfind(num,den)
Sau khi nhập lệnh thì trên cửa sổ lệnh sẽ xuất hiện hàng chữ:
Select a point in the graphics window (hãy chọn 1 điểm trên đồ thị minh họa). 
Trên đồ thị sẽ có thước cho ta chọn điểm – kéo rê chuột để chọn điểm cần chọn.
selected_point = 0.2308, -4
Điểm tách có giá trị: 0.2308, -4
Kết luận: Hệ thống luôn không ổn định vì tồn tại 1 nghiệm của phương trình đặc trưng 
nằm bên phải mặt phẳng phức.
Bài 9: Trích từ trang 5-19 sách ‘Control System Toolbox’
Bài này tổng hợp các lệnh:
» 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)
» pzmap(h)
» subplot(224)
Khảo sát ứng dụng MATLAB trong điều khiển tự động 
» plot(rand(1,100)
» plot(rand(1,100))
F r e q u e n c y ( r a d / s e c )
P
ha
s
e
(d
e
g)
; 
M
a
gn
itu
de
(d
B
) B o d e D i a g r a m s
- 2 0
0
2 0
F r o m : U ( 1 )
1 0 - 1 1 0 0 1 0 1
- 1 0 0
0
1 0 0
To
: 
Y
(1
)
T i m e ( s e c . )
A
m
pl
itu
de
S t e p R e s p o n s e
0 2 4 6 8 1 0 1 2
0
0 . 5
1
1 . 5
F r o m : U ( 1 )
To
: 
Y
(1
)
R e a l A x i s
Im
a
g 
A
x
is
P o l e - z e r o m a p
- 3 - 2 - 1 0 1
- 4
- 2
0
2
4
0 5 0 1 0 0
0
0 . 2
0 . 4
0 . 6
0 . 8
1
b a i t o n g h o p
 Bài 10: Cho hàm truyền như sau:
 ( )( )2s1s
4s)s(G
++
+
=
 Viết theo cấu trúc sau ta có được đồ thị biểu diễn quỹ đạo nghiệm:
 » num=[1 4];
 » den=conv([1 1],[1 2])
 » rlocus(num,den)
 Kết quả như hình sau:
Khảo sát ứng dụng MATLAB trong điều khiển tự động 

File đính kèm:

  • pdfKhảo sát ứng dụng MATLAB trong điều khiển tự động - Nhóm lệnh về quỹ đạo nghiệm (Roots Locus).pdf