智能控制導(dǎo)論實(shí)驗(yàn)指導(dǎo)書_第1頁(yè)
智能控制導(dǎo)論實(shí)驗(yàn)指導(dǎo)書_第2頁(yè)
智能控制導(dǎo)論實(shí)驗(yàn)指導(dǎo)書_第3頁(yè)
智能控制導(dǎo)論實(shí)驗(yàn)指導(dǎo)書_第4頁(yè)
智能控制導(dǎo)論實(shí)驗(yàn)指導(dǎo)書_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

智能控制導(dǎo)論實(shí)驗(yàn)指導(dǎo)書西安文理學(xué)院

物理與機(jī)電工程學(xué)院

目錄TOC\o"2-2"\h\z\u實(shí)驗(yàn)一模糊控制系統(tǒng)仿真 1實(shí)驗(yàn)二BP神經(jīng)網(wǎng)絡(luò)的函數(shù)逼近 4Matlab模糊邏輯工具箱的圖形用戶界面 9BP神經(jīng)網(wǎng)絡(luò)工具箱函數(shù) 13智能控制導(dǎo)論實(shí)驗(yàn)指導(dǎo)書PAGE2實(shí)驗(yàn)一模糊控制系統(tǒng)仿真一、實(shí)驗(yàn)?zāi)康?.掌握Matlab模糊邏輯工具箱2.比較位置式模糊控制器和速度式模糊控制器的不同3.體會(huì)輸入輸出量化因子的作用二、實(shí)驗(yàn)儀器設(shè)備1.計(jì)算機(jī)(裝有Matlab軟件)三、實(shí)驗(yàn)內(nèi)容1.利用Matlab提供的模糊邏輯工具箱建立一個(gè)常規(guī)模糊控制器。模糊控制器有兩個(gè)輸入變量:輸出與給定值的誤差e和e的變化量ec(ec=e(k)-e(k-1)),一個(gè)輸出變量:控制量的增量u(位置式)或Δu(速度式)。圖1-1語(yǔ)言變量的隸屬度函數(shù)取e、ec和Δ圖1-1語(yǔ)言變量的隸屬度函數(shù)模糊關(guān)系運(yùn)算的方法定義為:“與”運(yùn)算(Andmethod)——min、“或”運(yùn)算(Ormethod)——max、蘊(yùn)含運(yùn)算(Implication)——min、模糊規(guī)則的綜合運(yùn)算(Aggregation)——max、去模糊化(Defuzzification)——centriod。模糊控制器共有49條模糊控制規(guī)則,模糊控制規(guī)則如下表所示。EECNLNMNSZEPSPMPLNLNLNLNLNLNMNSZENMNLNLNMNMNSZEPSNSNLNLNMNSZEPSPMZENLNMNSZEPSPMPLPSNMNSZEPSPMPLPLPMNSZEPSPMPLPLPLPLZEPSPMPLPLPLPL模糊推理系統(tǒng)建立完成后,可觀察期模糊規(guī)則瀏覽器和輸入輸出曲面視圖。通過(guò)導(dǎo)入命令(菜單項(xiàng)File|Export|ToWorkspace)將該模糊推理系統(tǒng)導(dǎo)入工作空間,命名為myfuzzy。2.仿真模型的建立圖1-圖1-2位置式模糊控制系統(tǒng)圖圖1-3速度式模糊控制系統(tǒng)其中輸入給定的階躍信號(hào)大小為1,開始時(shí)間為0秒,兩個(gè)延遲環(huán)節(jié)的采樣時(shí)間為0.2s,兩個(gè)飽和環(huán)節(jié)的上下限分別為+6和-6,模糊邏輯控制器模塊中FIS的參數(shù)設(shè)置為剛才導(dǎo)入工作空間的模糊邏輯的名稱myfuzzy。圖1-圖1-4Simulink的相關(guān)參數(shù)設(shè)置3.對(duì)建立的系統(tǒng)進(jìn)行仿真,記錄響應(yīng)曲線。體會(huì)位置式模糊控制器和速度式模糊控制器的差別以及量化因子的作用。量化因子可以分別取如下參數(shù):Ke155301515151515Kec2020201030202020Ku222221410四、思考題1.位置式模糊控制器和速度式模糊控制器有無(wú)穩(wěn)態(tài)誤差?若有穩(wěn)態(tài)誤差,是否可以消除?2.輸入輸出量化因子Ke、Kec、Ku變大或變小對(duì)系統(tǒng)響應(yīng)有何影響。實(shí)驗(yàn)二BP神經(jīng)網(wǎng)絡(luò)的函數(shù)逼近一、實(shí)驗(yàn)?zāi)康?.熟悉掌握Matlab神經(jīng)網(wǎng)絡(luò)工具箱的使用;2.理解反向傳播學(xué)習(xí)算法(BP)的原理,并利用BP算法實(shí)現(xiàn)函數(shù)逼近功能;3.認(rèn)識(shí)隱含層神經(jīng)元個(gè)數(shù)與訓(xùn)練函數(shù)對(duì)神經(jīng)網(wǎng)絡(luò)訓(xùn)練次數(shù)的影響。二、實(shí)驗(yàn)儀器設(shè)備1.計(jì)算機(jī)(裝有Matlab軟件)三、實(shí)驗(yàn)內(nèi)容1.熟悉Matlab神經(jīng)網(wǎng)絡(luò)工具箱,了解其中的命令使用。2.根據(jù)BP學(xué)習(xí)算法的計(jì)算步驟,利用Matlab的神經(jīng)網(wǎng)絡(luò)工具箱的有關(guān)函數(shù)編寫B(tài)P算法實(shí)現(xiàn)"函數(shù)逼近"功能。逼近函數(shù)y=0.5*(1+sin(x))。網(wǎng)絡(luò)結(jié)構(gòu)如下設(shè)置:輸入1;隱含6(tansig元);輸出1(purelin元)。參考代碼如下:%trainnonline%訓(xùn)練BP網(wǎng)絡(luò)的程序,逼近函數(shù)y=0.5*(1+sin(x))clear;P=-pi:pi/8:pi;%輸入矢量T=0.5*(1+sin(P));%輸出期望值nntwarnoff;%去掉警告信息[r,q]=size(P);%r行數(shù),輸入維數(shù)。q列數(shù),樣本個(gè)數(shù)s1=6;s2=1;%s1,s2分別為隱含層和輸出層的神經(jīng)元個(gè)數(shù)(單隱含層)W1=rands(s1,r)*0.005;B1=rands(s1,1)*0.005;%W1,B1為隱含層的權(quán)值和閾值W2=rands(s2,s1)*0.5;B2=rands(1,s2)*0.5;%W2,B2為輸出層的權(quán)值和閾值err_goal=0.01;%期望誤差最小值max_epoch=15000;%最大循環(huán)次數(shù)lr=0.01;%學(xué)習(xí)速率A1=tansig(W1*P,B1);%隱含層輸出矢量A2=purelin(W2*A1,B2);%輸出層輸出矢量E=T-A2;%網(wǎng)絡(luò)誤差figure(1);%打印初始曲線和各點(diǎn)plot(P,T,'rx',P,A2);axis([-1-pipi+1-0.51.5]);title(['初始網(wǎng)絡(luò)的輸出曲線']);%設(shè)置圖形標(biāo)題pause;%暫停forepoch=1:max_epochSSE=sumsqr(E);%求誤差平方和sse(epoch)=SSE;%記錄誤差數(shù)據(jù)ifSSE<err_goalbreak;%滿足誤差精度要求,則退出endifmod(epoch,1000)==0%每1000次打印依次結(jié)果plot(P,T,'rx',P,A2);axis([-1-pipi+1-0.51.5]);%title(['訓(xùn)練',num2str(epoch),'次的結(jié)果']);%設(shè)置圖形標(biāo)題pause;%暫停endD2=deltalin(A2,E);D1=deltatan(A1,D2,W2);[dW1,dB1]=learnbp(P,D1,lr);%輸出層誤差變化量[dW2,dB2]=learnbp(A1,D2,lr);%隱含層誤差變化量W1=W1+dW1;B1=B1+dB1;%輸出層權(quán)值和閾值修正W2=W2+dW2;B2=B2+dB2;%隱含層權(quán)值和閾值修正A1=tansig(W1*P,B1);A2=purelin(W2*A1,B2);E=T-A2;%求取新的誤差endplot(P,T,'rx',P,A2);axis([-1-pipi+1-0.51.5]);%打印最后一次結(jié)果title(['訓(xùn)練',num2str(epoch),'次的結(jié)果']);pause;%隨機(jī)取10個(gè)點(diǎn)進(jìn)行泛化性驗(yàn)證P1=rands(1,10)*pi;T1=0.5*(1+sin(P1));%隨機(jī)取10個(gè)點(diǎn)P1,計(jì)算其期望值T1a1=tansig(W1*P1,B1);a2=purelin(W2*a1,B2);%代入訓(xùn)練好的網(wǎng)絡(luò),輸出結(jié)果a2e=sumsqr(T1-a2);%求取誤差平方和eholdon;title(['泛化性驗(yàn)證']);plot(P1,a2,'k.',P1,T1,'ro');holdoff;%繪制網(wǎng)絡(luò)輸出(黑點(diǎn))和期望輸出(紅圈)%繪制誤差記錄figure(2);plot(sse);title(['誤差記錄']);3.利用專門的BP網(wǎng)絡(luò)函數(shù)建立BP網(wǎng)完成上述函數(shù)逼近任務(wù)。具體步驟如下:1)利用函數(shù)newff建立一個(gè)BP神經(jīng)元網(wǎng)絡(luò)net;2)然后利用函數(shù)train對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練有時(shí)需要設(shè)置如下參數(shù)net.trainParam.show(學(xué)習(xí)過(guò)程顯示頻率);net.trainParam.epochs(最大訓(xùn)練次數(shù));net.trainParam.goal(誤差指標(biāo));net.trainParam.lr(學(xué)習(xí)率)的值。參數(shù)設(shè)置完后調(diào)用train函數(shù)[net,tr]=train(net,P,T)。3)用sim函數(shù)檢查訓(xùn)練效果參考代碼如下:%trainBP%訓(xùn)練BP網(wǎng)絡(luò)的程序,逼近函數(shù)y=0.5*(1+sin(x))clear;P=-pi:pi/8:pi;%輸入矢量T=0.5*(1+sin(P));%輸出期望值%建立神經(jīng)網(wǎng)絡(luò)net=newff(minmax(P),[61],{'tansig''purelin'},'traingd','learngd','sse');%設(shè)置訓(xùn)練參數(shù)net.trainParam.show=50;net.trainParam.goal=0.01;net.trainParam.lr=0.01;net.trainParam.epochs=2000;%訓(xùn)練網(wǎng)絡(luò)[net,Tr]=train(net,P,T);%隨機(jī)取10個(gè)點(diǎn)進(jìn)行泛化性驗(yàn)證P1=rands(1,10)*pi;T1=0.5*(1+sin(P1));%隨機(jī)取10個(gè)點(diǎn)P1,計(jì)算其期望值T1Y1=sim(net,P1);%計(jì)算其網(wǎng)絡(luò)輸出plot(P,T,'k-',P1,T1,'ko',P1,Y1,'r*');holdoff;%繪制期望輸出(黑圈)和網(wǎng)絡(luò)輸出(紅*)pause;%暫停%外推驗(yàn)證P2=pi:pi/20:pi*1.1;T2=0.5*(1+sin(P2));%計(jì)算其期望值T2Y2=sim(net,P2);%計(jì)算其網(wǎng)絡(luò)輸出e=Y2-T2;%繪制誤差記錄figure(2);plot(P2,e);title(['誤差記錄']);程序編制完成后運(yùn)行程序,觀察神經(jīng)網(wǎng)絡(luò)對(duì)函數(shù)的逼近。然后試著修改程序中的下列語(yǔ)句:%建立神經(jīng)網(wǎng)絡(luò)net=newff(minmax(P),[61],{'tansig''purelin'},'traingd','learngd','sse');分別改變隱含層神經(jīng)元個(gè)數(shù)和訓(xùn)練函數(shù),將訓(xùn)練次數(shù)的結(jié)果紀(jì)錄在表2-1中。表2-1訓(xùn)練次數(shù)表訓(xùn)練函數(shù)隱含層神經(jīng)元個(gè)數(shù)traingdtraingdxtrainlm691215四、思考題1.分析并比較隱含層神經(jīng)元個(gè)數(shù)和訓(xùn)練函數(shù)這兩個(gè)因素對(duì)訓(xùn)練次數(shù)的影響。Matlab模糊邏輯工具箱的圖形用戶界面一、模糊推理系統(tǒng)編輯器(Fuzzy)模糊推理系統(tǒng)編輯器提供了利用圖形界面(GUI)對(duì)模糊系統(tǒng)的高層屬性的編輯和修改功能,這些屬性包括輸入、輸出語(yǔ)言變量的個(gè)數(shù)和去模糊化方法等。用戶在基本模糊編輯器中,可以通過(guò)菜單選擇激活其他幾個(gè)圖形界面編輯器,如隸屬度函數(shù)編輯器(mfedit)、模糊規(guī)則編輯器(ruleedit)等。在Matlab命令窗口中,可以用以下兩種方法啟動(dòng)模糊推理系統(tǒng)編輯器FISEditer;1、在Matlab的命令窗口中直接鍵入fuzzy命令;2、在Matlab的LaunchPad窗口中,用鼠標(biāo)點(diǎn)擊Toolboxes下FuzzyLogic中的FISEditerViewer項(xiàng)。圖1模糊推理系統(tǒng)編輯器圖形界面模糊推理系統(tǒng)編輯器的圖形界面如圖1所示。圖1模糊推理系統(tǒng)編輯器圖形界面從圖1中可以看到,在窗口上半部,以圖形框的形式列出了模糊推理系統(tǒng)的基本組成部分,即輸入模糊變量(input1)、模糊規(guī)則(mamdani)和輸出模糊變量(output1)。通過(guò)鼠標(biāo)雙擊上述圖形框,能夠激活隸屬度函數(shù)編輯器和模糊規(guī)則編輯器等相應(yīng)的窗口。在窗口的下半部左側(cè),列出了模糊推理系統(tǒng)的名稱、類型和一些基本屬性,包括“與”運(yùn)算(Andmethod默認(rèn)設(shè)定:極小運(yùn)算min)、“或”運(yùn)算(Ormethod默認(rèn)設(shè)定:極大運(yùn)算max)、蘊(yùn)含運(yùn)算(Implication默認(rèn)設(shè)定:極小運(yùn)算min)、模糊規(guī)則的綜合運(yùn)算(Aggregation默認(rèn)設(shè)定:極大運(yùn)算max)以及去模糊化(Defuzzification默認(rèn)設(shè)定:重心法centriod)等。用戶可以設(shè)定相應(yīng)的屬性。在窗口下半部分的右側(cè),列出了當(dāng)前選定的模糊語(yǔ)言變量的名稱、類型及其論域范圍。模糊推理系統(tǒng)編輯器的主要菜單功能如下:File|NewFIS…|Mamdani——新建Mamdani型模糊推理系統(tǒng)File|NewFIS…|Sugeno——新建T-S型模糊推理系統(tǒng)Edit|AddVariable|input——增加輸入語(yǔ)言變量Edit|AddVariable|output——增加輸出語(yǔ)言變量Edit|RemoveSelectedVariable——?jiǎng)h除選中語(yǔ)言變量二、隸屬度函數(shù)編輯器(Mfedit)隸屬度函數(shù)編輯器的圖形界面如圖2所示。圖2隸屬度函數(shù)編輯器圖形界面圖2隸屬度函數(shù)編輯器圖形界面在該圖形界面中,窗口的上半部分為隸屬度函數(shù)的圖形顯示,下半部分為隸屬度函數(shù)的參數(shù)設(shè)定界面,包括語(yǔ)言變量的名稱、論域、隸屬度函數(shù)的名稱、類型和參數(shù)。用戶可通過(guò)該編輯器對(duì)輸入輸出語(yǔ)言變量各語(yǔ)言值的隸屬度函數(shù)類型、參數(shù)進(jìn)行編輯、修改。三、模糊規(guī)則編輯器(Ruleedit)模糊規(guī)則編輯器的圖形界面如圖3所示。用戶可通過(guò)該編輯器對(duì)模糊規(guī)則進(jìn)行添加、修改和刪除操作。模糊規(guī)則的形式為:If條件Then結(jié)論。其中條件根據(jù)圖3中部左側(cè)的輸入變量窗口中的內(nèi)容選擇,當(dāng)有兩個(gè)輸入變量時(shí),還需利用圖3中左下角Connection部分選擇兩個(gè)輸入變量間的關(guān)系是或(or)還是與(and)。結(jié)論根據(jù)圖3中部右側(cè)的輸出變量窗口的內(nèi)容選擇。圖3中Wright項(xiàng)表示該條規(guī)則在整個(gè)規(guī)則庫(kù)中的權(quán)重。圖3模糊規(guī)則編輯器圖形界面圖3模糊規(guī)則編輯器圖形界面四、模糊規(guī)則瀏覽器(Ruleview)在Matlab命令窗口中輸入:ruleview,或在上述三種編輯器中選擇相應(yīng)的菜單(View|ViewRules),都可以激活模糊規(guī)則瀏覽器。在模糊規(guī)則瀏覽器中,以圖形的形式描述了模糊推理系統(tǒng)的推理過(guò)程,其界面如圖4所示。五、模糊推理輸入輸出曲面視圖(Surfview)圖4模糊規(guī)則瀏覽器圖形界面圖5模糊推理系統(tǒng)的輸入輸出曲面視圖在Matlab命令窗口中輸入:Surfview,或在各編輯器中選擇相應(yīng)的菜單(View|ViewSuface),都可以激活該視圖。該窗口以圖形的形式顯示了模糊推理系統(tǒng)的輸入輸出特性曲面,其界面如圖5所示。圖4模糊規(guī)則瀏覽器圖形界面圖5模糊推理系統(tǒng)的輸入輸出曲面視圖六、基于Simulink的模糊邏輯的系統(tǒng)模塊Matlab的模糊邏輯工具箱提供了與Simulink的無(wú)縫連接功能。在模糊邏輯工具箱中建立了模糊推理系統(tǒng)后,可以立即在Simulink仿真環(huán)境中對(duì)其進(jìn)行仿真分析。在Simulink中有相應(yīng)的模糊邏輯控制器方塊圖,將該方塊圖復(fù)制到用戶建立的Simulink仿真模型中,并使模糊邏輯方塊圖中的模糊推理矩陣名稱與用戶在Matlab工作空間上的模糊邏輯推理系統(tǒng)(在模糊推理系統(tǒng)編輯器中選擇菜單項(xiàng)File|Export|ToWorkspace即可將正在編輯的模糊推理系統(tǒng)導(dǎo)入工作空間)的名稱相同,即可完成模糊推理系統(tǒng)與Simulink的連接。智能控制導(dǎo)論實(shí)驗(yàn)指導(dǎo)書BP神

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論