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

下載本文檔

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

文檔簡介

1、智能控制課后仿真報告院 (系):電氣與控制工程學(xué)院專業(yè)班級:自動化 1301 班姓名:楊光輝學(xué)號:1306050115精選文庫題目 2-3:求二階傳遞函數(shù)的階躍相應(yīng)( )133取采樣時間為Gp S25SS21ms 進行離散化。參照專家控制仿真程序,設(shè)計專家PID 控制器,并進行MATLAB 仿真。專家 PID 控制 MATLAB 仿真程序清單:%Exoert PID Controllerclearall; %清理數(shù)據(jù)庫中所有數(shù)據(jù)closeall; %關(guān)閉所有界面圖形ts=0.001;%對象采樣時間, 1mssys=tf(133,1,25,0);%受控對象的傳遞函數(shù)dsys=c2d(sys,ts

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

3、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ī)則, if.then.;誤差的絕對值大于u(k)=0.45;%控制器輸出量等于elseifabs(x(1)>0.40u

4、(k)=0.40;elseifabs(x(1)>0.20u(k)=0.12;elseifabs(x(1)>0.01u(k)=0.10;end %if循環(huán)結(jié)束%Rule2規(guī)則 2ifx(1)*x(2)>0|(x(2)=0)%if循環(huán)開始,如果誤差增大或不變ifabs(x(1)>=0.05%內(nèi)嵌 if循環(huán)開始,如果誤差絕對值大于u(k)=u_1+2*kp*x(1);%控制器輸出量施加較強控制-2精選文庫else%否則u(k)=u_1+0.4*kp*x(1);%控制器輸出量施加一般控制end %內(nèi)嵌 if循環(huán)結(jié)束end %if循環(huán)結(jié)束%Rule3規(guī)則 3if(x(1)*x(2

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

6、ration 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對控制輸出設(shè)限if u(k)>=10u(k)=10;%設(shè)控制器輸出量上限值endif u(k)<=-10u(k)=-10;%設(shè)控制器輸出量下限值end%Linear model Z變化后系統(tǒng)的線性模型y(k)=-den(2)*y_1-

7、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賦誤差 error值于 x1x2_1=x(2);%賦值前步計算時的誤差導(dǎo)數(shù)X2 的值等于 X2_1x(2)=(error(k)-error_1)/ts;% Calculating D求

8、誤差導(dǎo)數(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' ); %畫圖,以時間為橫坐標,分別畫出系統(tǒng)輸入、輸出隨時間的變化曲線xlabel('time(s)');ylabel('r,y');%標注坐標figure(2);%圖形 2-3精選文庫plot(time,

9、r-y,'r');%畫 r-y,即誤差隨時間的變化曲線xlabel('time(s)');ylabel('error');%標注坐標專家 PID 控制 MATLAB 仿真程序過程及結(jié)果:1.在 MATLAB編輯環(huán)境下編寫專家PID 控制仿真程序2.編譯運行程序后Figure1:PID 控制階躍響應(yīng)曲線Figure2:-4精選文庫誤差響應(yīng)隨時間變化曲線題目 3-4:如果 A10.5且 B0.10.51,則C0.21 ?,F(xiàn)已知x 1x 2y1y 2y 3z1z2A10.80.1 且 B10.50.20 ,利用模糊推理公式(3.27)和x1x 2y1y

10、 2y3(3.28)求 C1 ,并采用MATLAB進行仿真。模糊推理MATLAB 仿真程序清單:clearall; %清理數(shù)據(jù)庫中所有數(shù)據(jù)closeall; %關(guān)閉所有界面圖形 ?A=1;0.5;%輸入各元素在 A 中的隸屬度B=0.1,0.5,1;%輸入各元素在 B 中的隸屬度C=0.2,1;%輸入各元素在 C 中的隸屬度%Compound of A and B %合成A和Bfori=1:2%A矩陣的行數(shù)取值iforj=1:3%B矩陣的列數(shù)取值jAB(i,j)=min(A(i),B(j);%實現(xiàn) A, B 的“與”關(guān)系endend%Transfer to Column %轉(zhuǎn)換列向量T1=;%

11、定義轉(zhuǎn)置矩陣T1fori=1:2%AB矩陣的行數(shù)取值iT1=T1;AB(i,:)'%轉(zhuǎn)置 AB 矩陣-5精選文庫end%Get fuzzy R %確立模糊關(guān)系矩陣Rfori=1:6%R矩陣列數(shù)取值iforj=1:2%R矩陣行數(shù)取值jR(i,j)=min(T1(i),C(j);%確定模糊關(guān)系矩陣Rendend%A1=0.8,0.1;%輸入各元素在A1 中的隸屬度B1=0.5,0.2,0;%輸入各元素在B1 中的隸屬度fori=1:2%A1 矩陣的行數(shù)取值iforj=1:3%B1 矩陣的行數(shù)取值jAB1(i,j)=min(A1(i),B1(j);%實現(xiàn) A1 和 B1 的“與”關(guān)系ende

12、nd%Transfer to Row%轉(zhuǎn)換行向量T2=; %定義轉(zhuǎn)置矩陣T2fori=1:2%AB1 矩陣的行數(shù)取值iT2=T2,AB1(i,:);%擴展 A1B1矩陣end%Get output C1%確定輸出fori=1:6%轉(zhuǎn)置矩陣T2 列數(shù)取值forj=1:2%模糊矩陣 R 行數(shù)取值D(i,j)=min(T2(i),R(i,j);C1(j)=max(D(:,j);%輸出 C1 矩陣endend模糊推理MATLAB 仿真程序過程及結(jié)果:1.在 MATLAB編輯環(huán)境下編寫模糊推理仿真程序-6精選文庫2.編譯運行程序后AB 與關(guān)系:轉(zhuǎn)置矩陣T1:模糊矩陣R:A1B1 與關(guān)系:-7精選文庫轉(zhuǎn)置

13、矩陣T2:輸出矩陣C1:題目 4-3:已知某一爐溫控制系統(tǒng),要求溫度保持在600恒定。針對該控制系統(tǒng)有以下控制經(jīng)驗:( 1)若爐溫低于 600,則升壓;低得越多升壓越高。( 2)若爐溫高于 600,則降壓;高得越多降壓越低。( 3)若爐溫等于 600,則保持電壓不變。設(shè)模糊控制器為一維控制器,輸入語言變量為誤差,輸出為控制電壓。輸入、輸出變量的量化等級為7 級,取 5 個模糊集。試設(shè)計隸屬度函數(shù)誤差變化劃分表、控制電壓變化劃分-8精選文庫表和模糊控制規(guī)則表。解:輸入( e)以及輸出 (u)分為 5 個模糊集: NB、NS、ZO、PS、 PB。輸入變量( e)以及輸出變量(u)分為 7 個等級:

14、-3、-2、-1、 0、+1、 +2、 +3。爐溫變化 e 劃分表隸屬度變化等級-3-2-10123模PB000000.51糊PS000010.50集ZO000.510.500NS00.510000NB10.500000控制電壓變化劃分表隸屬度變化等級-3-2-10123模PB000000.51糊PS000010.50集ZO000.510.500NS00.510000NB10.500000模糊控制規(guī)則表-9精選文庫若( IF)NBeNSeZOePSePBe則(THEN) NBuNSuZOuPSuPBu爐溫模糊控制MATLAB 仿真程序清單:%Fuzzy Control for furnace

15、temperatureclearall; %清理數(shù)據(jù)庫中所有數(shù)據(jù)closeall; %關(guān)閉所有界面圖形a=newfis('fuzz_temperature'); %模糊爐溫a=addvar(a,'input', 'e',-3,3);%Parameter e輸入?yún)?shù) e的取值范圍a=addmf(a,'input',1,'NB', 'zmf',-3,-1);a=addmf(a,'input',1,'NS', 'trimf',-3,-1,1);a=addmf

16、(a,'input',1,'Z','trimf',-2,0,2);a=addmf(a,'input',1,'PS', 'trimf',-1,1,3);a=addmf(a,'input',1,'PB', 'smf',1,3);a=addvar(a,'output', 'u',-3,3);%Parameter u輸出參數(shù) u 的取值范圍a=addmf(a,'output',1,'NB', &#

17、39;zmf',-3,-1);a=addmf(a,'output',1,'NS', 'trimf',-3,-2,1);a=addmf(a,'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);rulelist=1 1 1 1;%

18、Edit?rule?base編輯規(guī)則庫2211;3311;4411;5511;a=addrule(a,rulelist);a1=setfis(a,'DefuzzMethod', 'mom' ); %Defuzzywritefis(a1,'temperature'); %Save to fuzzy file "temperature.fis"保存模糊文件 "temperature.fis"a2=readfis('temperature');figure(1);%圖形 1plotfis(a2);%畫圖figure(2);%圖形 2plotmf(a,'inpu

溫馨提示

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

評論

0/150

提交評論