Báo cáo thí nghiệm: Tự động hoá và điều khiển tối ưu
Bài 1 Cơ Sở MATLAB
I. Khởi động MATLAB
1. Khởi động
ã Khi khởi động xong MATLAB trên màn hình soạn thảo xuất hiện dấu nhắc lệnh như sau: >>
ã Biến trong MATLAB có thể dài 19 ký tự bắt đầu bằng chữ cái.
ã Khi viết xong một lệnh nếu kết thúc bằng dấu chấm phẩy “ ; ” thì sau khi nhấn Enter kết quả sẽ không được hiển thị nhưng vẫn được lưu vào bộ nhớ.
2. Các phép toán vô hướng
*Cộng: a+b
*Trừ: a-b
*Nhân: a*b
*Chia: a/b
*Luỹ thừa: a^b
3. Các phép logic
*Phép hoặc: a|b
*Phép và: a&b
*Phép phủ định: ~a
II. Ma trận và các phép toán ma trận trong MATLAB
1. Ma trận
ã Cách nhập ma trận:
Matrận dòng
>>A=[1 2.5 3.2 4.6 5.6] hoặc
>>A=[1,2.5,3.2,4.6,5.6]
Nhập ma trận cột
>>B=[-1,0,0;-1,1,0;1,-1,0;0,0,2] hoặc
>>B=[-1 0 0
-1 1 0
1 -1 0
0 0 2]
ã Có thể định nghĩa một ma trận theo cách sau:
>> A=[ 0 0 1 -1 5]
>>C=[ -1 -5 A]
ã Các ma trận đặc biệt:
Ma trận 0 (Zero)
>>zeros(4,4)
11 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 2365 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Báo cáo thí nghiệm: Tự động hoá và điều khiển tối ưu, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
B¸o c¸o thÝ nghiÖm : Tù §éng Ho¸ vµ §iÒu KhiÓn Tèi ¦u
Bµi 1 C¬ Së MATLAB
I. Khëi ®éng MATLAB
1. Khëi ®éng
¨ Khi khëi ®éng xong MATLAB trªn mµn h×nh so¹n th¶o xuÊt hiÖn dÊu nh¾c lÖnh nh sau: >>
¨ BiÕn trong MATLAB cã thÓ dµi 19 ký tù b¾t ®Çu b»ng ch÷ c¸i.
¨ Khi viÕt xong mét lÖnh nÕu kÕt thóc b»ng dÊu chÊm phÈy “ ; ” th× sau khi nhÊn Enter kÕt qu¶ sÏ kh«ng ®îc hiÓn thÞ nhng vÉn ®îc lu vµo bé nhí.
2. C¸c phÐp to¸n v« híng
*Céng: a+b
*Trõ: a-b
*Nh©n: a*b
*Chia: a/b
*Luü thõa: a^b
3. C¸c phÐp logic
*PhÐp hoÆc: a|b
*PhÐp vµ: a&b
*PhÐp phñ ®Þnh: ~a
II. Ma trËn vµ c¸c phÐp to¸n ma trËn trong MATLAB
1. Ma trËn
¨ C¸ch nhËp ma trËn:
MatrËn dßng
>>A=[1 2.5 3.2 4.6 5.6] hoÆc
>>A=[1,2.5,3.2,4.6,5.6]
NhËp ma trËn cét
>>B=[-1,0,0;-1,1,0;1,-1,0;0,0,2] hoÆc
>>B=[-1 0 0
-1 1 0
1 -1 0
0 0 2]
¨ Cã thÓ ®Þnh nghÜa mét ma trËn theo c¸ch sau:
>> A=[ 0 0 1 -1 5]
>>C=[ -1 -5 A]
¨ C¸c ma trËn ®Æc biÖt:
Ma trËn 0 (Zero)
>>zeros(4,4)
ans=
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
Ma trËn 1(ones)
>>ones(4,4)
ans=
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
Ma trËn ®¬n vÞ
>>eye(4,5)
ans=
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
>>eye(3)
ans=
1 0 0
0 1 0
0 0 1
2. C¸c phÐp to¸n ma trËn
*PhÐp chuyÓn vÞ:
>> A= [ 1 1 1 1; 1 2 3 4];
>>B=A’
B= 1 1
1 2
1 3
1 4
*PhÐp nh©n ma trËn
>> C=A.*B;
-PhÐp luü thõa:
>>C=A.^k;
*PhÐp nh©n v« híng hai ma trËn cïng cì:
>>C=A*B;
*PhÐp lÊy ®Þnh thøc ma trËn:
>>x=det(A);
*PhÐp nghÞch ®¶o ma trËn:
>>B=inv(A); hoÆc
>>B=A.^-1;
III. Gi¶i ph¬ng tr×nh ®¹i sè b»ng c¸ch sö dông MATLAB
1. Gi¶i ph¬ng tr×nh bËc nhÊt nhiÒu Èn
Cho hÖ ph¬ng tr×nh sau:
5x+4y-3.5z+4t+5.5u=-5
-3.2x+4y-6z+6.12t+7u=1
x+6y-z+5t-6u=7.5
4x+2y-3.2z+2t-7u=13.2
5.3x-6.1y+3z-t+u=15
LËp c¸c ma trËn sau:
>>C=[ 5 4 -3.5 4 5.5
-3.2 4 -6 6.12 7
1 6 -1 5 6
4 2 -3.2 2 -7
5.3 -6.1 3 -1 1];
>>D=[-5;1;7.5;13.2;15];
>>C\D
ans=
-0.4938
-1.0747
3.0752
6.0454
-2.1183
2. Gi¶i ph¬ng tr×nh bËc cao
T×m nghiÖm cña ®a thøc sau:
+ 6.32+ 5 + 4.12 + 62S +112=0
Tr×nh tù gi¶i
>>A=[ 1 6.32 5 4.12 62 112];
>>Roots(A)
ans=
-5.2312
1.3313 + 1.8152i
1.3313 - 1.8152i
-1.8757 + 0.8409i
-1.8757 - 0.8409i
3. Gi¶i ph¬ng tr×nh vi ph©n
Cho ph¬ng tr×nh vi ph©n nh sau:
x(3)+3x’’+2.89x’+1.78x(t)=sin(0.2*t)
suy ra: x(3)=-3x’’-2.89x’-1.78x(t)+sin(0.2*t)
Trªn MATLAB ph¬ng tr×nh trªn ®îc gi¶i nh sau:
C¸ch 1
LËp M-file
Function dxdt=f(t,x)
Dxdt=[x(2);x(3);-1.78*x(1)-2.89*x(2)-3*x(3)+sin(0.2*t)]
Save file víi tªn: “ruou”
Trªn cña sæ so¹n th¶o lÖnh:
>>tspan=[0 10];% thêi gian tÝnh tõ 0 ®Õn 10 gi©y
>>x0=[-2 0 2]; % ®iÒu kiÖn ban ®Çu
>>[t,x]=ode45(‘Quy’,tspan,x0); % gi¶i ph¬ng tr×nh b»ng ode45
>>plot(t,x) %vÏ nghiÖm
C¸ch 2
NhÊn vµo biÓu tîng Simulink
T¹o New model
>>dee
T¹o mét mÉu nh sau:
Trong Dee khai b¸o:
Sau ®ã cho ch¹y Simulink
KÕt qu¶ nghiÖm ®îc hiÓn thÞ trong Scope nh sau:
IV. VÏ ®å thÞ trªn MATLAB
1. S¬ lîc vÏ ®å thÞ
VÏ ®å thÞ X=sin(2t) víi t=0÷10
>>t=0:0.01:10;
>>x=sin(2*t);
>>plot(t,x)
2. VÏ hai ®å thÞ trªn cïng mét hÖ to¹ ®é
>>t=0:0.01:10;
>>x=sin(2*t);
>>y=exp(-0.5*t).*cos(2.5*t);
>>plot(t,x,t,y)
3. Khi hµm sè cã nhiÒu biÕn
VÝ dô: vÏ ®å thÞ y=sin(w*t) khi w=1 ÷ 4 vµ t=0 ÷ 10
Tr×nh tù lµm nh sau:
>>[t,w]=(0:.1:10,1:.1:4);
>>y=sin(w.*t);
>>plot(t,y)
Bµi 2 MATLAB trong xö lý sè cho c¸c tÝn hiÖu
I. MATLAB trong xö lý sè cho c¸c tÝn hiÖu
1.Hµm truyÒn
Gi¶ sö hÖ thèng cã hµm truyÒn nh sau:
1
W= -------------
s^2 + 2 s + 1
*Hµm truyÒn sÏ ®îc vµo lÖnh nh sau:
>>W=tf(1,[1 2 1]);
2.§¸p øng cña hÖ thèng
*§Ó t×m ®¸p øng cña hÖ thèng víi ®Çu vµo lµ tÝn hiÖu 1(t)
>>Step(W)
*§Ó t×m ®¸p øng cña hÖ thèng víi ®Çu vµo lµ tÝn hiÖu xung dirac δ(t)
>>impulse(W)
*VÏ biÓu ®å biªn ®é vµ pha víi trôc tÇn sè
>>Bode(W)
*VÏ biÓu ®å biªn ®é vµ pha víi trôc logarit
>>nyquist(W)
*§¸p øng cña hÖ thèng víi tÝn hiÖu ®Çu vµo bÊt kú: u=sin(0.5*t)
>>w=tf(1,[1 2 1]);
>>t=0:.1:10;
>>u=sin(0.5*t);
>>[y,x]=lsim(w,u,t);
>>plot(t,y)
II.øng dông phÇn mÒm Simulink. Bµi tËp
Nhèm sè 1.
§Ò Bµi:
chän bé ®iÒu khiÓn PID cho ®èi tîng ®iÒu khiÓn cã hµm truyÒn sau:
H(s)=3.5*exp(-4*s)/(15*s+1);
Tèc ®é giíi h¹n +- 2vµ trÞ sè b·o hoµ +-1;
Bµi Lµm.
T×m Kgh ®Ó cho nghiÖm cña ph¬ng tr×nh ®Æc trng cña hÖ thèng kÝn ë tr¹ng th¸i biªn giíi æn ®Þnh.
Dïng c¸c lÖnh MatLab thùc hiÖn nh sau:
W=tf(3.5,[15 1] );
[num,den]=pade(4,3);
c=tf(num,den);
H=W*c;
H
Transfer function:
-3.5 s^3 + 10.5 s^2 - 13.13 s + 6.563
---------------------------------------------
15 s^4 + 46 s^3 + 59.25 s^2 + 31.88 s + 1.875
rlocus(H);
>> [Kgh,p]=rlocfind(H);
Select a point in the graphics window
selected_point =
0.0010 + 0.4316i
Kgh =
1.8796
p =
-1.3150 + 1.8317i
-1.3150 - 1.8317i
0.0010 + 0.4316i
0.0010 - 0.4316i
t=0:0.1:200;
>> step(feedback(Kgh*H,1),t)
X¸c ®Þnh T giíi h¹n:
>> Tgh=71.3-57.1
Tgh =
14.2000
>> Kp=0.6*Kgh
Kp =
1.1278
>> Ki=Kp/0.5/Tgh
Kd=Kp*0.125*Tgh
Ki =
0.1588
Kd =
2.0018
LËp m« h×nh nh sau:
§Æt c¸c th«ng sè cho c¸c kh©u theo ®Ò bµi, tèc ®é giíi h¹n +-2, trÞ sè b·o hoµ +-1;
Cho m« pháng ®îc kÕt qu¶ nh h×nh chôp díi ®©y:
Sau khi ch¹y NCD chóng ta ®îc kÕt qu¶:
Creating simulink model tp142588 for gradients...Done
f-COUNT MAX{g} STEP Procedures
1 0.99 1
2 0.99 1 Hessian not updated
3 0.99 1 Hessian not updated
Optimization Converged Successfully
Nh vËy c¸c gi¸ trÞ cña bé ®iÒu khiÓn PID tèi u sÏ lµ:
Kp=0.99
Kp =
0.9900
>> Ki=Kp/0.5/Tgh
Ki =
0.1394
>> Kd=Kp*0.125*Tgh
Kd =
1.7572
Các file đính kèm theo tài liệu này:
- Báo cáo thí nghiệm - Tự Động Hoá và Điều Khiển Tối Ưu.DOC