freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

遺傳算法的pid控制器的設計畢業(yè)論文(編輯修改稿)

2025-07-25 06:58 本頁面
 

【文章內容簡介】 B基本功能,為實現廣泛遺傳算法創(chuàng)建遺傳算法工具箱使用MATLAB基本功能,為實現廣泛遺傳算法創(chuàng)建了一套多用途的工具,它是常規(guī)性的收索,主要利用編寫M文件,這是遺傳算法中最主要的功能。 遺傳算法工具箱函數應用本文運用遺傳算法工具箱函數在MATLAB運行環(huán)境下進行程序編寫,以達到對PID參數尋優(yōu)的目的。下面是對在程序中用到遺傳算法工具箱函數的詳細說明:(1).Rep功能:矩陣復制。格式:matout=rep(matin,repn)描述:rep是一個低位復制函數,通常不直接應用,rep被遺傳算法工具箱的許多函數調用。rep執(zhí)行的是一個矩陣的復制,matin是repn指定的數值,隨后返回一個復制的矩陣,matout。repn包含了各個方向的復制,repn(1)指定了垂直方向的復制的數值,repn(2)指定了水平方向的復制的數值。(2).crtbp功能:創(chuàng)建一個初始種群。格式:[chrom,lind,basev]=crtbp(nind,lind)[chrom,lind,basev]=crtbp(nind,lind,base)[chrom,lind,basev]=crtbp(nind,basev)描述:遺傳算法的第一步是創(chuàng)建一個由隨機產生的染色體組成初始化種群,crtbp產生一個矩陣chrom,元素中包含隨機產生的值。chrom=crtbp(nind,lind)創(chuàng)建一個大小為nindlind的隨機二進制矩陣,其中nind指定種群中個體的數量,lind指定個體的長度,另外,chrom=crtbp([nind,lind])可以用來指定染色體矩陣的維數。[chrom,lind,basev]=crtbp(nind,lind,base)產生一個染色體矩陣base,如果base是一個向量,base中元素的值就指定為base中染色體的軌跡。在這種情況下,二次爭論就忽略了,chrom=crtbp(nind,basev)[chrom,lind,basev]=crtbp(nind,basev)=crtbp(nind,basev)也是返回一個染色體結構的長度lind,和基于染色體軌跡的向量basev。(3).bs2rv目的:二進制數轉化為實值。功能:phen=bs2rv(chrom,fieldd)格式:phen=bs2rv(chrom,fieldd)是把用二進制的表示方法表示種群chrom轉化成實值。染色體被看作是已經給出長度的二進制串,用標準二進制或者是灰色二進制解碼到實值矩陣fieldd。最后的結果矩陣phen包含著與種群相應的顯型。  矩陣fieldd的結構如下:  矩陣的行由以下組成:  len,一個在染色體中包含每一個子串長度的行向量。注意:sum (len) =length (chrom)lb和ub是包含了每一個使用的變量的上,下限范圍的行向量。code是指定每一個子串的解碼方式的二進制行向量。選擇code(i)=0是標準二進制。選擇code(i)=1是灰色二進制?! cale是指定對于每一個子串是用算術采樣還是用對數采樣的二進制行向量。選擇scale(i)=0是算術采樣。選擇scale(i)=1是對數采樣。lbin和ubinshi1是指定要不要包含每一個表示范圍的上下限。選擇{l|u}bin(i)=0 是從表示范圍中排除{l|u}b(i)。lbinubin{l|u}bin(i)=1 把{l|u}b(i)包含在表示范圍中。(4).ranking功能:按適應度等級排序。格式:  fitnv=ranking (objv)  fitnv=rank(objv,rfun)  fitnv=rank(objv,rfun,subpop)描述:ranking是根據它們的目標函數值分等級的,objv返回一個包含個體適應度函數值的列向量,fitnv,這個函數按個體等級排序。rfun是一個隨機的向量1,2或者length(objv)參數。 subpop是一個任意的參數并且在objv中指定了后代的個數。如果subpop被忽略或者取值為nan, 則subpop=1。所有在subpop中的后代必須由相同的類型。如果ranking被多余一個個體調用,它也將只執(zhí)行一個后代的操作。(5).select功能:從種群中選擇出個體(高位選擇)。格式:  selch=select(sel_f,chrom,fitnv)selch=select(sel_f,chrom,fitnv,ggap)selch=select(sel_f,chrom,fitnv,ggap,subpop)描述:select函數是從種群中選擇出個體,chrom返回的是從種群中選擇出來的個體,Selch。Chrom中的每一列和selch與每一個個體相對應。sel_f是一個串,它包含了低位選擇函數的名稱,比如rws或者sus。Fitnv是一個列向量,它包含了chrom中的個體的適應度。適應值顯示每一個個體的預期的可能性。ggap是一個指定一代與一代差距的任意的參數,種群的片斷被重新生成。如果ggap被忽略或者取值nan,則ggap=(100%),ggap也可能比1大,也就是說可以產生比父代多的后代。如果chrom由多余一個后代組成,ggap就指定了相對于后代的大小的每一個后代中的即將被選擇的個體的數目。subpop是一個參數,它決定了chrom中的后代的數目。如果subpop被忽略或者取值為nan,則subpop=1。所有chrom 中的后代必須由相同的大小。(6).sus功能:隨機全局采樣。格式:newchrix=sus(fitnv,nsel)描述:sus選擇nsel中的個體為了根據它們的適應值重新產生,fitnv在當前種群中。newchrix=rws(fitnv,nsel)從種群中使用隨機全局采樣來選擇nsel個體。Fitnv是一個包含著種群中每一個個體的表示方法的列向量。用函數ranking或者scaling取給每一個個體分配適應值也可以達到上面的目的。返回值newchrix是一個用來繁殖而被選擇的個體的索引。在它們被選擇的規(guī)則下,被選擇的個體可以通過評價chrom(newchrix,:)而被恢復。(7).recint功能:中間重組。格式:newchrom=recint(oldchrom)描述:recint操作是對當前種群中的個體進行中間重組,oldchrom,之后在一個新的種群中返回newchrom,chrom中的每一行和newchrom與一個個體相對應。recint只適用于實值變量的種群。染色體成對進行交叉,奇數列和下一個偶數列進行交叉,如果舊的染色體矩陣中的列是奇數的話,那么最后一列將不進行交叉操作,而把舊的染色體中的最后一列加在新染色體中。(8).Xovdp功能:雙點交叉。格式:newchrom=xovsp(oldchrom,xovr)描述:xovdp操作是在當前種群中的一對個體上進行雙點交叉,oldchrom,根據交叉的可能性,xovr返回一個變異之后的新的種群。Newchrom,oldchrom包含了當前種群中的染色體,每一行與一個個體相對應。染色體的各種表示方法都可以應用。xovr是指定了交叉概率的參數。:奇數行和下一個偶數行,如果矩陣是奇數行的話,最后一行就不能交配。因此種群組織成臨近的需要交配的一對。xovdp是一個低位交叉函數通常也把它叫做rebin。(9).mutate功能:離散變異操作。格式:newchrom=mutate(mut_f,oldchrom,fielddr)newchrom=mutate(mut_f,oldchrom,fielddr,mutopt)newchrom=mutate(mut_f,oldchrom,fielddr,mutopt,subpop)描述:mutate是對當前種群的個體進行變異操作。之后返回一個新的個體。舊種群和新種    群的每一列都對應一個個體。mut_f是低位變異函數的名稱。fielddr是變量的上下限。mutopt是變異概率。subpop是一個隨機參數,表示的是舊染色體中子代的個數。(10).reins功能:在種群中重新插入后代。格式:chrom=reins(chrom,selch)chrom=reins(chrom,selch,subpop)chrom=reins(chrom,selch,subpop,insopt,objvch)[chrom,objvch]=reins(chrom,selch,subpop,insopt,objvch,objvsel)描述:這個函數是往當前種群中重新插入后代,后代被包含在矩陣selch,父代被包含在矩陣chrom中。Selch和chrom中的每一行都對應了一個個體。Subpop是在chrom和selch中指定后代數目的函數。如果subpop被忽略或者nan,則subpop=1。chrom和selch中所有的后代必須由相同的大小。insopt是一個任意的向量,兩個參數中的最大值。insopt(1):數值指定用后代代替父代的選擇方法0-統(tǒng)一選擇,統(tǒng)一用任意的后代來替換父代1-適應度為基礎的選擇,后代替換最小適應度的父代  如果忽略或者nan,則insopt(1)=0。insopt(2):數值包含了在[0 1]之間當作一個片斷的每一個子代后代的重新插入率?!        bjvch是一個包含了chrom中的個體目標函數值的行向量,objvch需要以適應度為基礎重新插入。objvsel是一個包含了selch中的個體目標函數值的行向量,objvsel是必須的如果后代的數目大于將要被重新插入的后代的數目,在這種情況下,將根據后代的適應度來選擇將要被重新插入的后代。如果objvch是一個輸出參數,objvch和objvsel組要輸入參數。目標函數值會根據插入的后代被復制,保留整個種群的經過驗算的目標函數值?;贛atlab的遺傳算法工具箱提供了一個標準的、可擴展的、簡單的算法,其利用Matlab的強大的函數運算能力,使使用者可以避免維護遺傳算法種群和染色體的數據結構的繁重編程工作,將精力集中在遺傳算法的改進和具體問題的應用中去。本文在仿真實驗中既利用了遺傳算法工具箱本身提供的m函數文件,也將改進的遺傳算法編成m文件在Matlab中運行,通過仿真圖能夠直觀地反映遺傳算法與其他傳統(tǒng)尋優(yōu)方法相比,具有明顯優(yōu)勢。 本章小結 本章重點講述遺傳算法工具箱函數及其功能和用法,介紹了在遺傳算法PID控制器中會使用到的一些函數的功能,通過對它們的掌握為下面第五章做仿真和編程做了充足的準備。第4章 PID控制器模型第4章 PID控制器模型 PID參數優(yōu)化方法綜述為了更好的完成本論文,我查閱了一些其他優(yōu)化PID參數的方法。下面我就對這些優(yōu)化方法做一個簡要的綜述。方法一:ZieglerNichols設定方法Ziegler與Nichols(1942)提出了調節(jié)PID控制器的參數的經驗公式[11],這一調節(jié)器可根據帶有時滯環(huán)節(jié)的一階近似模型的階躍響應或頻率響應數據來設定。假設對象模型為 (41)其中一階響應的特征參數K、T、和可以由圖41構成的示意圖提取出來,或者已知頻率響應數據,即從Nyquist圖形上直接得出剪切頻率和該點處的幅值(或增益),由表41中的經驗公式求取控制器的參數。 圖41用作圖法確定參數表41 ZieglerNichols參數整定算法控制器類 型根據模型設定根據頻率響應設定PPIPID方法二:臨界比例度法當已知系統(tǒng)的臨界比例增益和振蕩周期時,也可以用經驗整定公式來確定PID控制器的參數,例如: (42)特征參數和,一般由系統(tǒng)整定實驗確定,或者用頻率特性分析算法根據受控過程直接算得,即由增益裕量gm確定,由相位剪切頻率確定。 (43)以上兩種傳統(tǒng)方法都是根據大量的實驗計算或實際工程經驗所得到的數據整理匯總所得到的公式而得來的,在實際的工程應用中有很大的弊端。方法三:單純形法。它的理論根據是:線性規(guī)劃問題的可行域是n維向量空間Rn中的多面凸集,其最優(yōu)值如果存在必在該凸集的某頂點處達到。頂點所對應的可行解稱為基本可行解。單純形法的基本思想是:先找出一個基本可行解,對它進行鑒別,看是否是最優(yōu)解;若不是,則按照一定法則轉換到另一改進的基本可行解,再鑒別;若仍不是,則再轉換,按此重復進行。因基本可行解的個數有限,故經有限次轉換必能得出問題的最優(yōu)解。如果問題無最優(yōu)解也可用此法判別。根據單純形法的原理,在線性規(guī)劃問題中,決策變量(控制變量)x1,x2,…xn的值稱為一個解,滿足所有的約束條件的解稱為可行解。使目標函數達到最大值(或最小值)的可行解稱為最優(yōu)解。這樣,一個最優(yōu)解能在整個由約束條件所確定的可行區(qū)域內使目標函數達到最大值(或最小值)。求解線性規(guī)劃問題的目的就是要找出最優(yōu)解。 最優(yōu)解可能出現下列情況之一:(1) 存在著一個最優(yōu)解;(2) 存在著無窮多個最優(yōu)解;(3)不存在最優(yōu)解,這只在兩種情況下發(fā)生,即沒有可行解或各項約束條件不阻止目標函數的值無限增大(或向負的方向無限增大)。單純形法的一般解題步驟可歸納如下:(1)把線性規(guī)劃問題的約束方程組表達成典范型方程組,找出基本可行解作為初始基本可行解。(2)若基本可行解不存在,即約束條件有矛盾,則問題無解。 (3)若基本可行解存在,從初始基本可行解作為起點,根據最優(yōu)性條件和可行性條件,引入非基變量取代某一基變量,找出目標函數值更優(yōu)的另一基本可行解。 (4)按步驟3進行迭代,直到對應檢驗數滿足最優(yōu)性條件(這時目標函數值不能再改善),即得到問題的最優(yōu)解。
點擊復制文檔內容
物理相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1