智能控制課后仿真_第1頁
智能控制課后仿真_第2頁
智能控制課后仿真_第3頁
智能控制課后仿真_第4頁
智能控制課后仿真_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、屏女翁技大學XI'AN UM VERITY OF SCIENCE AMD TECHNOLOGY智能控制課后仿真報告資料院(系):電氣與控制工程學院專業(yè)班級:自動化1301班姓名:楊 光 輝學號:1306050115題目2-3 :求二階傳遞函數(shù)的階躍相應Gp(S) = 2133匚。取采樣時間為S 25S1ms進行離散化。參照專家控制仿真程序,設計專家PID控制器,并進行MATLAB仿真。專家PID 控制MATLAB仿真程序清單:%Exoert PID Controllerclear all;%清理數(shù)據(jù)庫中所有數(shù)據(jù)close all;%關閉所有界面圖形ts=0.001; %對象采樣時間,

2、1mssys=tf(133,1,25,0);%受控對象的傳遞函數(shù)dsys=c2d(sys,ts, 'z');%連續(xù)系統(tǒng)轉(zhuǎn)化為離散系統(tǒng)num,den=tfdata(dsys,'v');%離散化后參數(shù),得 num 和 den 值u_1=0;u_2=0; %設定初值,u_1是第(k-1)步控制器輸出量y_1=0;y_2=0; %設定初值,y_1是第(k-1)步系統(tǒng)對象輸出量x=0,0,0' %設定誤差x1 誤差導數(shù)x2 誤差積分x3 變量初值x2_1=0; %設定誤差導數(shù)x2_1 的初值kp=0.6; %設定比例環(huán)節(jié)系數(shù)ki=0.03; %設定積分環(huán)節(jié)系數(shù)kd

3、=0.01; %設定微分環(huán)節(jié)系數(shù)error_1=0; % 設定誤差error_1 的初值for k=1:1:5000 %for 循環(huán)開始,k 從 1 變化到 500 ,每步的增量為1time(k)=k*ts;%仿真時長0.001 0.5sr(k)=1.0; %Tracing Step Signal 系統(tǒng)輸入信號u(k)=kp*x(1)+kd*x(2)+ki*x(3); %PID ControllerPID 控制器%Expert control rule%Rule1:Unclosed control rule 規(guī)則 1 :開環(huán)控制if abs(x(1)>0.8 %if 循環(huán)開始,產(chǎn)生式規(guī)則

4、,if.then. ;誤差的絕對值大于u(k)=0.45; %控制器輸出量等于elseif abs(x(1)>0.40u(k)=0.40;elseif abs(x(1)>0.20 u(k)=0.12;elseif abs(x(1)>0.01u(k)=0.10;end %if 循環(huán)結(jié)束%Rule2 規(guī)則 2if x(1)*x(2)>0|(x(2)=0) %if 循環(huán)開始,如果誤差增大或不變if abs(x(1)>=0.05%內(nèi)嵌 if 循環(huán)開始,如果誤差絕對值大于u(k)=u_1+2*kp*x(1);%控制器輸出量施加較強控制else % 否則u(k)=u_1+0.

5、4*kp*x(1);%控制器輸出量施加一般控制end %內(nèi)嵌 if 循環(huán)結(jié)束end %if 循環(huán)結(jié)束%Rule3 規(guī)則 3if (x(1)*x(2)<0&x(2)*x2_1>0)|(x(1)=0) %if 循環(huán)開始,如果誤差減小或消除u(k)=u(k); %控制器輸出量不變end %if 循環(huán)結(jié)束%Rule4 規(guī)則 4if x(1)*x(2)<0&x(2)*x2_1<0 %if 循環(huán)開始,如果誤差處于極值狀態(tài)if abs(x(1)>=0.05%內(nèi)嵌if 循環(huán)開始,如果誤差絕對值大于u(k)=u_1+2*kp*error_1;%控制器輸出量施加較強控

6、制else % 否則u(k)=u_1+0.6*kp*error_1;%控制器輸出量施加一般控制end %內(nèi)嵌 if 循環(huán)結(jié)束end %if 循環(huán)結(jié)束%Rule5:Integration separation PI control規(guī)則 5; 運用 PI 控制來消除誤差if abs(x(1)<=0.001 %if 循環(huán)開始如果誤差絕對值小于(很小)u(k)=0.5*x(1)+0.010*x(3);%控制器輸出量用比例和積分輸出end %if 循環(huán)結(jié)束%Restricting the output of controller對控制輸出設限if u(k)>=10u(k)=10; %設控制器

7、輸出量上限值endif u(k)<=-10u(k)=-10; %設控制器輸出量下限值end%Linear model Z 變化后系統(tǒng)的線性模型y(k)=-den(2)*y_1-den(3)*y_2+num(1)*u(k)+num(2)*u_1+num(3)*u_2;error(k)=r(k)-y(k);%系統(tǒng)誤差error 的表達式,等于系統(tǒng)輸入減去輸出%Return of parameters%每步計算時的參數(shù)更新u_2=u_1;u_1=u(k);%u(k) 代替u_1y_2=y_1;y_1=y(k);%y(k) 代替 y_1x(1)=error(k); %Calculating P賦

8、誤差error 值于 x1x2_1=x(2); %賦值前步計算時的誤差導數(shù)X2 的值等于X2_1x(2)=(error(k)-error_1)/ts; % Calculating D 求誤差導數(shù) x2 ,用于下一步的計算x(3)=x(3)+error(k)*ts;% Calculating I 求誤差積分x3error_1=error(k);% 賦誤差error 值于 error_1end %for 循環(huán)結(jié)束,整個仿真時長計算全部結(jié)束figure(1); %圖形 1plot(time,r, 'b' ,time,y, 'r' );%畫圖, 以時間為橫坐標,分別畫出

9、系統(tǒng)輸入、輸出隨時間的變化曲線資料xlabel( 'time(s)' );ylabel( 'r,y');% 標注坐標figure(2); % 圖形 2plot(time,r-y, 'r');%畫r-y,即誤差隨時間的變化曲線xlabel( 'time(s)' );ylabel( 'error' );%標注坐標專家PID控制MATLAB 仿真程序過程及結(jié)果:1 .在MATLAB編輯環(huán)境下編寫專家 PID控制仿真程序2 .編譯運行程序后Figure1PID控制階躍響應曲線Figure2誤差響應隨時間變化曲線題目3-4

10、:如果a+05且B = 01+則-絲+?,F(xiàn)已知Xi X2yi y2 V3Zi Z2A二些+01且Bi二絲十絲十。,利用模糊推理公式(3.27)和Xi X2yi y2 V3(3.28)求Ci,并采用MATLAB進行仿真。模糊推理MATLAB 仿真程序清單:clear all ;%清理數(shù)據(jù)庫中所有數(shù)據(jù)close all ;%關閉所有界面圖形?A=1;0.5; %輸入各元素在A 中的隸屬度B=0.1,0.5,1; %輸入各元素在B 中的隸屬度C=0.2,1; %輸入各元素在C 中的隸屬度%Compound of A and B%合成 A 和 Bfor i=1:2 %A 矩陣的行數(shù)取值ifor j=1

11、:3 %B 矩陣的列數(shù)取值jAB(i,j)=min(A(i),B( j); %實現(xiàn) A, B 的“與”關系endend%Transfer to Column % 轉(zhuǎn)換列向量T1=; %定義轉(zhuǎn)置矩陣T1for i=1:2 %AB 矩陣的行數(shù)取值iT1=T1;AB(i,:)' %轉(zhuǎn)置 AB 矩陣end%Get fuzzy R % 確立模糊關系矩陣Rfor i=1:6 %R 矩陣列數(shù)取值ifor j=1:2 %R 矩陣行數(shù)取值jR(i,j)=min(T1(i),C(j); %確定模糊關系矩陣Rend end%A1=0.8,0.1; %輸入各元素在A1 中的隸屬度B1=0.5,0.2,0; %

12、輸入各元素在B1 中的隸屬度for i=1:2 %A1 矩陣的行數(shù)取值ifor j=1:3 %B1 矩陣的行數(shù)取值jAB1(i,j)=min(A1(i),B1(j); %實現(xiàn) A1 和 B1 的“與”關系endend%Transfer to Row% 轉(zhuǎn)換行向量T2=; %定義轉(zhuǎn)置矩陣T2for i=1:2 %AB1 矩陣的行數(shù)取值iT2=T2,AB1(i,:);%擴展 A1B1 矩陣end%Get output C1% 確定輸出for i=1:6 %轉(zhuǎn)置矩陣T2 列數(shù)取值for j=1:2 %模糊矩陣R 行數(shù)取值D(i,j)=min(T2(i),R(i,j);C1( j)=max(D(:,j

13、); %輸出 C1 矩陣endend資料模糊推理MATLAB仿真程序過程及結(jié)果:1.在MATLAB編輯環(huán)境下編寫模糊推理仿真程序2.編譯運行程序后AB與關系:轉(zhuǎn)置矩陣T1 :£-ti模糊矩陣R:必逐-RHT1AB1AA1田 &x2 double12312ojooq0.1 DOOn2ooo0.500030.200014JDOOQ.10005n.20000.5000S0.20000.5D007A1B1與關系:轉(zhuǎn)置矩陣T2:題目4-3 :已知某一爐溫控制系統(tǒng),要求溫度保持在600 C恒定。針對該控制系統(tǒng)有以下控制經(jīng)驗:(1)若爐溫低于600 C,則升壓;低得越多升壓越高。(2)若爐

14、溫高于600 C,則降壓;高得越多降壓越低。(3)若爐溫等于600 C,則保持電壓不變。設模糊控制器為一維控制器,輸入語言變量為誤差,輸由為控制電壓。輸入、輸由變量的量化等級為7級,取5個模糊集。試設計隸屬度函數(shù)誤差變化劃分表、控制電壓變化劃分表和模糊控制規(guī)則表。解:輸入(e)以及輸由(u)分為5個模糊集:NB、NS、 ZO、PS、PBo輸入變量(e)以及輸由變量(u)分為7個 等級:-3、-2、-1、0、+1、+2、+3。爐溫變化e劃分表隸屬度變化等級-3-2-10123模PB000000.51糊PS000010.50集ZO000.510.500NS00.510000NB10.500000控

15、制電壓變化劃分表隸屬度變化等級-3-2-10123模PB000000.51糊PS000010.50集ZO000.510.500NS00.510000NB10.500000模糊控制規(guī)則表若(IF)NBeNSeZOePSePBe則(THEN )NBuNSuZOuPSuPBu爐溫模糊控制MATLAB仿真程序清單:%Fuzzy Control for furnace temperatureclear all ;%清理數(shù)據(jù)庫中所有數(shù)據(jù) close all ;%關閉所有界面圖形a=newfis( 'fuzz_temperature' );%模糊爐溫的取值范圍a=addvar(a, '

16、;input' ,'e' ,-3,3); %Parameter e 輸入?yún)?shù)ea=addmf(a,'input' ,1,'NB' ,'zmf' ,-3,-1);a=addmf(a,'input' ,1,'NS' ,'trimf' ,-3,-1,1);a=addmf(a, 'input' ,1,'Z' ,'trimf' ,-2,0,2);a=addmf(a,'input' ,1,'PS' ,'

17、;trimf' ,-1,1,3);a=addmf(a,'input' ,1,'PB' ,'smf' ,1,3);a=addvar(a,'output' ,'u' ,-3,3); %Parameter u輸出參數(shù)a=addmf(a,'output' ,1,'NB' ,'zmf' ,-3,-1);a=addmf(a,'output' ,1,'NS' ,'trimf' ,-3,-2,1);a=addmf(a,'

18、output' ,1,'Z' ,'trimf' ,-2,0,2);a=addmf(a,'output' ,1,'PS' ,'trimf' ,-1,2,3);a=addmf(a,'output' ,1,'PB' ,'smf' ,1,3);u 的取值范圍rulelist=1 1 1 1; %Edit?rule?base 編輯規(guī)則庫2 2 1 1;3 3 1 1;4 4 1 1;5 5 1 1;a=addrule(a,rulelist);a1=setfis(a, &

19、#39;DefuzzMethod' ,'mom' );%Defuzzy保存模糊文件writefis(a1, 'temperature' );%Save to fuzzy file "temperature.fis" "temperature.fis"a2=readfis( 'temperature' );figure(1);%圖形1plotfis(a2); %畫圖figure(2);%圖形2plotmf(a,'input' ,1); %畫圖figure(3);%圖形3plotmf(a, 'output' ,1); %畫圖flag=1; %設標志位1if flag=1 % 如果標志位為1showrule

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論