




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上由于項目需要,需要模糊控制算法,之前此類知識為0,經(jīng)過半個多月的研究,終于有的小進展。開始想從強大的互聯(lián)網(wǎng)上搜點c代碼來研究下,結(jié)果搜遍所有搜索引擎都搜不到,以下本人從修改的模糊控制代碼,經(jīng)過自己修改后可在vc6.0,運行!輸入e表示輸出誤差,ec表示誤差變化率,經(jīng)過測試具有很好的控制效果,對于非線性系統(tǒng)和數(shù)學模型難以建立的系統(tǒng)來說有更好的控制效果!現(xiàn)將其公開供大家學習研究!#include <stdio.h>#include"math.h" #define PMAX 100 &
2、#160; #define PMIN -100 #define DMAX 100 #define DMIN -100 #define FMAX 100 /*語言值的滿幅值*/ int PFF4
3、=0,12,24,48;/*輸入量D語言值特征點*/ int DFF4=0,16,32,64;/*輸出量U語言值特征點*/ int UFF7=0,15,30,45,60,75,90;/*采用了調(diào)整因子的規(guī)則表,大誤差時偏重誤差,小誤差時偏重誤差變化*/ /*a0=0.3,a1=0.55,a2=0.74,a3=0.89 */ int rule77= /誤差變化率 -3,-2,-1, 0, 1, 2, 3 / 誤差
4、160; -6,-6,-6,-5,-5,-5,-4, / -3 -5,-4,-4,-3,-2,-2,-1, / -2 -4,-3,-2,-1, 0, 1, 2, / -1 -4,-3,-1, 0, 1, 3, 4,
5、0; / 0 -2,-1, 0, 1, 2, 3, 4, / 1 1, 2, 2, 3, 4, 4, 5, / 2 4, 5, 5, 5, 6, 6, 6; / 3/*/int
6、; Fuzzy(int P,int D) /*模糊運算引擎*/ int U; /*偏差,偏差微分以及輸出值的精確量*/ unsigned int PF2,DF2,UF4; /*偏差,偏差微分以及輸出值的隸屬度*/ int Pn,Dn,Un4; long temp1,temp2;
7、; /*隸屬度的確定*/ /*根據(jù)PD的指定語言值獲得有效隸屬度*/ if(P>-PFF3 && P<PFF3) if(P<=-PFF2) Pn=-2; PF0=FMAX*(float)(-PFF2-P)/(PFF3-PFF2); else if(P<=-PFF1)
8、0; Pn=-1; PF0=FMAX*(float)(-PFF1-P)/(PFF2-PFF1); else if(P<=PFF0) Pn=0; PF0=FMAX*(float)(-PFF0-P)/(PFF1-PFF0); else if(P<=PFF1)
9、 Pn=1; PF0=FMAX*(float)(PFF1-P)/(PFF1-PFF0); else if(P<=PFF2) Pn=2; PF0=FMAX*(float)(PFF2-P)/(PFF2-PFF1); else if(P<=PFF3) Pn=3; PF0=FMAX
10、*(float)(PFF3-P)/(PFF3-PFF2); else if(P<=-PFF3) Pn=-2; PF0=FMAX; else if(P>=PFF3)
11、; Pn=3; PF0=0; PF1=FMAX-PF0; if(D>-DFF3 && D<DFF3) if(D<=-DFF2) Dn=-2;DF0=FMAX*(float)(-DFF2-D)/(DFF3-DFF2); else if(D<=-DFF1)
12、 Dn=-1; DF0=FMAX*(float)(-DFF1-D)/(DFF2-DFF1); else if(D<=DFF0) Dn=0; DF0=FMAX*(float)(-DFF0-D)/(DFF1-DFF0); else if(D<
13、=DFF1) Dn=1; DF0=FMAX*(float)(DFF1-D)/(DFF1-DFF0); else if(D<=DFF2) Dn=2; DF0=FMAX*(float)(DFF2-D)/(DFF2-DFF1); else if(D<=DFF
14、3) Dn=3; DF0=FMAX*(float)(DFF3-D)/(DFF3-DFF2); else if(D<=-DFF3) Dn=-2; DF0=FMAX; else if(D>=DFF3) &
15、#160; Dn=3; DF0=0; DF1=FMAX-DF0;/*使用誤差范圍優(yōu)化后的規(guī)則表rule77*/ /*輸出值使用13個隸屬函數(shù),中心值由UFF7指定*/ /*一般都是四個規(guī)則有效*/ Un0=rulePn-1+3Dn-1+3; Un1=rulePn+3Dn-1+3; Un2=rulePn-1+3Dn+3; Un3=rulePn+3Dn+3; if(PF0<=DF0) UF0=PF0;else UF0=DF0; if(PF1<=DF0) &
16、#160; UF1=PF1;else UF1=DF0; if(PF0<=DF1) UF2=PF0; else UF2=DF1; if(PF1<=DF1) UF3=PF1; else UF3=DF1;/*同隸屬函數(shù)輸出語言值求大*/ if(Un0=Un1) if(UF0>UF1) UF1=0; else UF
17、0=0; if(Un0=Un2) if(UF0>UF2) UF2=0; else UF0=0; if(Un0=Un3) if(UF0>UF3) UF3=0; else UF0=0; if(Un1=Un2) if(UF1>UF2) UF2=0; else
18、160; UF1=0; if(Un1=Un3) if(UF1>UF3) UF3=0; else UF1=0; if(Un2=Un3) if(UF2>UF3) UF3=0; else UF2=0; /*重心法反模糊*/ /*Un原值為輸出隸屬函數(shù)標號,轉(zhuǎn)換為隸屬函數(shù)值*/ if(Un0>=0)
19、; Un0=UFFUn0;else Un0=-UFF-Un0; if(Un1>=0) Un1=UFFUn1;else Un1=-UFF-Un1; if(Un2>=0) Un2=UFFUn2;else Un2=-UFF-Un2; if(Un3>=0) Un3=UFFUn3;else Un3=-UFF-Un3; temp1=UF0*Un0+UF1*Un1+UF2*Un2+UF3*Un3; temp2=UF0+UF1+UF2+UF3; U=temp1/temp2;return U; void main() int a=0,e,ec;/*int nowpoint,p1,p2=1;FILE *in,*out;in=fopen("in.txt","r");out=fopen("out.txt","w");*/while(!feof(in)while(1) /fscanf(in,"%d
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 刀具進口合同范本
- 出租鋼管書架合同范本
- 2025年吉林貨運從業(yè)資格證怎么考試
- 代租場地合同范本
- 公路施工項目合同范本
- 農(nóng)田收回合同范本
- 北京市合同范本密碼
- 亞馬遜員工合同范本
- 制作推廣合同范本
- rpo服務(wù)合同范本
- 【基于近五年數(shù)據(jù)的鴻星爾克財務(wù)報表分析15000字】
- 公司員工獎懲制度流程
- 星巴克案例分析-星巴克成功之道
- 靜脈炎預(yù)防和處理課件
- 船舶種類與特點
- 2023年中國兵器人才學院校園招聘筆試參考題庫附帶答案詳解
- 曲軸加工工藝卡片
- 客房理論知識考試題庫(500題)
- 烏魯木齊超低溫歐斯博熱泵供暖制冷設(shè)計方案
- 婦產(chǎn)科學(第9版)第三章 女性生殖系統(tǒng)生理
- LY/T 2241-2014森林生態(tài)系統(tǒng)生物多樣性監(jiān)測與評估規(guī)范
評論
0/150
提交評論