MATLAB模糊控制仿真程序文檔良心出品_第1頁
MATLAB模糊控制仿真程序文檔良心出品_第2頁
MATLAB模糊控制仿真程序文檔良心出品_第3頁
MATLAB模糊控制仿真程序文檔良心出品_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、clear all;close all;ts=20;sys1=tf(1,60,1,'inputdelay',80);%生成或轉(zhuǎn)換傳遞函數(shù)模型dsys1=c2d(sys1,ts,'zoh');%將連續(xù)系統(tǒng)離散化num1,den1=tfdata(dsys1,'v');%傳統(tǒng)PID算法u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;y_1=0;y_2=0;y_3=0;error_1=0;ei=0;for k=1:1:300time(k)=k*ts;rin(k)=40;yout(k)=-den1(2)*y_1+num1(2)*u_5;erro

2、r(k)=rin(k)-yout(k);ei=ei+error(k)*ts;kp=0.8;ki=0.005;kd=3.0;u(k)=kp*error(k)+kd*(error(k)-error_1)/ts+ki*ei;if u(k)>=110u(k)=110;endif u(k)<=-110u(k)=-110;end%返回PID參數(shù)u 5=u 4;u 4=u 3;u 3=u 2;u 2=u 1;u 1=u(k);y_3=y_2;y_2=y_1;y_1=yout(k);error_1=error(k);end%獲得傳遞函數(shù)模型數(shù)據(jù)%模*® PID限制系統(tǒng)a=newfis(&

3、#39;fuzzf);%創(chuàng)立新的模糊推理系統(tǒng)f1=1;a=addvar(a,'input','e',-5*f1,5*f1);%添加e的模糊語言變量a=addmf(a,'input',1,'NB','trimf, -7.5 -5 -2.5);%添加e的模糊語言變量的隸屬度函數(shù)(z型)a=addmf(a,'input',1,'NS','trimf, -5 -2.5 0);a=addmf(a,'input',1,'ZE','trimf,-2.5 0

4、2.5);a=addmf(a,'input',1,'PS','trimf,0 2.5 5);a=addmf(a,'input',1,'PB','smf,2.5 5 7.5);f2=1;a=addvar(a,'input','ec',-10*f2,10*f2);%添加ec的模糊語言變量a=addmf(a,'input',2,'NB','trimf,-15 -10 -5);a=addmf(a,'input',2,'NS

5、9;,'trimf,-10 -5 0);a=addmf(a,'input',2,'Z','trimf, -5 -5.551e-017 5);a=addmf(a,'input',2,'PS','trimf, 0 5 10);a=addmf(a,'input',2,'PB','smf, 5 10 15);f3=1.5;a=addvar(a,'output','u',0*f3,220*f3);%添加u的模糊語言變量a=addmf(a,'

6、;output',1,'NB','trimf, -55 -4.441e-016 55);a=addmf(a,'output',1,'NS','trimf, 0 55 110);a=addmf(a,'output',1,'Z','trimf, 55 110 165);a=addmf(a,'output',1,'PS','trimf, 110 165 220);a=addmf(a,'output',1,'PB',&#

7、39;smf,165 220 275);rulelist=1 1 5 1 1;%編輯模糊規(guī)那么1 2 5 1 1;1 3 5 1 1;1 4 5 1 1;1 5 5 1 1;2 1 5 1 1;2 2 4 1 1;2 3 4 1 1;2 4 3 1 1;2 5 2 1 1;3 1 5 1 1;3 2 4 1 1;3 3 3 1 1;3 4 2 1 1;3 5 2 1 1;4 1 4 1 1;4 2 3 1 1;4 3 2 1 1;4 4 2 1 1;4 5 1 1 1;5 1 1 1 1;5 2 1 1 1;5 3 1 1 1;5 4 1 1 1;5 5 1 1 1;a=addrule(a,r

8、ulelist);%添加模糊規(guī)那么函數(shù)showrule(a)%顯示模糊規(guī)那么函數(shù)a1=setfis(a,'DefuzzMethod','centroid');% 設(shè)置模糊系統(tǒng)特性writefis(a1,'fuzzf);% 保存模糊系統(tǒng)a2=readfis('fuzzf);%從磁盤讀出保存的模糊系統(tǒng)disp('fuzzy Controller table:e=-5,+5,ec=-10,+10');%顯示矩陣和數(shù)組內(nèi)容Ulist=zeros(5,5);% 全零矩陣for i=1:5for j=1:5 e(i)=-4+i;ec(j)=-

9、4+j;%完成模糊推理計算Ulist(i,j)=evalfis(e(i),ec(j),a2); endendUlist=ceil(Ulist)sys1=tf(1,60,1,'inputdelay',80);dsys=c2d(sys1,ts,'zoh');num,den=tfdata(dsys,'v');U_1=0;U_2=0;U_3=0;U_4=0;U_5=0;Y_1=0;Y_2=0;Y_3=0;e_1=0.0;ec_1=0.0;Error_1=0;Ei=0for k=1:1:300 time(k)=k*ts;rin(k)=40;U(k)=eva

10、lfis(e_1,ec_1,a2);%完成模糊推理計算Yout(k)=-den(2)*Y_1+num(2)*U_5;Error(k)=rin(k)-Yout(k);ki=0.003; Ei=Ei+Error(k)*ts;U(k)=U(k)+ki*Ei;%返回參數(shù)U 5=U 4;U 4=U 3;U 3=U 2;U 2=U 1;U 1=U(k);Y_3=Y_2;Y_2=Y_1;Y_1=Yout(k);e_1=Error(k); ec_1=Error(k)-Error_1;Error_1=Error(k);end%朝正無窮方向取整figure(1); plotfis(a2);figure(2);pl

11、otmf(a,'input',1);figure(3);plotmf(a,'input',2);figure(4);plotmf(a,'output',1);figure(1);plot(time,rin,'b',time,yout,'r');xlabel('time(s)');ylabel('rin,yout');figure(2);plot(time,u,'r');xlabel('time(s)');ylabel('u');figure(3);plot(time,rin,'b',time,Yout,'r');xlabel('time(s)');ylabel('rin,yout');figure(4);plot(time,U,'r');xlabel

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論