非線性系統(tǒng)辨識matlab實現.doc
約37頁DOC格式手機打開展開
非線性系統(tǒng)辨識matlab實現,非線性系統(tǒng)辨識matlab實現全文37頁 約23000字論述翔實摘 要本文介紹了基于matlab的使用最小二乘法進行參數辨識的設計與仿真方法。系統(tǒng)辨識就是通過對研究對象進行振動測試,量測研究對象在人工激勵下的輸出響應,或正常運行狀態(tài)下的輸入/輸出數據,加以必要的分析、計算,識別出對象的動力學方程(數學模型)的理論和方法...


內容介紹
此文檔由會員 癡狂少年 發(fā)布
非線性系統(tǒng)辨識Matlab實現
全文37頁 約23000字 論述翔實
摘 要
本文介紹了基于MATLAB的使用最小二乘法進行參數辨識的設計與仿真方法。系統(tǒng)辨識就是通過對研究對象進行振動測試,量測研究對象在人工激勵下的輸出響應,或正常運行狀態(tài)下的輸入/輸出數據,加以必要的分析、計算,識別出對象的動力學方程(數學模型)的理論和方法。這是因為對象的動態(tài)特性被認為必然表現在它的變化著的輸入輸出數據中,辨識就是利用數學方法從數據中提煉出對象的數學模型。線性系統(tǒng)的模型辨識和參數估計,人們已經進行了深入的研究,并總結出一套成熟的方法。在現實中非線性是普遍存在的,而非線性系統(tǒng)的研究要比線性系統(tǒng)復雜的多,這里主要研究最小二乘法在非線性系統(tǒng)的研究,給出改進算法并用Matlab仿真。本設計涉及非線性系統(tǒng)、現代控制和Matlab等。首先簡述參數辨識的概念和最小二乘法的基本原理.然后介紹如何采用MATLAB建立系統(tǒng)的仿真對象模型和運用MATLAB的M語言編寫最小二乘遞推算法.最后結合實例給出相應的仿真結果和分析。本文的仿真方法克服了傳統(tǒng)編程語言仿真時繁雜、難度高、周期長的缺點。
關鍵詞: MATLAB、白噪聲、系統(tǒng)建模、系統(tǒng)辨識
Matlab realization of The nonlinear system recognizition
Abstract
This article introduced carries on the design and the simulation method based onMATLAB use least squares method which the parameter recognizes. The system recognizes is throughcarries on the vibration test to the research object, the research object under manual drive output response, or under the normal operation condition input/output data, performs the essential analysis, the computation, distinguishes the object the dynamic equation (mathematical model) theory and method. This is because the object dynamic characteristic was considered inevitably displays in its change input output data, recognizes is uses mathematics method to refine the object from the data the mathematical model. The linear system model recognizes with the parameter estimated that, the people have already conducted the thorough research, and summarizes set of mature methods. In the reality Central Africa linearity is the universal existence, but the nonlinear system research needs compared to linear system complex many, here mainly to study least squares method in the nonlinear system research, produces the improvement algorithm and uses the Matlab simulation. This design involves the nonlinear system, the modern control and Matlab and so on. First summarizes the concept which the parameter recognizes and the least squares method base wooden principle Then introduced how uses the MATLAB establishment system the simulation object model and is smallest using the MATLAB M language compilation two rides the recursion algorithm Finally unifies the example to produce the corresponding simulation result and the analysis. This article simulation method has overcome when the tradition programming language simulation numerous and diverse, the difficulty is high, the cyclical long shortcoming.
Key words:matlab, white noise, system modeling, the system recognizes
目 錄
摘要
Abstract
1 緒論 1
1.1論文研究的目的和意義 1
1.2研究的國內外動態(tài)和趨勢 1
1.3 主要研究內容 2
2 系統(tǒng)辨識的介紹 3
2.1 系統(tǒng)辨識概 3
2.2 系統(tǒng)辨識的內容和步驟 5
2.3系統(tǒng)辨識的方法 6
2.4系統(tǒng)辨識的應用 7
2.5 系統(tǒng)辨別的噪聲干擾 8
2.6 最小二乘法的介紹 8
2.6.1 起源 8
2.6.2 最小二乘法概念 9
3 MATLAB簡介 12
3.1 MATLAB概述 12
3.2 MATLAB技術的主要特點 13
4 非線性系統(tǒng)辨識 15
4.1 非線性系統(tǒng)辨識的概述 15
4.2 非線性系統(tǒng)參數估計的特點 15
4.3 非線性解耦問題對系統(tǒng)的影響 15
4.4 深入研究的非線性問題 16
5 系統(tǒng)程序設計 17
5.1白噪聲產生程序 17
5.2 最小二乘一次完成算法辨識程序 18
6 結論 27
參考文獻
致謝
非線性系統(tǒng)辨識Matlab實論
1 緒論
1.1論文研究的目的和意義
人類認識客觀世界和改造世界的歷史進程,總是由低級到高級,由簡單到復雜,由表及里的縱深發(fā)展過程。在控制領域方面也是一樣,最先研究的控制系統(tǒng)都是線性的。例如,瓦特蒸汽機調節(jié)器、液面高度的調節(jié)等。這是由于受到人類對自然現象認識的客觀水平和解決實際問題的能力的限制,因為對線性系統(tǒng)的物理描述和數學求解是比較容易實現的事情,而且已經形成了一套完善的線性理論和分析研究方法。在現實中非線性是普遍存在的,而非線性系統(tǒng)的研究要比線性系統(tǒng)復雜的多,這里主要研究最小二乘法在非線性系統(tǒng)的研究,給出改進算法并用Matlab仿真。在系統(tǒng)辨識領域中,最小二乘法是一種得到廣泛應用的估計方法,可用于動態(tài),靜態(tài),線性,非線性系統(tǒng)。在使用最小二乘法進行參數估計時,為了實現實時控制,必須優(yōu)化成參數遞推算法,即最小二乘遞推算法。線性系統(tǒng)的模型辨識和參數估計,人們已經進行了深入的研究,并總結出一套成熟的方法。這種辨識方法主要用于在線辨識。對于一個簡單的系統(tǒng),可以通過分析其過程的運動規(guī)律,應用一些已知的定理和原理,建立數學模型,即所謂的“白箱建?!薄5珜τ诒容^復雜的生產過程,該建模方法有很大的局限性。由于過程的輸入輸出信號一般總是可以測量的,而且過程的動態(tài)特性必然表現在這些輸入輸出數據中,那么就可以利用輸入輸出數據所提供的信息來建立過程的數學模型。這種建模方法就稱為系統(tǒng)辨識。把辨識建模稱作“黑箱建?!薄I鐣茖W和自然科學的各個領域有很多學者在研究有關線性和非線性的辨識問題。
1.2研究的國內外動態(tài)和趨勢
對于線性系統(tǒng)的模型辨識和參數估計,早在20世紀60年代初期,Zadeh就給出了系統(tǒng)辨識的定義,人們已經進行了深入的研究,并總結出一套成熟的方法:最小二乘法辨識方法、最大似然辨識方法,剃度辨識等等。這些理論和方法已在工程實際中得到了廣泛的應用。研究辨識非線性系統(tǒng)模型及控制的理論和方法,進而對系統(tǒng)進行辨識、補償或控制。若能夠通過辨識得到其較準確的模型,則是控制問題的關鍵。但是,對于非線性系統(tǒng)來說,除極少數情況外,目前還沒一套可行的通用方法,而且每種方法只能針對某一類問題有效,不能普遍適用。所以,可以這么說,我們對非線性控制系統(tǒng)的認識和處理,基本上還是處于初級階段。因此,一個真實系統(tǒng)的非線性因素常常被我們所忽略了,或者被用各種線性關系所代替了。這就是線性系統(tǒng)理論發(fā)展迅速并趨于完善,而非線性系統(tǒng)理論長期得不到重視和發(fā)展的主要原因。工業(yè)生產的過程是復雜的,我們建立起來的模型也是不完善的。就是理論非常復雜的現代控制理論,其控制的效果也往往不盡人意,甚至在一些方面還不及傳統(tǒng)的PID控制。70年代,人們除了加強對生產過程的建模、系統(tǒng)辨識、自適應控制等方面的研究外,開始打破傳統(tǒng)的控制思想的觀念,試圖面向工業(yè)開發(fā)出一種對各種模型要求低、在線計算方便、控制綜合效果好的新型算法。
1.3 主要研究內容
人類認識客觀世界和改造世界的歷史進程,總是由低級到高級,由簡單到復雜,由表及里的縱深發(fā)展過程。在控制領域方面也是一樣,最先研究的控制系統(tǒng)都是線性的。例如,瓦特蒸汽機調節(jié)器、液面高度的調節(jié)等。這是由于受到人類對自然現象認識的客觀水平和解決實際問題的能力的限制,因為對線性系統(tǒng)的物理描述和數學求解是比較容易實現的事情,而且已經形成了一套完善的線性理論和分析研究方法。線性系統(tǒng)的模型辨識和參數估計,人們已經進行了深入的研究,并總結出一套成熟的方法。在現實中非線性是普遍存在的,而非線性系統(tǒng)的研究要比線性系統(tǒng)復雜的多,這里主要研究最小二乘法在非線性系統(tǒng)的研究,給出改進算法并用Matlab仿真。
早期的MATLAB是用FORTRAN語言編寫的,盡管功能十分簡單,但由于是免費的軟件,還是吸引了大批使用者。經過了幾年的校際流傳,在JOHN LITTLE的推動下,于1984年成立了MATHWORKS公司,并正式推出了MATLAB。從這時起,MATLAB的核心采用C語言編寫,功能也越來越強。它不僅具有數值計算功能,而且還具有符號計算、圖形處理等功能。
以后,MATLAB版本不斷更新。于1992年推出了具有劃時代意義的4.0版本,并于1993年推出了其微機版本,使其應用范圍越來越廣。
2 系統(tǒng)辨識的介紹
2.1 系統(tǒng)辨識概
系統(tǒng)是通過模型來表達的,因此系統(tǒng)辨識也稱為模型辨識[1]。模型有如下一些表現形式:
(1)“直覺”模型。它指過程的特性以非線性解析的形式直接儲存在人腦中,靠人的直覺控制過程的進行。
(2)物理模型。它是根據相似原理把時間過程加以縮小的復制品,或是實際過程的一種物理模擬。
(3)圖表模型。它以圖形或表格的形式來表現過程的特性。
(4)數學模型。它用數學結構的形式來反映實際過程的行為特性。
系統(tǒng)模型的建立分為機理建模、系統(tǒng)分析和系統(tǒng)辨識相結合的建模方法。1、機理建模是一種常用的建模方法,是根據系統(tǒng)的結果,分析系統(tǒng)運動的規(guī)律,利用已知的響應的定律、定理或原理,如化學動力學原理、生物學定律、牛頓定理、能量平衡方程和傳熱傳質原理等推導出描述系統(tǒng)的數學模型,建立的模型可能是線性的或非線性的,這類建模有時也成為白箱建模。2、系統(tǒng)辨識是一種利用系統(tǒng)的輸入輸出數據建模的方法,是黑箱建模問題,即使對系統(tǒng)的結構和參數一無所知,也可以通過多次測量得到的系統(tǒng)的輸入輸出的數據來求得系統(tǒng)的模型,是對實際系統(tǒng)的一個合適的近似。在這方面線性系統(tǒng)的建模理論已成熟,有關科學的專業(yè)知識要求不變,獲得的模型較簡單。3、機理建模和辨識建模結合的方法使用于系統(tǒng)的運動機理不是完全未知的情況,稱之為灰色建模。利用已知的運動機理和經驗確定系統(tǒng)的結構和參數。
辨識問題包括模型結構辨識和參數估計。所謂的參數估計或點估計問題,即設X為一知參數,可以視為參數空間的X中的一個點,測量y是一個隨機向量,其分量依賴于參數x。即根據y的一組樣本對參數x的估計就稱為參數估計問題。而系統(tǒng)的辨識是研究如何獲得必要的系統(tǒng)輸入輸出的數據,以及如何從獲得的數據構造一個相對真實地反映客觀對象的數學模型,辨識就是在輸入和輸出的基礎上由規(guī)定的一類系統(tǒng)模型中確定一個系統(tǒng)模型,使之于被測系統(tǒng)等價[12]。
系統(tǒng)辨識就是通過對研究對象進行振動測試,量測研究對象在人工激勵下的輸出響應,或正常運行狀態(tài)下的輸入/輸出數據,加以必要的分析、計算,識別出對象的動力學方程(數學模型)的理論和方法。這是因為對象的動態(tài)特性被認為必然表現在它的變化著的輸入輸出數據中,辨識就是利用數學方法從數據中提煉出對象的數學模型。目前,系統(tǒng)辨識理論研究己經取得大量研究成果,其應用領域也早就超出了控制工程的范疇,活躍在各個學科領域[10]。一切客觀存在的事物及其運動形態(tài)都可以通稱為系統(tǒng)(System)或過程(Process)。系統(tǒng)中包含著不同的交互作用,在受到外部激勵作用時,能夠產生信號響應(反應),我們研究(關心)的外部激勵信號稱為輸入,而其余的信號稱為干擾;系統(tǒng)的響應稱為輸出,系統(tǒng)本身的含義比較廣泛,可以是某種工程系統(tǒng)、生物學系統(tǒng)、工業(yè)生產系統(tǒng)、經濟或社會系統(tǒng)等。系統(tǒng)在現代科學中起著重要的作用,許多問題都可以在系統(tǒng)的框架結構內得到解決。
當我們研究一個系統(tǒng)時,我們需要對系統(tǒng)進行觀測以了解系統(tǒng)內各個變量之間是如何相互作用的。在這種意義上來說,我們可以把各變量間的相互關系稱為系統(tǒng)的模型,即把關于系統(tǒng)本質的部分信息用某種描述形式來表示[2]。它用來描述系統(tǒng)的運動規(guī)律,是分析系統(tǒng)動態(tài)特性、預報系統(tǒng)動態(tài)響應的有力工具。模型的形式是多樣的,可以用不同的數學公式來描述。對某些系統(tǒng),可以用數字表格和/或圖形來描述其性質,稱之為圖表模型,也即非參數模型。例如對線性系統(tǒng)來說,其性質可以用脈沖響應、階躍響應、頻響函數來描述。但為了進一步研究和應用,我們必須給系統(tǒng)引入像代數方程、微分方程、差分方程、狀態(tài)方程等形式的數學表達式來描述系統(tǒng)各個變量間的關系、反映系統(tǒng)的行為特性,這些模型稱之為數學模型(解析模型)。我們可以進一步對數學模型分類,如連續(xù)、離散模型,集中、分布參數模型,線性、非線性模型,確定性、隨機性模型等等。
現在數學模型已經應用于工程和物理學的各個領域,事實上,工程中最主要的問題也就是如何依靠數學模型來指導設計任務,其它方面則可用于模擬、預測。
建模的需要正在許多學科內興起。建立所研究對象的數學模型,主要有兩條途徑:一條途徑是將所研究的系統(tǒng)分解為若干個子系統(tǒng),各個子系統(tǒng)的特性通常己經掌握,從而可以分別確定各個子系統(tǒng)的數學模型。實質上就是借助于已知的子系統(tǒng)的機理,或借助于己有的規(guī)律和經驗,確定各個子系統(tǒng)的變量之間的關系,從而建立其數學模型。將這些子系統(tǒng)在數學上聯系起來,就得出整個系統(tǒng)的數學模型,這就是機理分析法。在機理分析法建模過程中,不必要對實際系統(tǒng)進行任何實驗,然而,上述機理建模工作并不總是可能的。因為人們對所研究系統(tǒng)的機理,其知識往往是不完全的;或者系統(tǒng)特性的變化方式是不可預計的,或者按照推理建模要花費很長時間,所建立起來的數學模型又過分復雜。在這些情況下,可以采用另一條在實驗基礎建立數學模型的途徑,即對于一個己經存在的對象,
通過觀測其輸入、輸出信號,來獲取該對象的數學模型。這種建模的途徑就稱為系統(tǒng)辨識。在大多數情況下,為了建立一個系統(tǒng)的模型,往往是機理建模和實驗建模相互結合。
由于系統(tǒng)辨識方法不破壞研究對象的原有結構,因此在以下幾類系統(tǒng)的研究中就顯得特別重要:(1)某些內部結構非常復雜的系統(tǒng),例如社會經濟系統(tǒng)。這類系統(tǒng)的內部不但變量數目眾多,而且相互關系也錯綜復雜。我們即使打開這類黑箱,也往往只能從某一個局部來觀察它們,采用不打開黑箱的方法,反而有利于從整體角度、從綜合全局的角度來考察問題。(2)某些打開黑箱會嚴重干擾本身結構的系統(tǒng)。例如生物系統(tǒng)。到目前為止,我們打開這類黑箱的辦法主要還是解剖,因此這類黑箱的結構就會受到嚴重的破壞,所觀察到的內部結構與黑箱未打開時的結構可能大不相同。(3)至今人們尚無法直接觀察和控制內部結構的系統(tǒng)。例如地球內部的結構,迄今我們還不能直接觀察地心深部的情況。一些關于地球深部構造的模型,乃是人們通過對地球表面的一些輸入輸出變量的觀測(如地磁、地變形、超聲波等)來研究地球后得到的推理。
從機理上建立對象的模型,要求對于該建模對象中所發(fā)生的各種過程都要有充分的了解。這意味著建模人員應當具備建模對象內部機理的專門知識。但是,即使是在自然科學領域中,要求對建模對象的機理能完全掌握是很困難的。對事物的認識水平比較接近于這種要求的是電路系統(tǒng)和力學系統(tǒng),即使這樣,在利用推理方法建立這類系統(tǒng)的模型時,還需要進行許多簡化和假設。為了保證所獲得的結論是可靠的,用推理所建立的模型還必須要借助實驗的結果來證實。推理模型中的一些參數,也要靠實驗數據來確定。而對一些復雜的過程,如熱工化工過程、生物醫(yī)學系統(tǒng)、環(huán)境生態(tài)系統(tǒng)、社會經濟系統(tǒng)等,目前人們對這些過程的機理的認識還不完善,因此對建模對象的模型結構形式往往亦難于確切判定。在這種情況下建模工作就必須更多地依賴實驗觀測的方法。當然,在采用實驗方法建
模的過程中,我們不應當放棄運用己有的關于建模對象的內部機理知識和一些驗前信息,相反,應該盡可能多的掌握驗前知識。然后進行實驗分析,通過觀測大量的輸入輸出信號,按照一定方法對觀察數據進行分析和處理,從而建立所研究對象的數學模型。
通過評價系統(tǒng)輸入和輸出信號,可以用計算機對過程進行分析或辨識,這種辨識的結果通常為數學模型,可以用此數學模型對系統(tǒng)的靜、動力特性進行研究和預測。建立系統(tǒng)數學模型的重要性如下:
(1)用于控制系統(tǒng)的設計和分析。因為現代最優(yōu)控制算法的設計只有在精確數學模型的基礎上才能實現。利用辨識方法獲得系統(tǒng)的數學模型后,就可以設計出比較合理的控制系統(tǒng)或分析原有控制系統(tǒng)的性能,以便提出改進。
(2) 系統(tǒng)仿真。用系統(tǒng)辨識得到對象的數學模型后,可以借此來了解系統(tǒng)的內部特征以及在給定輸入信號下的響應,研究系統(tǒng)的動態(tài)特性是否符合設計標準。
(3) 用于系統(tǒng)預測。對于天氣、水文、人口、能源等問題,常常需要對其發(fā)展狀況進行預報預測,辨識用于預報的基本思想是,在模型結構確定的情況下,建立時變模型,并預側時變模型的參數,然后進行預報。
(4) 用于監(jiān)測系統(tǒng)參數并實現損傷識別和故障診斷。許多生產過程以及大型結構、設備,希望經常監(jiān)測和檢測可能出現的故障,以便及時排除,避免事故發(fā)生。這就意味著必須不斷地收集信息,推斷系統(tǒng)動態(tài)特性的變化,然后根據結構動態(tài)特性的變化來判斷是否有故障發(fā)生、故障的位置及嚴重程度等。
實際的控制應用不能脫離被控系統(tǒng)的數學模型,在利用控制理論去解決實際問題時,通常需要先建立被控系統(tǒng)的數學模型。
系統(tǒng)建模的方法有兩種:機理分析法和辨識。機理分析法通常需要通過分析對象的運動規(guī)律,運用一些已知的定律、定理和原理建立對象的數學模型,這種方法也稱為理論建模。但是實際系統(tǒng)的激勵往往難以精確描述,或者過于復雜不便于處理,所以常使用辨識的方法進行建模。
L.A.Zadeh給辨識下的定義是:“辨識就是在輸入輸出數據的基礎上,從一組給定的模型類中,確定一個與所測系統(tǒng)的等價的模型”,系統(tǒng)辨識并不只是期望獲得一個物理系統(tǒng)的確切的數學描述,而以把關于實際系統(tǒng)的本質部分的信息簡縮成有用的描述形式,此模型能夠描述原來被辨識系統(tǒng)的動態(tài)本質特征為目的,從這個意義上講,所辨識的模型可以是一個“黑箱”。
辨識自上而下包括結構辨識和參數辨識兩個過程,結構辨識主要是利用先驗知識確定模型的結構,如線性系統(tǒng)的階數或神經網絡的層數和節(jié)點數等。在模型結構確定之后,利用各種優(yōu)化技術來對模型中的各參數進行尋優(yōu),使建立的模型能真實地反映原來系統(tǒng)的動態(tài)特征,經過多次的反復,直到得到滿意的模型。
2.2 系統(tǒng)辨識的內容和步驟
部分參考文獻
[15] 高峰.基于多ANN結構的復雜系統(tǒng)辨識和控制.博士論文,1995
[16] 侯媛彬.一類非線性動態(tài)系統(tǒng)建模與控制研究.博士論文,1997
[17] 侯媛彬.降低一類神經網絡靈敏度的理論和方法的研究. 西安公路交通大學學報,1998
[18] Carrol S M and Dickinson B W.Construction of Neural Nets Using Radon Transform. Proc.UCNN 1989
[19] Lippmann R P.An Introduction to Computing with Neural Nets.IEEE ASSP Magzaine 1987
全文37頁 約23000字 論述翔實
摘 要
本文介紹了基于MATLAB的使用最小二乘法進行參數辨識的設計與仿真方法。系統(tǒng)辨識就是通過對研究對象進行振動測試,量測研究對象在人工激勵下的輸出響應,或正常運行狀態(tài)下的輸入/輸出數據,加以必要的分析、計算,識別出對象的動力學方程(數學模型)的理論和方法。這是因為對象的動態(tài)特性被認為必然表現在它的變化著的輸入輸出數據中,辨識就是利用數學方法從數據中提煉出對象的數學模型。線性系統(tǒng)的模型辨識和參數估計,人們已經進行了深入的研究,并總結出一套成熟的方法。在現實中非線性是普遍存在的,而非線性系統(tǒng)的研究要比線性系統(tǒng)復雜的多,這里主要研究最小二乘法在非線性系統(tǒng)的研究,給出改進算法并用Matlab仿真。本設計涉及非線性系統(tǒng)、現代控制和Matlab等。首先簡述參數辨識的概念和最小二乘法的基本原理.然后介紹如何采用MATLAB建立系統(tǒng)的仿真對象模型和運用MATLAB的M語言編寫最小二乘遞推算法.最后結合實例給出相應的仿真結果和分析。本文的仿真方法克服了傳統(tǒng)編程語言仿真時繁雜、難度高、周期長的缺點。
關鍵詞: MATLAB、白噪聲、系統(tǒng)建模、系統(tǒng)辨識
Matlab realization of The nonlinear system recognizition
Abstract
This article introduced carries on the design and the simulation method based onMATLAB use least squares method which the parameter recognizes. The system recognizes is throughcarries on the vibration test to the research object, the research object under manual drive output response, or under the normal operation condition input/output data, performs the essential analysis, the computation, distinguishes the object the dynamic equation (mathematical model) theory and method. This is because the object dynamic characteristic was considered inevitably displays in its change input output data, recognizes is uses mathematics method to refine the object from the data the mathematical model. The linear system model recognizes with the parameter estimated that, the people have already conducted the thorough research, and summarizes set of mature methods. In the reality Central Africa linearity is the universal existence, but the nonlinear system research needs compared to linear system complex many, here mainly to study least squares method in the nonlinear system research, produces the improvement algorithm and uses the Matlab simulation. This design involves the nonlinear system, the modern control and Matlab and so on. First summarizes the concept which the parameter recognizes and the least squares method base wooden principle Then introduced how uses the MATLAB establishment system the simulation object model and is smallest using the MATLAB M language compilation two rides the recursion algorithm Finally unifies the example to produce the corresponding simulation result and the analysis. This article simulation method has overcome when the tradition programming language simulation numerous and diverse, the difficulty is high, the cyclical long shortcoming.
Key words:matlab, white noise, system modeling, the system recognizes
目 錄
摘要
Abstract
1 緒論 1
1.1論文研究的目的和意義 1
1.2研究的國內外動態(tài)和趨勢 1
1.3 主要研究內容 2
2 系統(tǒng)辨識的介紹 3
2.1 系統(tǒng)辨識概 3
2.2 系統(tǒng)辨識的內容和步驟 5
2.3系統(tǒng)辨識的方法 6
2.4系統(tǒng)辨識的應用 7
2.5 系統(tǒng)辨別的噪聲干擾 8
2.6 最小二乘法的介紹 8
2.6.1 起源 8
2.6.2 最小二乘法概念 9
3 MATLAB簡介 12
3.1 MATLAB概述 12
3.2 MATLAB技術的主要特點 13
4 非線性系統(tǒng)辨識 15
4.1 非線性系統(tǒng)辨識的概述 15
4.2 非線性系統(tǒng)參數估計的特點 15
4.3 非線性解耦問題對系統(tǒng)的影響 15
4.4 深入研究的非線性問題 16
5 系統(tǒng)程序設計 17
5.1白噪聲產生程序 17
5.2 最小二乘一次完成算法辨識程序 18
6 結論 27
參考文獻
致謝
非線性系統(tǒng)辨識Matlab實論
1 緒論
1.1論文研究的目的和意義
人類認識客觀世界和改造世界的歷史進程,總是由低級到高級,由簡單到復雜,由表及里的縱深發(fā)展過程。在控制領域方面也是一樣,最先研究的控制系統(tǒng)都是線性的。例如,瓦特蒸汽機調節(jié)器、液面高度的調節(jié)等。這是由于受到人類對自然現象認識的客觀水平和解決實際問題的能力的限制,因為對線性系統(tǒng)的物理描述和數學求解是比較容易實現的事情,而且已經形成了一套完善的線性理論和分析研究方法。在現實中非線性是普遍存在的,而非線性系統(tǒng)的研究要比線性系統(tǒng)復雜的多,這里主要研究最小二乘法在非線性系統(tǒng)的研究,給出改進算法并用Matlab仿真。在系統(tǒng)辨識領域中,最小二乘法是一種得到廣泛應用的估計方法,可用于動態(tài),靜態(tài),線性,非線性系統(tǒng)。在使用最小二乘法進行參數估計時,為了實現實時控制,必須優(yōu)化成參數遞推算法,即最小二乘遞推算法。線性系統(tǒng)的模型辨識和參數估計,人們已經進行了深入的研究,并總結出一套成熟的方法。這種辨識方法主要用于在線辨識。對于一個簡單的系統(tǒng),可以通過分析其過程的運動規(guī)律,應用一些已知的定理和原理,建立數學模型,即所謂的“白箱建?!薄5珜τ诒容^復雜的生產過程,該建模方法有很大的局限性。由于過程的輸入輸出信號一般總是可以測量的,而且過程的動態(tài)特性必然表現在這些輸入輸出數據中,那么就可以利用輸入輸出數據所提供的信息來建立過程的數學模型。這種建模方法就稱為系統(tǒng)辨識。把辨識建模稱作“黑箱建?!薄I鐣茖W和自然科學的各個領域有很多學者在研究有關線性和非線性的辨識問題。
1.2研究的國內外動態(tài)和趨勢
對于線性系統(tǒng)的模型辨識和參數估計,早在20世紀60年代初期,Zadeh就給出了系統(tǒng)辨識的定義,人們已經進行了深入的研究,并總結出一套成熟的方法:最小二乘法辨識方法、最大似然辨識方法,剃度辨識等等。這些理論和方法已在工程實際中得到了廣泛的應用。研究辨識非線性系統(tǒng)模型及控制的理論和方法,進而對系統(tǒng)進行辨識、補償或控制。若能夠通過辨識得到其較準確的模型,則是控制問題的關鍵。但是,對于非線性系統(tǒng)來說,除極少數情況外,目前還沒一套可行的通用方法,而且每種方法只能針對某一類問題有效,不能普遍適用。所以,可以這么說,我們對非線性控制系統(tǒng)的認識和處理,基本上還是處于初級階段。因此,一個真實系統(tǒng)的非線性因素常常被我們所忽略了,或者被用各種線性關系所代替了。這就是線性系統(tǒng)理論發(fā)展迅速并趨于完善,而非線性系統(tǒng)理論長期得不到重視和發(fā)展的主要原因。工業(yè)生產的過程是復雜的,我們建立起來的模型也是不完善的。就是理論非常復雜的現代控制理論,其控制的效果也往往不盡人意,甚至在一些方面還不及傳統(tǒng)的PID控制。70年代,人們除了加強對生產過程的建模、系統(tǒng)辨識、自適應控制等方面的研究外,開始打破傳統(tǒng)的控制思想的觀念,試圖面向工業(yè)開發(fā)出一種對各種模型要求低、在線計算方便、控制綜合效果好的新型算法。
1.3 主要研究內容
人類認識客觀世界和改造世界的歷史進程,總是由低級到高級,由簡單到復雜,由表及里的縱深發(fā)展過程。在控制領域方面也是一樣,最先研究的控制系統(tǒng)都是線性的。例如,瓦特蒸汽機調節(jié)器、液面高度的調節(jié)等。這是由于受到人類對自然現象認識的客觀水平和解決實際問題的能力的限制,因為對線性系統(tǒng)的物理描述和數學求解是比較容易實現的事情,而且已經形成了一套完善的線性理論和分析研究方法。線性系統(tǒng)的模型辨識和參數估計,人們已經進行了深入的研究,并總結出一套成熟的方法。在現實中非線性是普遍存在的,而非線性系統(tǒng)的研究要比線性系統(tǒng)復雜的多,這里主要研究最小二乘法在非線性系統(tǒng)的研究,給出改進算法并用Matlab仿真。
早期的MATLAB是用FORTRAN語言編寫的,盡管功能十分簡單,但由于是免費的軟件,還是吸引了大批使用者。經過了幾年的校際流傳,在JOHN LITTLE的推動下,于1984年成立了MATHWORKS公司,并正式推出了MATLAB。從這時起,MATLAB的核心采用C語言編寫,功能也越來越強。它不僅具有數值計算功能,而且還具有符號計算、圖形處理等功能。
以后,MATLAB版本不斷更新。于1992年推出了具有劃時代意義的4.0版本,并于1993年推出了其微機版本,使其應用范圍越來越廣。
2 系統(tǒng)辨識的介紹
2.1 系統(tǒng)辨識概
系統(tǒng)是通過模型來表達的,因此系統(tǒng)辨識也稱為模型辨識[1]。模型有如下一些表現形式:
(1)“直覺”模型。它指過程的特性以非線性解析的形式直接儲存在人腦中,靠人的直覺控制過程的進行。
(2)物理模型。它是根據相似原理把時間過程加以縮小的復制品,或是實際過程的一種物理模擬。
(3)圖表模型。它以圖形或表格的形式來表現過程的特性。
(4)數學模型。它用數學結構的形式來反映實際過程的行為特性。
系統(tǒng)模型的建立分為機理建模、系統(tǒng)分析和系統(tǒng)辨識相結合的建模方法。1、機理建模是一種常用的建模方法,是根據系統(tǒng)的結果,分析系統(tǒng)運動的規(guī)律,利用已知的響應的定律、定理或原理,如化學動力學原理、生物學定律、牛頓定理、能量平衡方程和傳熱傳質原理等推導出描述系統(tǒng)的數學模型,建立的模型可能是線性的或非線性的,這類建模有時也成為白箱建模。2、系統(tǒng)辨識是一種利用系統(tǒng)的輸入輸出數據建模的方法,是黑箱建模問題,即使對系統(tǒng)的結構和參數一無所知,也可以通過多次測量得到的系統(tǒng)的輸入輸出的數據來求得系統(tǒng)的模型,是對實際系統(tǒng)的一個合適的近似。在這方面線性系統(tǒng)的建模理論已成熟,有關科學的專業(yè)知識要求不變,獲得的模型較簡單。3、機理建模和辨識建模結合的方法使用于系統(tǒng)的運動機理不是完全未知的情況,稱之為灰色建模。利用已知的運動機理和經驗確定系統(tǒng)的結構和參數。
辨識問題包括模型結構辨識和參數估計。所謂的參數估計或點估計問題,即設X為一知參數,可以視為參數空間的X中的一個點,測量y是一個隨機向量,其分量依賴于參數x。即根據y的一組樣本對參數x的估計就稱為參數估計問題。而系統(tǒng)的辨識是研究如何獲得必要的系統(tǒng)輸入輸出的數據,以及如何從獲得的數據構造一個相對真實地反映客觀對象的數學模型,辨識就是在輸入和輸出的基礎上由規(guī)定的一類系統(tǒng)模型中確定一個系統(tǒng)模型,使之于被測系統(tǒng)等價[12]。
系統(tǒng)辨識就是通過對研究對象進行振動測試,量測研究對象在人工激勵下的輸出響應,或正常運行狀態(tài)下的輸入/輸出數據,加以必要的分析、計算,識別出對象的動力學方程(數學模型)的理論和方法。這是因為對象的動態(tài)特性被認為必然表現在它的變化著的輸入輸出數據中,辨識就是利用數學方法從數據中提煉出對象的數學模型。目前,系統(tǒng)辨識理論研究己經取得大量研究成果,其應用領域也早就超出了控制工程的范疇,活躍在各個學科領域[10]。一切客觀存在的事物及其運動形態(tài)都可以通稱為系統(tǒng)(System)或過程(Process)。系統(tǒng)中包含著不同的交互作用,在受到外部激勵作用時,能夠產生信號響應(反應),我們研究(關心)的外部激勵信號稱為輸入,而其余的信號稱為干擾;系統(tǒng)的響應稱為輸出,系統(tǒng)本身的含義比較廣泛,可以是某種工程系統(tǒng)、生物學系統(tǒng)、工業(yè)生產系統(tǒng)、經濟或社會系統(tǒng)等。系統(tǒng)在現代科學中起著重要的作用,許多問題都可以在系統(tǒng)的框架結構內得到解決。
當我們研究一個系統(tǒng)時,我們需要對系統(tǒng)進行觀測以了解系統(tǒng)內各個變量之間是如何相互作用的。在這種意義上來說,我們可以把各變量間的相互關系稱為系統(tǒng)的模型,即把關于系統(tǒng)本質的部分信息用某種描述形式來表示[2]。它用來描述系統(tǒng)的運動規(guī)律,是分析系統(tǒng)動態(tài)特性、預報系統(tǒng)動態(tài)響應的有力工具。模型的形式是多樣的,可以用不同的數學公式來描述。對某些系統(tǒng),可以用數字表格和/或圖形來描述其性質,稱之為圖表模型,也即非參數模型。例如對線性系統(tǒng)來說,其性質可以用脈沖響應、階躍響應、頻響函數來描述。但為了進一步研究和應用,我們必須給系統(tǒng)引入像代數方程、微分方程、差分方程、狀態(tài)方程等形式的數學表達式來描述系統(tǒng)各個變量間的關系、反映系統(tǒng)的行為特性,這些模型稱之為數學模型(解析模型)。我們可以進一步對數學模型分類,如連續(xù)、離散模型,集中、分布參數模型,線性、非線性模型,確定性、隨機性模型等等。
現在數學模型已經應用于工程和物理學的各個領域,事實上,工程中最主要的問題也就是如何依靠數學模型來指導設計任務,其它方面則可用于模擬、預測。
建模的需要正在許多學科內興起。建立所研究對象的數學模型,主要有兩條途徑:一條途徑是將所研究的系統(tǒng)分解為若干個子系統(tǒng),各個子系統(tǒng)的特性通常己經掌握,從而可以分別確定各個子系統(tǒng)的數學模型。實質上就是借助于已知的子系統(tǒng)的機理,或借助于己有的規(guī)律和經驗,確定各個子系統(tǒng)的變量之間的關系,從而建立其數學模型。將這些子系統(tǒng)在數學上聯系起來,就得出整個系統(tǒng)的數學模型,這就是機理分析法。在機理分析法建模過程中,不必要對實際系統(tǒng)進行任何實驗,然而,上述機理建模工作并不總是可能的。因為人們對所研究系統(tǒng)的機理,其知識往往是不完全的;或者系統(tǒng)特性的變化方式是不可預計的,或者按照推理建模要花費很長時間,所建立起來的數學模型又過分復雜。在這些情況下,可以采用另一條在實驗基礎建立數學模型的途徑,即對于一個己經存在的對象,
通過觀測其輸入、輸出信號,來獲取該對象的數學模型。這種建模的途徑就稱為系統(tǒng)辨識。在大多數情況下,為了建立一個系統(tǒng)的模型,往往是機理建模和實驗建模相互結合。
由于系統(tǒng)辨識方法不破壞研究對象的原有結構,因此在以下幾類系統(tǒng)的研究中就顯得特別重要:(1)某些內部結構非常復雜的系統(tǒng),例如社會經濟系統(tǒng)。這類系統(tǒng)的內部不但變量數目眾多,而且相互關系也錯綜復雜。我們即使打開這類黑箱,也往往只能從某一個局部來觀察它們,采用不打開黑箱的方法,反而有利于從整體角度、從綜合全局的角度來考察問題。(2)某些打開黑箱會嚴重干擾本身結構的系統(tǒng)。例如生物系統(tǒng)。到目前為止,我們打開這類黑箱的辦法主要還是解剖,因此這類黑箱的結構就會受到嚴重的破壞,所觀察到的內部結構與黑箱未打開時的結構可能大不相同。(3)至今人們尚無法直接觀察和控制內部結構的系統(tǒng)。例如地球內部的結構,迄今我們還不能直接觀察地心深部的情況。一些關于地球深部構造的模型,乃是人們通過對地球表面的一些輸入輸出變量的觀測(如地磁、地變形、超聲波等)來研究地球后得到的推理。
從機理上建立對象的模型,要求對于該建模對象中所發(fā)生的各種過程都要有充分的了解。這意味著建模人員應當具備建模對象內部機理的專門知識。但是,即使是在自然科學領域中,要求對建模對象的機理能完全掌握是很困難的。對事物的認識水平比較接近于這種要求的是電路系統(tǒng)和力學系統(tǒng),即使這樣,在利用推理方法建立這類系統(tǒng)的模型時,還需要進行許多簡化和假設。為了保證所獲得的結論是可靠的,用推理所建立的模型還必須要借助實驗的結果來證實。推理模型中的一些參數,也要靠實驗數據來確定。而對一些復雜的過程,如熱工化工過程、生物醫(yī)學系統(tǒng)、環(huán)境生態(tài)系統(tǒng)、社會經濟系統(tǒng)等,目前人們對這些過程的機理的認識還不完善,因此對建模對象的模型結構形式往往亦難于確切判定。在這種情況下建模工作就必須更多地依賴實驗觀測的方法。當然,在采用實驗方法建
模的過程中,我們不應當放棄運用己有的關于建模對象的內部機理知識和一些驗前信息,相反,應該盡可能多的掌握驗前知識。然后進行實驗分析,通過觀測大量的輸入輸出信號,按照一定方法對觀察數據進行分析和處理,從而建立所研究對象的數學模型。
通過評價系統(tǒng)輸入和輸出信號,可以用計算機對過程進行分析或辨識,這種辨識的結果通常為數學模型,可以用此數學模型對系統(tǒng)的靜、動力特性進行研究和預測。建立系統(tǒng)數學模型的重要性如下:
(1)用于控制系統(tǒng)的設計和分析。因為現代最優(yōu)控制算法的設計只有在精確數學模型的基礎上才能實現。利用辨識方法獲得系統(tǒng)的數學模型后,就可以設計出比較合理的控制系統(tǒng)或分析原有控制系統(tǒng)的性能,以便提出改進。
(2) 系統(tǒng)仿真。用系統(tǒng)辨識得到對象的數學模型后,可以借此來了解系統(tǒng)的內部特征以及在給定輸入信號下的響應,研究系統(tǒng)的動態(tài)特性是否符合設計標準。
(3) 用于系統(tǒng)預測。對于天氣、水文、人口、能源等問題,常常需要對其發(fā)展狀況進行預報預測,辨識用于預報的基本思想是,在模型結構確定的情況下,建立時變模型,并預側時變模型的參數,然后進行預報。
(4) 用于監(jiān)測系統(tǒng)參數并實現損傷識別和故障診斷。許多生產過程以及大型結構、設備,希望經常監(jiān)測和檢測可能出現的故障,以便及時排除,避免事故發(fā)生。這就意味著必須不斷地收集信息,推斷系統(tǒng)動態(tài)特性的變化,然后根據結構動態(tài)特性的變化來判斷是否有故障發(fā)生、故障的位置及嚴重程度等。
實際的控制應用不能脫離被控系統(tǒng)的數學模型,在利用控制理論去解決實際問題時,通常需要先建立被控系統(tǒng)的數學模型。
系統(tǒng)建模的方法有兩種:機理分析法和辨識。機理分析法通常需要通過分析對象的運動規(guī)律,運用一些已知的定律、定理和原理建立對象的數學模型,這種方法也稱為理論建模。但是實際系統(tǒng)的激勵往往難以精確描述,或者過于復雜不便于處理,所以常使用辨識的方法進行建模。
L.A.Zadeh給辨識下的定義是:“辨識就是在輸入輸出數據的基礎上,從一組給定的模型類中,確定一個與所測系統(tǒng)的等價的模型”,系統(tǒng)辨識并不只是期望獲得一個物理系統(tǒng)的確切的數學描述,而以把關于實際系統(tǒng)的本質部分的信息簡縮成有用的描述形式,此模型能夠描述原來被辨識系統(tǒng)的動態(tài)本質特征為目的,從這個意義上講,所辨識的模型可以是一個“黑箱”。
辨識自上而下包括結構辨識和參數辨識兩個過程,結構辨識主要是利用先驗知識確定模型的結構,如線性系統(tǒng)的階數或神經網絡的層數和節(jié)點數等。在模型結構確定之后,利用各種優(yōu)化技術來對模型中的各參數進行尋優(yōu),使建立的模型能真實地反映原來系統(tǒng)的動態(tài)特征,經過多次的反復,直到得到滿意的模型。
2.2 系統(tǒng)辨識的內容和步驟
部分參考文獻
[15] 高峰.基于多ANN結構的復雜系統(tǒng)辨識和控制.博士論文,1995
[16] 侯媛彬.一類非線性動態(tài)系統(tǒng)建模與控制研究.博士論文,1997
[17] 侯媛彬.降低一類神經網絡靈敏度的理論和方法的研究. 西安公路交通大學學報,1998
[18] Carrol S M and Dickinson B W.Construction of Neural Nets Using Radon Transform. Proc.UCNN 1989
[19] Lippmann R P.An Introduction to Computing with Neural Nets.IEEE ASSP Magzaine 1987