TS模糊系統(tǒng)結(jié)論參數(shù)的MATLAB仿真研究_第1頁
TS模糊系統(tǒng)結(jié)論參數(shù)的MATLAB仿真研究_第2頁
TS模糊系統(tǒng)結(jié)論參數(shù)的MATLAB仿真研究_第3頁
TS模糊系統(tǒng)結(jié)論參數(shù)的MATLAB仿真研究_第4頁
TS模糊系統(tǒng)結(jié)論參數(shù)的MATLAB仿真研究_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、T-S模糊系統(tǒng)結(jié)論參數(shù)的MATLAB仿真研究摘要介紹了應(yīng)用最小二乘法對T-S結(jié)論參數(shù)進(jìn)展粗略辨識,確定參數(shù)的大致范圍,再應(yīng)用遺傳算法對前提參數(shù)和結(jié)論參數(shù)同時優(yōu)化的參數(shù)辨識方法。對非線性函數(shù)進(jìn)展逼近實驗,給出了用ATLAB編程進(jìn)展仿真的詳細(xì)實現(xiàn)方法,結(jié)果證明該方法的可行性和有效性。關(guān)鍵詞最小二乘法;參數(shù)辨識;遺傳算法對T-S模糊系統(tǒng)參數(shù)辨識的過程大致分為構(gòu)造辨識和參數(shù)辨識,而參數(shù)辨識那么是整個系統(tǒng)辨識的關(guān)鍵所在。遺傳算法以其在解空間內(nèi)進(jìn)展高效啟發(fā)式搜索,尋優(yōu)速度快,不易陷入部分最優(yōu)解等優(yōu)點成為近來應(yīng)用較多的優(yōu)化方法。將遺傳算法用于解決T-S模糊模型的參數(shù)辨識問題,在應(yīng)用最小二乘法進(jìn)展粗略辨識的前

2、提下,用遺傳算法對結(jié)論參數(shù)進(jìn)展尋優(yōu),用ATLAB進(jìn)展仿真,獲得了較好的效果。T-S模糊模型辨識的過程一般分為以下幾個階段:前提構(gòu)造辨識;前提參數(shù)辨識;結(jié)論構(gòu)造辨識;結(jié)論參數(shù)辨識,直到模型滿足要求為止。構(gòu)造辨識的方法,在此不再詳細(xì)說明,只對結(jié)論參數(shù)辨識問題展開討論。在確定了前提構(gòu)造和結(jié)論構(gòu)造之后,對模糊模型的結(jié)論參數(shù)進(jìn)展粗略的辨識,以確定遺傳算法尋優(yōu)的范圍。在眾多的參數(shù)辨識方法中,最小二乘法是最根本的一種,Gauss于1795年就用最小二乘法,由觀測結(jié)果估算了行星的運行軌道。此后,這種方法被廣泛應(yīng)用,并根據(jù)實際問題提出了許多改良的最小二乘法,如正交最小二乘法,廣義最小二乘法,增廣最小二乘法等。這

3、里所用的是線性最小二乘法,將前提構(gòu)造劃分的各個范圍中的輸入輸出數(shù)據(jù)擬合為一次多項式函數(shù)。從而得出粗略的結(jié)論參數(shù)。以此來大致確定遺傳算法要優(yōu)化的結(jié)論參數(shù)范圍。前提參數(shù)的大致范圍可根據(jù)所選的隸屬函數(shù)來確定。為簡單起見,考慮一維的單輸入非線性系統(tǒng)。對以下函數(shù)進(jìn)展逼近1:設(shè)定輸入范圍為-1,1,將它模糊分割為五個區(qū),隸屬度函數(shù)采用廣義的鐘形函數(shù),這里只有一個輸入變量,輸出為y=ax+b的線性方程,待優(yōu)化的結(jié)論參數(shù)有25=10個,用ATLAB編程來初步得出待優(yōu)化的結(jié)論參數(shù),主要代碼如下:data_n=100;nedata_n=1001;x=linspae(-1,-0.6,data_n);y=0.7*si

4、n(pi*x)+0.3*sin(3*pi*x)+0.1*sin(5*pi*x);plyfit(x,y,1)由上述方法仿真可得出的10個參數(shù),確定參數(shù)范圍,如表1中所示:表1用最小二乘法估計的參數(shù)及優(yōu)化所選的參數(shù)范圍參數(shù)a1b1a2b2a3b3a4b4a5b5估計參數(shù)-0.6499-1.04590.90100.05188.30650.00000.9010-0.0518-0.64991.0459參數(shù)范圍-5,5-5,5-5,5-5,5-2,15-5.5,5.5-5,5-5,5-5.5,5.5-1,5由于同時優(yōu)化的參數(shù)的數(shù)量較多,故采用實數(shù)編碼的方式對參數(shù)進(jìn)展編碼。編碼過程是通過計算機產(chǎn)生所要優(yōu)化的

5、參數(shù)范圍內(nèi)的隨機數(shù),對每一個參數(shù)進(jìn)展編碼后,連接在一起形成一條染色體,然后就可以對它進(jìn)展遺傳操作。用ATLAB編程,確定尋優(yōu)范圍的主要代碼如下:inX(1)=-5.0*nes(1);axX(1)=5.0*nes(1);inX(2)=-5.0*nes(1);axX(2)=5.5*nes(1);inX(10)=-1*nes(1);axX(10)=5*nes(1);Kpar(:,1)=inX(1)+(axX(1)-inX(1)*rand(Size,1);Kpar(:,2)=inX(2)+(axX(2)-inX(2)*rand(Size,1);Kpar(:,9)=inX(9)+(axX(9)-inX(

6、9)*rand(Size,1);Kpar(:,10)=inX(10)+(axX(10)-inX(10)*rand(Size,1);在產(chǎn)生大種群后,對個體進(jìn)展初步挑選,去掉一些適應(yīng)度差的個體,剩下的作為初始種群進(jìn)展遺傳操作,這種方法可以使種群在保持多樣性的同時,節(jié)省計算時間。進(jìn)化代數(shù)確實定,一般是根據(jù)問題所要求的精度來確定,精度低,進(jìn)化的代數(shù)就可以少一些,反之那么多一些。適應(yīng)度函數(shù)是衡量個體優(yōu)劣的指標(biāo),為了到達(dá)尋優(yōu)的目的,適應(yīng)度函數(shù)一般是通過目的函數(shù)變換而來的,這里對T-S模型的參數(shù)進(jìn)展辨識,采用的目的函數(shù)為均方誤差:1其中:t(k)為由辨識的模糊模型計算出的第k個采樣時刻的輸出值,(k)為第k

7、個采樣時刻的實際輸出值,Q為總的采樣次數(shù)。在進(jìn)展選擇操作時,是按照適應(yīng)度越大,被選擇的概率越大,所以,這里選用的適應(yīng)度函數(shù)為:2其中是一個較小的正實數(shù),目的是為了防止除數(shù)為零的情況發(fā)生3。其主要代碼如下:fri=1:1:Size%以下為初始挑選ansu=Kpar(i,:);de=ansu;rse=putEitae(de);%計算均方誤差;BsJ=rse;BsJi(i)=BsJ;%將均誤差賦給BsJiendfi=1./BsJi;%求適應(yīng)度的值derfi,Indexfi=srt(fi)%對適應(yīng)度值由小到大排列srtrsa=Kpar(Indexfi(Size),:);frs=2:1:seletsiz

8、eshuijirsa=Kpar(Indexfi(Size-s+1),:);srtrsa=srtrsashuijirsa;endsrtrsaKpar=srtrsaSize=seletsize遺傳操作一般包括選擇,穿插和變異。選擇方法采用蒙特卡羅法,按比例的適應(yīng)度分配。假設(shè)某個個體i,其適應(yīng)度為fi,那么其被選擇的概率表示為:3由于在進(jìn)展遺傳操作前,已經(jīng)對個體進(jìn)展了初步的挑選,所以為了防止對種群中優(yōu)良個體的破壞,這里采用單點穿插的方法,隨機選擇穿插點之后,將兩個個體的穿插點后面的基因進(jìn)展交換。變異采用實值變異的方法,隨機選擇染色體的某個基因,由于用實數(shù)編碼的方法,每個基因就是一個要辨識的參數(shù)值,所

9、以可以用一個函數(shù)實如今參數(shù)范圍內(nèi)適當(dāng)改變該參數(shù)值的大小,從而到達(dá)保持種群多樣性的目的。為了使尋優(yōu)不過早的收斂到次優(yōu)解,隨著進(jìn)化代數(shù)的增加,需要適當(dāng)增大變異率,其實現(xiàn)方法只需用一個函數(shù)來表示變異率:p=0.1+1:1:G0.1/G4式中:p表示變異率,G代表進(jìn)化代數(shù)。1:1:G表示一個數(shù)組,變化的范圍為1,G,步長為1。為了防止破壞優(yōu)良個體,變異率不宜取的過大。通過實驗得知,在第一代時,可取變異率p=0.1+10.1/G,第二代時,變異率p=0.1+20.1/G,以此類推。這樣隨著進(jìn)化代數(shù)的增加,p也隨著增加。另外,為了防止遺傳操作對最優(yōu)個體的破壞,采取保存最優(yōu)個體的方法。將每一代產(chǎn)生的最優(yōu)個體

10、放在該種群的最后,再繼續(xù)進(jìn)展下一代的操作。整個算法的流程圖如圖所示。詳細(xì)實現(xiàn)的遺傳操作的主要代碼如下:G=300;%進(jìn)化的代數(shù)BsJ=0;frkg=1:1:Gtie(kg)=kg;%*step1:計算誤差*fri=1:1:Sizeansu1=Kpar(i,:);seletde=ansu1;errr=puteitae(seletde);%計算均方誤差;BsJ1=errr;BsJi1(i)=BsJ1;endderJi,IndexJi=srt(BsJi1);BestJ(kg)=derJi(1);BJ=BestJ(kg);Ji=BsJi1+1e-10;%防止除零fi=1./Ji;%求適應(yīng)度的值derf

11、i,Indexfi=srt(fi)%對適應(yīng)度值由小到大排列Bestfi=derfi(Size);BestS=Kpar(Indexfi(Size),:)%保存最大適應(yīng)度值對應(yīng)的染色體(參數(shù))%*step2:選擇和復(fù)制*圖算法流程圖fi_su=su(fi);fi_Size=(derfi/fi_su)*Size;fi_S=flr(fi_Size);r=Size-su(fi_S);Rest=fi_Size-fi_S;RestValue,Index=srt(Rest);fri=Size:-1:Size-r+1fi_S(Index(i)=fi_S(Index(i)+1;endk=1;fri=Size:-1

12、:1frj=1:1:fi_S(i)TepE(k,:)=Kpar(Indexfi(i),:);k=k+1;endend%step3穿插率不能太大P=0.7;fri=1:2:(Size-1)tep=rand;ifPtepalfa=rand;TepE(i,:)=alfa*Kpar(i+1,:)+(1-alfa)*Kpar(i,:);TepE(i+1,:)=alfa*Kpar(i,:)+(1-alfa)*Kpar(i+1,:);endendTepE(Size,:)=BestS;Kpar=TepE;%*Step4:變異*變異率不能太大P=0.15+1:1:Size*(0.01)/Size;P_rand=

13、rand(Size,deL);ean=(axX+inX)/2;Dif=(axX-inX)/2;fri=1:1:Sizefrj=1:1:deLifP(i)P_rand(i,j)TepE(i,j)=ean(j)+Dif(j)*(rand-0.4);EndendendTepE(Size,:)=BestS;%保存最優(yōu)個體Kpar=TepE;endBestSBest_J=BestJ(G)figure(1);plt(tie,BestJ);xlabel(Tie(s);Ylabel(BestJ);經(jīng)過300代進(jìn)化后,均方誤差可以到達(dá)0.0029,如圖2所示;經(jīng)過400代之后,均方誤差為0.0027,變化曲線如

14、圖3所示。圖中:橫坐標(biāo)是進(jìn)化代數(shù),縱坐標(biāo)是均方誤差。從上面的實驗可以看出,參數(shù)范圍都在最小二乘法估計的參數(shù)附近,從進(jìn)化曲線可以看出,本算法收斂的速度是比擬快的,在進(jìn)化約120代時,就接近了收斂值,同時由于應(yīng)用了隨著進(jìn)化代數(shù)的增加改變變異率的方法,在進(jìn)化后期,均方誤差值略有降低,克制了過早收斂的現(xiàn)象??梢愿鶕?jù)精度的要求,運行數(shù)次后,得到優(yōu)化的參考結(jié)論參數(shù)值。圖2進(jìn)化300代的變化曲線圖3進(jìn)化400代的變化曲線從仿真實驗可以看出:用簡單的最小二乘法粗略估計參數(shù)的范圍是有效的,在粗略估計范圍后,用遺傳算法對結(jié)論參數(shù)進(jìn)展優(yōu)化,可以一次優(yōu)化多個參數(shù),具有簡單易行的特點,在所選范圍不是太窄的情況下,可以到達(dá)較高的精度,而且本算法對范圍的大致確定要求不是很嚴(yán)格,具有較好的魯棒性。1樓順天等.基于ATLAB的

溫馨提示

  • 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

提交評論