模糊PID控制的C程序_第1頁
模糊PID控制的C程序_第2頁
模糊PID控制的C程序_第3頁
模糊PID控制的C程序_第4頁
模糊PID控制的C程序_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上/e:-3,3 ec:-3,3 kp:-0.3,0.3#include #define NB 0#define NM 1#define NS 2#define ZO 3#define PS 4#define PM 5#define PB 6/*/float uf(float x,float a,float b,float c);float cuf(float x,float a,float b,float c);float ufl(float x,float a,float b);float cufl(float x,float a,float b);float uf

2、r(float x,float a,float b);float cufr(float x,float a,float b);float ufr(float x,float a,float b);float cufr(float x,float a,float b);float fand(float a,float b);float forr(float a,float b);float FuzzyKp(float e,float ec);/主程序void main() float a,b,Kp; printf(The E is:); scanf(%f,&a); printf(The Ec i

3、s:); scanf(%f,&b); Kp=FuzzyKp(a,b); printf(The parameter Kp is: %fnn,Kp);float FuzzyKp(float e,float ec)float es7;float ecs7;/*模糊推理規(guī)則的可信度通過取小點(diǎn)運(yùn)算得到*/float form77;/(表X7)(隸屬度表)int i,j;/*求得的最大值賦給formab*/int a=0,b=0;float lsd;int p;float detkp;/*/int kp77=PB,PB,PM,PS,PS,ZO,ZO, PB,PB,PM,PS,PS,ZO,NS, PM,PM

4、,PM,PS,ZO,NS,NS, PM,PM,PS,ZO,NS,NM,NM, PS,PS,ZO,NS,NS,NM,NM, PS,ZO,NS,NM,NM,NM,NB, ZO,ZO,NM,NM,NM,NB,NB;esNB=ufl(e,-3,-1);esNM=uf(e,-3,-2,0);esNS=uf(e,-3,-1,1);esZO=uf(e,-2,0,2);esPS=uf(e,-1,1,3);esPM=uf(e,0,2,3);esPB=ufr(e,1,3);ecsNB=ufl(ec,-3,-1);/ececsNM=uf(ec,-3,-2,0);ecsNS=uf(ec,-3,-1,1);ecsZO=

5、uf(ec,-2,0,2);ecsPS=uf(ec,-1,1,3);ecsPM=uf(ec,0,2,3);ecsPB=ufr(ec,1,3);for(i=0;i7;i+)float w,h,r; for(j=0;j7;j+) h=esi;r=ecsj;w=fand(h,r);formij=w; for(i=0;i7;i+) for(j=0;j7;j+) if(formabformij) a=i; b=j; lsd=formab;/es和ecs最值中的最大值p=kpab;if(p=NB)detkp=cufl(lsd,-0.3,-0.1);else if(p=NM)detkp=cuf(lsd,-0

6、.3,0.2,0);else if(p=NS)detkp=cuf(lsd,-0.3,-0.1,0.1);else if(p=ZO)detkp=cuf(lsd,-0.2,0,0.2);else if(p=PS)detkp=cuf(lsd,-0.1,0.1,0.3);else if(p=PM)detkp=cuf(lsd,0,0.2,0.3);else if(p=PB)detkp=cufr(lsd,0.1,0.3);return detkp;/*以下為附屬子函數(shù)*/*求隸屬度(三角形)模糊化處理*/float uf(float x,float a,float b,float c)if(x=a)ret

7、urn (0);else if(ax)&(x=b)return( (x-a)/(b-a);else if(bx)&(xc)return (0);/*三角形反模糊化處理(最大隸屬度法)*/float cuf(float x,float a,float b,float c) float y,z;z=(b-a)*x+a;y=c-(c-b)*x;return (y+z)/2;/*梯形(左)求隸屬度模糊化*/float ufl(float x,float a,float b)if(x=a) return 1;else if(ax)&(xb)return 0;/*梯形反模糊化*/float cufl(float x,float a,float b)return b-(b-a)*x;/*梯形(右)求隸屬度模糊化*/float ufr(float x,float a,float b)if(x=a)return 0;if(ax)&(x=b)return 1;/*梯形反模糊化*/float cufr(float x,float a,float b)return (b-a)*x +a;

溫馨提示

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

評論

0/150

提交評論