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

下載本文檔

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

文檔簡(jiǎn)介

1、個(gè)人收集整理僅供參考學(xué)習(xí)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、(2)*u_5;error(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控制

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

4、imf,-2.5 0 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的模糊語(yǔ)言變量a=addmf(a,'input'2'NB','trimf,-15 -10 -5);a=addmf(a,'input'2

5、9;NS','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的模糊語(yǔ)言變量a=addmf(a,

6、9;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:5e(i)=-4+i;ec(j)=-4+j

9、;%完成模糊推理計(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:300time(k尸k*ts;rin(k)=40;U(k)=evalfis(e

10、_1,ec_1,a2);%完成模糊推理計(jì)算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%朝正無(wú)窮方向取整figure(1); plotfis(a2);figure(2);plotmf(a,&#

11、39;input',1);figure(3);plotmf(a,'input',2);figure(4);plotmf(a,'output',1);figure;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');xlab

溫馨提示

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

評(píng)論

0/150

提交評(píng)論