Matlab仿真應(yīng)用詳解 講義_第1頁(yè)
Matlab仿真應(yīng)用詳解 講義_第2頁(yè)
Matlab仿真應(yīng)用詳解 講義_第3頁(yè)
Matlab仿真應(yīng)用詳解 講義_第4頁(yè)
Matlab仿真應(yīng)用詳解 講義_第5頁(yè)
已閱讀5頁(yè),還剩108頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、Matlab仿真應(yīng)用詳解一、基本概念11、什么是計(jì)算機(jī)仿真1、仿真定義基本思想:仿真的基本思想是利用物理的或數(shù)學(xué)的模型來(lái)類(lèi)比模仿現(xiàn)實(shí)過(guò)程,以尋求過(guò)程和規(guī)律。它的基礎(chǔ)是相似現(xiàn)象,相似性一般表現(xiàn)為兩類(lèi):幾何相似性和數(shù)學(xué)相似性。當(dāng)兩個(gè)系統(tǒng)的數(shù)學(xué)方程相似,只是符號(hào)變換或物理含義不同時(shí),這兩個(gè)系統(tǒng)被稱(chēng)為“數(shù)學(xué)同構(gòu)”。 仿真的方法可以分為三類(lèi): (1)實(shí)物仿真。它是對(duì)實(shí)際行為和過(guò)程進(jìn)行仿真,早期的仿真大多屬于這一類(lèi)。物理仿真的優(yōu)點(diǎn)是直觀、形象,至今在航天、建筑、船舶和汽車(chē)等許多工業(yè)系統(tǒng)的實(shí)驗(yàn)研究中心仍然可以見(jiàn)到。比如:用沙盤(pán)仿真作戰(zhàn),利用風(fēng)洞對(duì)導(dǎo)彈或飛機(jī)的模型進(jìn)行空氣動(dòng)力學(xué)實(shí)驗(yàn)、用圖紙和模型模擬建筑群等都

2、是物理仿真。但是要為系統(tǒng)構(gòu)造一套物理模型,不是一件簡(jiǎn)單的事,尤其是十分復(fù)雜的系統(tǒng),將耗費(fèi)很大的投資,周期也很長(zhǎng)。此外,在物理模型上做實(shí)驗(yàn),很難改變系統(tǒng)參數(shù),改變系統(tǒng)結(jié)構(gòu)也比較困難。至于復(fù)雜的社會(huì)、經(jīng)濟(jì)系統(tǒng)和生態(tài)系統(tǒng)就更無(wú)法用實(shí)物來(lái)做實(shí)驗(yàn)了。 (2)數(shù)學(xué)仿真。就是用數(shù)學(xué)的語(yǔ)言、方法去近似地刻畫(huà)實(shí)際問(wèn)題,這種刻畫(huà)的數(shù)學(xué)表述就是一個(gè)數(shù)學(xué)模型。從某種意義上,歐幾里德幾何、牛頓運(yùn)動(dòng)定律和微積分都是對(duì)客觀世界的數(shù)學(xué)仿真。數(shù)學(xué)仿真把研究對(duì)象(系統(tǒng))的主要特征或輸入、輸出關(guān)系抽象成一種數(shù)學(xué)表達(dá)式來(lái)進(jìn)行研究。數(shù)學(xué)模型可分為: 解析模型(用公式、方程反映系統(tǒng)過(guò)程); 統(tǒng)計(jì)模型(蒙特卡羅方法);(一種基于隨機(jī)數(shù)的計(jì)

3、算方法)表上作業(yè)演練模型。(用列表的方法求解線性規(guī)劃問(wèn)題中運(yùn)輸模型的計(jì)算方法。是指線性規(guī)劃一種求解方法。當(dāng)某些線性規(guī)劃問(wèn)題采用圖上作業(yè)法難以進(jìn)行直觀求解時(shí),就可以將各元素列成相關(guān)表,作為初始方案,然后采用檢驗(yàn)數(shù)來(lái)驗(yàn)證這個(gè)方案,否則就要采用閉回路法、位勢(shì)法或矩形法等方法進(jìn)行調(diào)整,直至得到滿(mǎn)意的結(jié)果。這種列表求解方法就是表上作業(yè)法。)然而數(shù)學(xué)仿真也面臨一些問(wèn)題,主要表現(xiàn)在以下幾個(gè)方面:現(xiàn)實(shí)問(wèn)題可能無(wú)法用數(shù)學(xué)模型來(lái)表達(dá),即刻畫(huà)實(shí)際問(wèn)題的表達(dá)式不存在或找不到;找到的數(shù)學(xué)模型由于太復(fù)雜而無(wú)法求解;求出的解不正確,可能是由模型的不正確或過(guò)多的簡(jiǎn)化近似導(dǎo)致的。(3)混合仿真。又稱(chēng)為數(shù)學(xué)物理仿真,或半實(shí)物仿真

4、,就是把物理模型和數(shù)學(xué)模型以及實(shí)物聯(lián)合在一起進(jìn)行實(shí)驗(yàn)的方法,這樣往往可以獲得較好的效果。2、計(jì)算機(jī)仿真計(jì)算機(jī)仿真也稱(chēng)為計(jì)算機(jī)模擬,就是利用計(jì)算機(jī)對(duì)所研究系統(tǒng)的結(jié)構(gòu)、功能和行為以及參與系統(tǒng)控制的主動(dòng)者人的思維過(guò)程和行為,進(jìn)行動(dòng)態(tài)性的比較和模仿,利用建立的仿真模型對(duì)系統(tǒng)進(jìn)行研究和分析,并可將系統(tǒng)過(guò)程演示出來(lái)。12計(jì)算機(jī)仿真模型與方法1、系統(tǒng)系統(tǒng)是指相互聯(lián)系又相互作用的元素之間的有機(jī)組合。這里所指的系統(tǒng)是廣義的,它包含所有的工程系統(tǒng)和非工程系統(tǒng)。電氣、機(jī)械和通信系統(tǒng)都是工程系統(tǒng),而經(jīng)濟(jì)、交通、管理和生物系統(tǒng)等都是非工程系統(tǒng)。 任何系統(tǒng)都存在三方面需要研究的內(nèi)容: 實(shí)體:組成系統(tǒng)的具體對(duì)象。 屬性:實(shí)

5、體的特性(狀態(tài)和參數(shù))。即實(shí)體、屬性和活動(dòng)。由于組成系統(tǒng)的實(shí)體之間相互作用而引起實(shí)體屬性的變化,通常用“狀態(tài)”的概念來(lái)描述。研究系統(tǒng)就是研究系統(tǒng)狀態(tài)的改變,即系統(tǒng)的轉(zhuǎn)變。系統(tǒng)具有四個(gè)特性:(1)目的性 (2)集合性(3)相關(guān)性 (4)環(huán)境適應(yīng)性2、模型模型建立的任務(wù)是要確定模型的結(jié)構(gòu)和參數(shù)。建立模型有三種途徑: (1)對(duì)內(nèi)部結(jié)構(gòu)和特性清楚的系統(tǒng),即所謂的白箱(多數(shù)的工程系統(tǒng)都屬于這一類(lèi)),可以利用已知的一些基本規(guī)律,經(jīng)過(guò)分析和演繹導(dǎo)出系統(tǒng)模型。 (2)對(duì)那些系統(tǒng)結(jié)構(gòu)和特性不清楚或不很清楚的系統(tǒng),即所謂的黑箱或灰箱,如果允許直接進(jìn)行試驗(yàn)性觀測(cè),則可以先猜想模型再通過(guò)試驗(yàn)驗(yàn)證和修正之。 (3)對(duì)那

6、些系統(tǒng)結(jié)構(gòu)和特性不清楚或不很清楚但又不允許直接實(shí)驗(yàn)觀測(cè)的系統(tǒng)(非工程系統(tǒng)多屬于這一類(lèi)),則采用數(shù)據(jù)收集和統(tǒng)計(jì)歸納的方法來(lái)假設(shè)模型。 在選擇模型結(jié)構(gòu)時(shí),要以方便達(dá)到模型研究的目的為前提。通常遵循下述原則: (1)相似性。即模型與被研究系統(tǒng)具有相似的數(shù)學(xué)報(bào)述或物理特征。相似原則是選擇模型最重要的原則。 (2)簡(jiǎn)單性。一般而言,在實(shí)用的前提下,模型越簡(jiǎn)單越好。 (3)切題性。模型應(yīng)該針對(duì)研究目的的有關(guān)方面,而不是一切方面。 (4)吻合性。模型結(jié)構(gòu)的選擇,應(yīng)盡可能對(duì)利用的數(shù)據(jù)作合理的描述,通常其實(shí)驗(yàn)數(shù)據(jù)應(yīng)盡可能由模型來(lái)解釋。 (5)綜合精度。它是模型框架、結(jié)構(gòu)和參數(shù)集合的一種指標(biāo)。若有限的信息限制了模

7、型的精度,則應(yīng)進(jìn)行各方面精度的平衡和折中。 (6)可辨識(shí)性。模型結(jié)構(gòu)必須選擇可辨識(shí)的形式。若一個(gè)結(jié)構(gòu)具有無(wú)法估計(jì)的參數(shù),則此結(jié)構(gòu)無(wú)實(shí)用價(jià)值。1.1.3 計(jì)算機(jī)仿真的步驟 計(jì)算機(jī)仿真,概括地說(shuō)是一個(gè)“建模一實(shí)驗(yàn)一分析”的過(guò)程,即仿真不單純是對(duì)模型的實(shí)驗(yàn),還包括從建模到實(shí)驗(yàn)再到分析的全過(guò)程。因此進(jìn)行一次完整的計(jì)算機(jī)仿真有以下步驟: (1)列舉并列項(xiàng)目每一項(xiàng)研究都應(yīng)從說(shuō)明問(wèn)題開(kāi)始,問(wèn)題由決策者提供,或由熟悉問(wèn)題的分析者提供。 (2)設(shè)置目標(biāo)及完整的項(xiàng)目計(jì)劃目標(biāo)表示仿真要回答的問(wèn)題,系統(tǒng)方案的說(shuō)明,項(xiàng)目計(jì)劃包括人數(shù),研究經(jīng)費(fèi)以及每一階段工作所需要的時(shí)間。(3)建立模型和收集數(shù)據(jù)模型和實(shí)際系統(tǒng)沒(méi)有必要一

8、一對(duì)應(yīng)型開(kāi)始,然后建立更復(fù)雜的模型。 (4)編制程序和驗(yàn)證只需描述實(shí)際系統(tǒng)的本質(zhì)。利用數(shù)學(xué)公式、邏輯公式和算法等來(lái)表示實(shí)際系統(tǒng)的內(nèi)部狀態(tài)和輸入輸出的關(guān)系。建模者必須決定是采用通用語(yǔ)言如Fortran、C還是專(zhuān)用仿真語(yǔ)言來(lái)編制程序。在本書(shū)中,我們的選擇是Matlab和其動(dòng)態(tài)仿真工具simulink,在以下的章節(jié)中,我們會(huì)逐步展示使用MATLAB的好處。(5)確認(rèn)確認(rèn)指確定模型是否精確地代表實(shí)際系統(tǒng)。它不是特性的差異,不斷對(duì)模型進(jìn)行校正的迭代過(guò)程。 (6)實(shí)驗(yàn)設(shè)計(jì)次完成,而是比較模型和實(shí)際系統(tǒng)確定仿真的方案、初姑化周期的長(zhǎng)度、仿真運(yùn)行的長(zhǎng)度以及每次運(yùn)行的重復(fù)次數(shù)。 (7)生產(chǎn)性運(yùn)行和分析通常用于估

9、計(jì)被仿真系統(tǒng)設(shè)計(jì)的性能量度。利用理論定性分析、經(jīng)驗(yàn)定性分析或系統(tǒng)歷史數(shù)據(jù)定量分析來(lái)檢驗(yàn)?zāi)P偷恼_性,利用靈敏度分析等手段來(lái)檢驗(yàn)?zāi)P偷姆€(wěn)定性。 (8)文件清單和報(bào)表結(jié)果(9)實(shí)現(xiàn)表示為框圖為:1.2 仿真實(shí)例:報(bào)童問(wèn)題仿真1、報(bào)童問(wèn)題報(bào)童每賣(mài)一份報(bào)紙賺a元,若訂報(bào)后賣(mài)不出去,則可退回,此時(shí)每退一份賠b元,雖然每天賣(mài)出的報(bào)數(shù)是隨機(jī)的,但報(bào)童可以根據(jù)以往賣(mài)報(bào)情況的統(tǒng)計(jì)來(lái)獲得每天賣(mài)k份的概率p(k),試求報(bào)童每天期望受益達(dá)到最大的訂報(bào)量z2、數(shù)學(xué)模型設(shè)報(bào)童每天訂報(bào)z份,每天賣(mài)出y份,設(shè)y的分布為考慮到報(bào)童每天的損失情況有如下兩種:(1)供過(guò)于求,因退貨造成的平均損失為(2)供不應(yīng)求,因缺貨造成的平均損

10、失為:所以每天的期望損失費(fèi)為目標(biāo)是使得每天期望損失最小的訂報(bào)量。反之,就是使報(bào)童的每天期望總收益達(dá)到最大,寫(xiě)成目標(biāo)函數(shù)為:約束條件z受到報(bào)童資本的限制。要求解此模型可以用的方法:(1)如果知道p的概率分布。或者(2)枚舉法,但是搜索范圍有限。3、計(jì)算機(jī)仿真求解對(duì)于給定每天訂報(bào)量Z值,利用離散隨機(jī)變量采樣算法產(chǎn)生給定分布的隨機(jī)數(shù)R,用來(lái)表示報(bào)童每天賣(mài)出的報(bào)紙數(shù),從而可以計(jì)算出一天的損失以及一個(gè)階段的平均損失。(key:如何產(chǎn)生服從給定分布的隨機(jī)變量?)而且在實(shí)際應(yīng)用中分布并非總是給定的,需要搜集數(shù)據(jù),從中辨識(shí)分布,進(jìn)行參數(shù)估計(jì)。4、計(jì)算機(jī)仿真程序注:假設(shè)在均勻分布條件下5、仿真結(jié)果與分析z,s=

11、baotong(5,10,0.2,0.4)6、報(bào)童問(wèn)題模擬系統(tǒng)的推廣(1)求每天的賣(mài)出報(bào)數(shù)服從任意分布的情況下,使報(bào)童受益最大的最優(yōu)訂報(bào)量Z(2)對(duì)報(bào)紙總發(fā)行量進(jìn)行測(cè)算(3)適當(dāng)修改仿真系統(tǒng),可將其用于企業(yè)的訂貨和庫(kù)存策略研究1.3 隨機(jī)變量的產(chǎn)生這一節(jié)假定分布函數(shù)已經(jīng)確定,而主要介紹產(chǎn)生具有這種分布的隨機(jī)變量的方法。這些方法的基礎(chǔ)是獨(dú)立均勻分布U(0,1)的隨機(jī)源,在MATLAB中提供了產(chǎn)生U(0,1)分布的隨機(jī)數(shù)的函數(shù)。此外還提供了產(chǎn)生各種分布隨機(jī)數(shù)的函數(shù)。1.3.1均勻分布隨機(jī)數(shù)的產(chǎn)生大多數(shù)隨機(jī)數(shù)發(fā)生器是各種同余發(fā)生器,由Lehmer在1951年提出的產(chǎn)生0到m-1之間的數(shù)C=0時(shí)為乘同

12、余法,不為零時(shí)為混合同余法。對(duì)于二進(jìn)制機(jī)器,可以按照下面規(guī)則選擇a和m1.3.2、隨機(jī)變量的產(chǎn)生1、反函數(shù)法理論基礎(chǔ)是概率積分變換原理:設(shè)X是一個(gè)0到1間均勻分布的隨機(jī)變量U(0,1)其采樣值為x, 為滿(mǎn)足概率分布F(y)的隨機(jī)變量。因此產(chǎn)生變量Y的隨機(jī)數(shù)y可以分為兩步:例如:產(chǎn)生U(a,b)隨機(jī)數(shù)y韋伯分布,在可靠性問(wèn)題中有廣泛的應(yīng)用。2、卷積法3、產(chǎn)生正態(tài)分布的隨機(jī)數(shù)有兩種方法:(1)近似法理論基礎(chǔ)為概率論中的中心極限定理,可以用多種相互獨(dú)立的均勻分布隨機(jī)數(shù)來(lái)產(chǎn)生正態(tài)分布,比較著名的是隨機(jī)數(shù)的個(gè)數(shù)選12個(gè),即:該方法缺點(diǎn)是精度不夠.(2)直接變換法因?yàn)檎龖B(tài)分布的反函數(shù)無(wú)法用解析式表達(dá),所以

13、不能用反函數(shù)方法產(chǎn)生,直接變換法的步驟如下:4、離散隨機(jī)變量采樣的直接變換法5、泊松分布隨機(jī)數(shù)的產(chǎn)生泊松分布在排隊(duì)論和軍事運(yùn)籌學(xué)中是一種常見(jiàn)的隨機(jī)數(shù)。它的產(chǎn)生當(dāng)然可以采用直接變換法,但其計(jì)算量會(huì)很大。這里不作證明地介紹一種簡(jiǎn)單的算法:注意:不管使用哪種方法產(chǎn)生何種分布的隨機(jī)數(shù),都應(yīng)該對(duì)所產(chǎn)生的隨機(jī)數(shù)進(jìn)行統(tǒng)計(jì)檢驗(yàn)。1.4 輸入數(shù)據(jù)的分析輸入數(shù)據(jù)時(shí)仿真實(shí)驗(yàn)的動(dòng)力,如在排隊(duì)系統(tǒng)中,典型的輸入數(shù)據(jù)是到達(dá)的時(shí)間間隔和服務(wù)時(shí)間的分布。要得到一個(gè)正確的輸入數(shù)據(jù)模型需要4個(gè)步驟:(1)收集原始數(shù)據(jù) (2)基本統(tǒng)計(jì)分布的辨識(shí),如用頻數(shù)分布或直方圖的方法作出分布假設(shè);(3)在上面所作的假設(shè)分布前提下,估測(cè)分布的參

14、數(shù);(4)進(jìn)行擬合度檢驗(yàn),以確定所假設(shè)的分布形式是否與收集到的數(shù)據(jù)吻合。如果不吻合,返回到第(2)步重新作出假設(shè)。若實(shí)驗(yàn)多次仍不吻合,則使用經(jīng)典的分布形式。說(shuō)明:分布的辨識(shí):這一步的目的是對(duì)所收集的數(shù)據(jù)的概率分布形式作出假設(shè),以便進(jìn)行后面的參數(shù)估計(jì)和分布的假設(shè)檢驗(yàn)。首先要畫(huà)出頻數(shù)分布或直方圖。直方圖的數(shù)據(jù)取值范圍一般是等寬的,當(dāng)然有時(shí)也用到不等寬的區(qū)間。在畫(huà)直方圖中,分組區(qū)間的組數(shù)依賴(lài)于觀察次數(shù)以及數(shù)據(jù)的分散程度。經(jīng)驗(yàn)的法則是選擇樣本量的平方根。對(duì)于連續(xù)數(shù)據(jù)的直方圖,一般可以將每一區(qū)間頻數(shù)中點(diǎn)連接起來(lái)便于觀察。說(shuō)明:常用估計(jì)量說(shuō)明:擬合度檢驗(yàn)常用的檢驗(yàn)方法:卡方分布個(gè)科學(xué)的完整的仿真研究,還應(yīng)

15、包括對(duì)輸出結(jié)果的分析。輸出分析就是對(duì)仿真中所產(chǎn)生的數(shù)據(jù)進(jìn)行分析,其目的在于預(yù)測(cè)一個(gè)系統(tǒng)的性能或比較兩個(gè)甚至多個(gè)不同系統(tǒng)設(shè)計(jì)的性能。1.5 離散系統(tǒng)仿真1.5.1離散系統(tǒng)概述 若系統(tǒng)中狀態(tài)的變化是在某些離散點(diǎn)或量化區(qū)間上發(fā)生,這樣的模型稱(chēng)為離散事件模型,對(duì)應(yīng)的系統(tǒng)稱(chēng)為離散事件系統(tǒng)??陀^現(xiàn)實(shí)中,這樣的系統(tǒng)是大量存在的。它不僅存在于工程系統(tǒng)之中,而且還大量出現(xiàn)于非工程系統(tǒng)(如經(jīng)濟(jì)、社會(huì)和生物)領(lǐng)域之中。例如,市場(chǎng)貿(mào)易、庫(kù)存管理、設(shè)備裝修、人口控制和交通管理等系統(tǒng)。在這種系統(tǒng)的研究、開(kāi)發(fā)、設(shè)計(jì)和規(guī)劃等工作中,人們經(jīng)常需要了解哪些是系統(tǒng)的控制因素以及它們對(duì)系統(tǒng)穩(wěn)定性和發(fā)展進(jìn)程等方面的影響。例如,在經(jīng)濟(jì)領(lǐng)

16、域中,商品的價(jià)格可能會(huì)在平均價(jià)格水平上發(fā)生周期性波動(dòng)或者臨時(shí)出現(xiàn)對(duì)商品價(jià)格的控制失靈。人們希望能夠預(yù)測(cè)這些現(xiàn)象并對(duì)他們進(jìn)行控制。1離散系統(tǒng)的基本要素 離散系統(tǒng)的基本要素主要有: (1)實(shí)體。一般指系統(tǒng)所研究的對(duì)象。用系統(tǒng)的術(shù)語(yǔ)說(shuō),它是系統(tǒng)邊界內(nèi)的對(duì)象,系統(tǒng)中流動(dòng)的或活動(dòng)的元素都可以成為實(shí)體。例如,企業(yè)生產(chǎn)經(jīng)營(yíng)系統(tǒng)中,采購(gòu)部、北京時(shí)間、制造車(chē)間和銷(xiāo)售部門(mén)等均可稱(chēng)為實(shí)體。 (2)屬性。實(shí)體由它的屬性來(lái)描述,屬性反映實(shí)體的某些性質(zhì)。例如,在商店系統(tǒng)中的顧客是一個(gè)實(shí)體,性別、年齡、優(yōu)先權(quán)、購(gòu)物時(shí)間、排隊(duì)時(shí)間、服務(wù)時(shí)間以及購(gòu)物費(fèi)用等便是它的屬性。 (3)時(shí)刻。在系統(tǒng)的某個(gè)時(shí)間數(shù)值上,至少有一個(gè)實(shí)體的屬性

17、被改變,則稱(chēng)此時(shí)間數(shù)值為時(shí)刻。 (4)間隔。相鄰兩個(gè)時(shí)刻之間的持續(xù)時(shí)間稱(chēng)為間隔。 (5)狀態(tài)。在某個(gè)確定時(shí)刻,對(duì)系統(tǒng)實(shí)體和屬性的描述稱(chēng)為狀態(tài)。(6)事件。在某個(gè)時(shí)刻,系統(tǒng)狀態(tài)變化的產(chǎn)生,稱(chēng)為一個(gè)時(shí)間, “事件”是改變系統(tǒng)狀態(tài)的實(shí)體的瞬間行為。(7)活動(dòng)。文體的一個(gè)持續(xù)期間稱(chēng)為活動(dòng)。活動(dòng)的開(kāi)始或結(jié)束的瞬間則是一事件。 (8)進(jìn)程。進(jìn)程由若干事件及若干活動(dòng)組成,一個(gè)進(jìn)程描述了它所包括的事件及活動(dòng)間的相互邏輯關(guān)系及時(shí)序關(guān)系。如,一個(gè)顧客到達(dá)系統(tǒng),經(jīng)過(guò)排隊(duì),直到服務(wù)員為其服務(wù)完畢后離去可稱(chēng)為一個(gè)進(jìn)程。2、離散系統(tǒng)仿真模型的結(jié)構(gòu)FEL:未來(lái)事件表,存放表示所有當(dāng)前正在進(jìn)行的活動(dòng)的結(jié)束事件,每一個(gè)事件記錄

18、至少包含兩項(xiàng):事件時(shí)間和事件類(lèi)型。一般有如下組成部分:(1)系統(tǒng)狀態(tài)。它是由一組系統(tǒng)狀態(tài)變量構(gòu)成,用它來(lái)描述系統(tǒng)在不同時(shí)刻的狀態(tài)。(2)模擬時(shí)鐘。用來(lái)提供模擬模型當(dāng)前時(shí)刻的變量,它描述系統(tǒng)內(nèi)部的時(shí)間變化。(3)時(shí)間表。在模擬過(guò)程中按時(shí)間順序所發(fā)生的事件類(lèi)型和時(shí)間對(duì)應(yīng)關(guān)系的表,稱(chēng)為時(shí)間表。(4)統(tǒng)計(jì)器。在計(jì)算機(jī)仿真中往往設(shè)計(jì)一些工作單元,用來(lái)控制和存儲(chǔ)仿真過(guò)程中結(jié)果的統(tǒng)計(jì)信息,并進(jìn)行統(tǒng)計(jì)計(jì)數(shù)。(5)定時(shí)子程序。該子程序可依據(jù)時(shí)間表來(lái)確定下一個(gè)事件,并將模擬時(shí)鐘報(bào)移到卜個(gè)事件的發(fā)生時(shí)間。(6)初姑子程序。在開(kāi)始仿真時(shí)對(duì)系統(tǒng)進(jìn)行初姑化的子程序。(7)事件子程序。一個(gè)事件子程序?qū)?yīng)于一種類(lèi)型的事件,它

19、在相應(yīng)事件發(fā)牛時(shí),就轉(zhuǎn)入該事件:子程序進(jìn)行處理,更新系統(tǒng)狀態(tài)。 (8)仿真報(bào)告子程序。它在仿真結(jié)束時(shí),用來(lái)計(jì)算與打印仿真結(jié)果。 (9)主程序。它用來(lái)調(diào)用定時(shí)子程序,控制整個(gè)系統(tǒng)的仿真過(guò)程,并確定下一事件,傳遞控制給各事件子程序以更新系統(tǒng)狀態(tài)。3、模擬時(shí)鐘模擬時(shí)鐘和實(shí)際時(shí)鐘的區(qū)別在于:前者是離散的,后者是連續(xù)的。模擬時(shí)鐘的讀數(shù)應(yīng)與現(xiàn)實(shí)系統(tǒng)中事件發(fā)生的時(shí)間·一致,但模擬時(shí)鐘的時(shí)間決不等于計(jì)算機(jī)進(jìn)行模擬運(yùn)行的時(shí)間。仿真運(yùn)行時(shí)間完全取決于被仿真系統(tǒng)的特點(diǎn)、模型復(fù)雜的程度,以及模擬時(shí)鐘所取單位的大小。例如,當(dāng)模擬一個(gè)經(jīng)濟(jì)系統(tǒng)時(shí),模擬時(shí)鐘的單位可以取月或年。這樣,即使現(xiàn)實(shí)系統(tǒng)運(yùn)行了幾年甚至幾百年

20、,而高速計(jì)算機(jī)用于仿真的運(yùn)行可以在幾分鐘內(nèi)完成。1.5.2離散系統(tǒng)仿真的基本方法1、基本策略 離散系統(tǒng)仿真的基本策略有三種,分別是事件調(diào)度法(Event Scheduling)、活動(dòng)掃描法(Activity Scanning)和進(jìn)程交互法(ProcessInteraction)。(1)事件調(diào)度法離散系統(tǒng)中最基本的概念是事件。用事件的觀點(diǎn)來(lái)分析真實(shí)系統(tǒng),通過(guò)定義事件及每個(gè)事件發(fā)生引起系統(tǒng)狀態(tài)的變化,按時(shí)間順序確定并執(zhí)行每個(gè)事件發(fā)生時(shí)相關(guān)的邏輯事仍:,這就是事件調(diào)度法的基本思想。按這種策略建立模型時(shí),所有事件均放在事件表中。模型中設(shè)有一個(gè)時(shí)間控制成分,該成分從事件表中選擇具有最早發(fā)生時(shí)間的事件,并

21、將模擬時(shí)鐘修改到該事件發(fā)生的時(shí)間,再調(diào)用與該事件相應(yīng)的事件處理模塊,該事件處理完后返回時(shí)間控制成分。這樣,事件的選擇與處理不斷地進(jìn)行,直到仿真終止的條件滿(mǎn)足或程序事件產(chǎn)生為止。 (2)活動(dòng)掃描法有時(shí),事件發(fā)生不僅與時(shí)間有關(guān),而且與其他條件有關(guān),即只有滿(mǎn)足某些條件時(shí)才會(huì)發(fā)生。在這種情況下,采用事件調(diào)度法就顯示出這種策略的弱點(diǎn)。原因在于,這類(lèi)系統(tǒng)的活動(dòng)持續(xù)時(shí)間具有不確定性,因而無(wú)法預(yù)定活動(dòng)的開(kāi)始或終止時(shí)間。活動(dòng)掃描法是針對(duì)具有上述特點(diǎn)的系統(tǒng)產(chǎn)生的,這種策略的基本思想:系統(tǒng)由成分組成,而成分包含活動(dòng),這些活動(dòng)必須滿(mǎn)足某些條件,每一個(gè)成分均有一個(gè)相應(yīng)的活動(dòng)子進(jìn)程;仿真過(guò)程中,活動(dòng)的發(fā)生時(shí)間作為條件之一

22、,而且具有較高的優(yōu)先權(quán)。(3)進(jìn)程交互法離散系統(tǒng)仿真的第三種方法是進(jìn)程交互法。我們知道,一個(gè)進(jìn)程包含若干個(gè)有序事件及有序活動(dòng)。進(jìn)程交互法采用進(jìn)程描述系統(tǒng),將模型中的主動(dòng)成分歷經(jīng)系統(tǒng)時(shí)所發(fā)生的事件及活動(dòng)按時(shí)間順序進(jìn)行組合,從而形成進(jìn)程。一個(gè)成分一旦進(jìn)入進(jìn)程,它將完成該進(jìn)程的全部活動(dòng)。進(jìn)程交互法既可預(yù)定事件,又可對(duì)條件求值,因而它兼有事件調(diào)度法及活動(dòng)掃描法兩者的特點(diǎn)。一般很少采用這種方法。該方法被廣泛采用。但實(shí)現(xiàn)和設(shè)計(jì)復(fù)雜。第二章 用MATLAB實(shí)現(xiàn)靜態(tài)仿真2.1、MATLAB中的程序設(shè)計(jì)2、決策:控制流2.2 仿真應(yīng)用:輸入數(shù)據(jù)分析2.2.1 隨機(jī)變量的產(chǎn)生兩個(gè)基本的函數(shù)用于產(chǎn)生隨機(jī)數(shù):1、ra

23、nd產(chǎn)生(0,1)之間的均勻分布的隨機(jī)數(shù)或向量。2、randn 產(chǎn)生標(biāo)準(zhǔn)正態(tài)分布的隨機(jī)數(shù)如何利用rand和randn產(chǎn)生泊松分布的隨機(jī)數(shù)。我們可以利用Matlab提供的統(tǒng)計(jì)工具箱生成各種分布的隨機(jī)數(shù)。4、randomx1 = random('Normal',0,1,2,4);產(chǎn)生2*4的正態(tài)分布序列x2 = random('Poisson',1:6,1,6);分別產(chǎn)生參數(shù)為1到6的泊松分布數(shù)值Y = random(name,A) returns random numbers Y from the one-parameter family of distribut

24、ions specified by name. Parameter values for the distribution are given in A.2.2.2輸入數(shù)據(jù)的分析收集畫(huà)出直方圖參數(shù)估計(jì)擬合度檢驗(yàn) 的分析方法1、Matlab中畫(huà)直方圖的函數(shù) Nhist(Y), 其中Y指輸入的數(shù)據(jù)向量,(這里既可以行向量,也可以是列向量),但如果Y為矩陣則看成幾個(gè)列向量分別處理。由于沒(méi)食指定區(qū)間如何劃分,函數(shù)缺省的將輸入數(shù)據(jù)的范圍等寬的劃分為10塊。輸出N返回一頻數(shù)矢量。 Nhist(Y, M),其小M足一個(gè)標(biāo)量,指定分塊的個(gè)數(shù)。 N=hist(Y,X),其中x是個(gè)向量,用以指定每塊的中心值,這就

25、使得用戶(hù)具有定義非等寬分塊的能力,如果想更隨意的定義塊的邊界就要使用histc函數(shù)。此外,hist還可以返回每個(gè)小塊的中心值,調(diào)用形式為X,N=hist(),如果調(diào)用時(shí)沒(méi)有輸出參量,則函數(shù)僅畫(huà)直方圖。注意:All elements in vector Y or in one column of matrix Y are grouped according to their numeric range. Each group is shown as one bin.函數(shù)bar(n)用來(lái)畫(huà)出直方圖。比較高斯分布和泊松分布的直方圖,不難發(fā)現(xiàn)它們之間形狀上的差別,高斯分布的直方圖 一般關(guān)于某條軸對(duì)稱(chēng),

26、而泊松分布稍微向左邊偏一點(diǎn)。這些特征分別與各自的概率密度函數(shù)圖像相對(duì)應(yīng)。至此就可以對(duì)輸入數(shù)據(jù)的分布形式作出判斷,再進(jìn)行參數(shù)估計(jì)。2、參數(shù)估計(jì)Matlab中計(jì)算兩個(gè)統(tǒng)計(jì)量均值和樣本方差的函數(shù)分別是mean和std。當(dāng)?shù)?個(gè)下標(biāo)不變,第二個(gè)下標(biāo)變化時(shí)說(shuō)明列不變,行數(shù)一直變化。因此是對(duì)每一行求平均。Mean(d,1)表示對(duì)每一列求平均,當(dāng)dim維數(shù)超過(guò)2時(shí),則結(jié)果為d。對(duì)矩陣求標(biāo)準(zhǔn)方差使用std函數(shù)。這些函數(shù)缺省情況下都是按列向量進(jìn)行的,但都可以自定義成按行向量進(jìn)行分析。例如:I就是向量Y按元素值升序排列后下標(biāo)的相應(yīng)排序。Matlab統(tǒng)計(jì)工具箱中有許多專(zhuān)門(mén)的函數(shù)用來(lái)進(jìn)行參數(shù)估計(jì)。如poissfit,

27、 betafit, binofit, expfit, gamfit, mle, normfit, unifit, weibfit等,其中mle是極大似然估計(jì)。以poissfit為例:3、擬合度檢驗(yàn)有以下幾個(gè)步驟:(3)根據(jù)樣本的自由度以及檢驗(yàn)前給定的顯著性水平,在卡方表例查出作出判決的閾值,并將檢驗(yàn)統(tǒng)計(jì)量與之相比較。若大于閾值,則擬合不好,需要重新假設(shè),否則說(shuō)明合理。理論頻數(shù)的計(jì)算需要一些技巧。計(jì)算理論頻數(shù)的步驟:diff用來(lái)求差分和近似導(dǎo)數(shù)。Y = diff(X) calculates differences between adjacent elements of X. If X is a

28、 vector, then diff(X) returns a vector, one element shorter than X, of differences between adjacent elements:X(2)-X(1) X(3)-X(2) . X(n)-X(n-1)If X is a matrix, then diff(X) returns a matrix of row differences:X(2:m,:)-X(1:m-1,:)In general, diff(X) returns the differences calculated along the first n

29、on-singleton (size(X,dim) > 1) dimension of X.Y = diff(X,n) applies diff recursively n times, resulting in the nth difference. Thus, diff(X,2) is the same as diff(diff(X).Y = diff(X,n,dim) is the nth difference function calculated along the dimension specified by scalar dim. If order n equals or

30、exceeds the length of dimension dim, diff returns an empty array.2.3 仿真應(yīng)用之輸出分析2.3.1圖形函數(shù)Figure,plot,xlabel,ylabel,legend,title等。子圖繪制subplot2.3.3曲線插值與擬合1、曲線擬合2、一維插值長(zhǎng)度。3、三次樣條插值繪制一個(gè)圓的過(guò)程。2.4 靜態(tài)仿真應(yīng)用實(shí)例2.4.1二進(jìn)制通信系統(tǒng)的蒙特卡洛仿真1、問(wèn)題通信理論中對(duì)某種通信方式的誤碼率的估算。2、模型建立二進(jìn)制通信中,0和1組成的二進(jìn)制數(shù)據(jù)采用兩個(gè)波形傳播,設(shè)數(shù)據(jù)率為R bit/s,發(fā)送每個(gè)比特更具如下規(guī)則映射為相應(yīng)

31、的波形:Tb為事件間隔,這個(gè)映射的過(guò)程也稱(chēng)為脈沖調(diào)制。通信理論中,假定數(shù)據(jù)比特中0和1出現(xiàn)的概率相同,各為0.5對(duì)于傳輸信號(hào)的信道通常用加性高斯白噪聲信道(AGWN)來(lái)近似。即在傳輸?shù)男盘?hào)上疊加一個(gè)高斯隨機(jī)過(guò)程,因此得到接收波形為:最佳接收機(jī)的組成結(jié)構(gòu):選擇不同的傳輸信號(hào),相關(guān)器的輸出就會(huì)有不同的結(jié)果,如,傳輸信號(hào)s0,s1滿(mǎn)足下面的條件:第一個(gè)表達(dá)式的意思是指兩個(gè)信號(hào)正交,后一個(gè)等式要求兩個(gè)信號(hào)的能量相同,這種情況下可以導(dǎo)出:在0被發(fā)送的前提下:(如何導(dǎo)出?)1被發(fā)送的前提下:相關(guān)器的判決準(zhǔn)則是當(dāng)r0>r1時(shí)判定接收波形代表的比特為0,否則為1。如果判斷錯(cuò)誤,就產(chǎn)生了誤碼。誤碼率的解析

32、式為:在通信理論中通常定義信噪比參數(shù)作為系統(tǒng)的一個(gè)參數(shù),定義為:3、二進(jìn)制通信系統(tǒng)的蒙特卡洛仿真根據(jù)前面導(dǎo)出的模型,可以畫(huà)出仿真的系統(tǒng)模型。分為四個(gè)部分:二進(jìn)制數(shù)據(jù)源產(chǎn)生模塊,信道干擾模塊,判決器模塊,統(tǒng)計(jì)誤碼率的比較計(jì)數(shù)模塊。二進(jìn)制序列的產(chǎn)生過(guò)程:首先使用隨機(jī)數(shù)發(fā)生器生成一個(gè)(0,1)均勻分布的隨機(jī)數(shù),小于0.5的為0,大于0.5的為1.信道干擾模塊的作用是根據(jù)數(shù)據(jù)源的輸出時(shí)0還是1來(lái)確定判決變量r0,r1的輸出。噪聲的產(chǎn)生:產(chǎn)生兩個(gè)相互對(duì)立的高斯分布的隨機(jī)數(shù)序列,均值為0。整個(gè)模塊的效果為:如果數(shù)據(jù)源的輸出為0,則r0=n0+E,r1=n1;如果輸出為1,z則r0=n0,r1=n1+E。仿

33、真的目的是畫(huà)出誤碼率和信噪比的關(guān)系曲線,并最終和理論計(jì)算的結(jié)果比較。需要在仿真中不斷改變信噪比SNRMatlab仿真程序?yàn)椋河?jì)算結(jié)果如下:2.4.2 排隊(duì)系統(tǒng)仿真動(dòng)態(tài)仿真需要使用動(dòng)態(tài)系統(tǒng)建模和仿真工具Simulink。1、排隊(duì)系統(tǒng)簡(jiǎn)介如超市付款,病人在醫(yī)院看病,銀行取款,計(jì)算機(jī)網(wǎng)絡(luò)中數(shù)據(jù)的存儲(chǔ)轉(zhuǎn)發(fā),電話局的占線問(wèn)題,交通樞紐的車(chē)船堵塞和疏導(dǎo),水庫(kù)的存儲(chǔ)調(diào)節(jié)等都屬于排隊(duì)現(xiàn)象。數(shù)學(xué)上,研究排隊(duì)系統(tǒng)的理論是排隊(duì)論。排隊(duì)系統(tǒng)有三個(gè)基本組成部分: (1)到達(dá)模式指動(dòng)態(tài)文體按怎樣的規(guī)律到達(dá),描寫(xiě)實(shí)體到達(dá)的統(tǒng)計(jì)特性。到達(dá)模式按顧客到來(lái)的方式可能是一個(gè)一個(gè)的也可能是成批的;按相繼到達(dá)的間隔時(shí)間可以是確定的,也

34、叫以是隨機(jī)的;到達(dá)過(guò)程可以是平穩(wěn)的也可以是非平穩(wěn)的。 (2)服務(wù)機(jī)構(gòu)指同一時(shí)刻有多少服務(wù)設(shè)備可以接納動(dòng)態(tài)實(shí)體,它們的服務(wù)需要多少時(shí)間。它也具有一定的分布服務(wù)機(jī)構(gòu)除了指服務(wù)時(shí)間外,還應(yīng)該考慮到不同的排列方式。 (3)排隊(duì)規(guī)則指對(duì)下一個(gè)實(shí)體服務(wù)的選擇原則。通用的排隊(duì)規(guī)則包括先進(jìn)先出(FIFO)、后進(jìn)先出(LIFO)和隨機(jī)服務(wù)等(SIRO)。研究排隊(duì)系統(tǒng)人們關(guān)系的特性有:隊(duì)列長(zhǎng)度,顧客等待時(shí)間,服務(wù)機(jī)構(gòu)空閑時(shí)間或服務(wù)率。根據(jù)上面三個(gè)組成部分的不同可以對(duì)排隊(duì)系統(tǒng)進(jìn)行分類(lèi),用符號(hào)表示為X/Y/Z其中X代表間隔時(shí)間的分布,Y代表服務(wù)時(shí)間的分布,Z代表丙類(lèi)的服務(wù)設(shè)備數(shù)目。表示相繼到達(dá)時(shí)間間隔或服務(wù)時(shí)間的分布

35、的符號(hào)是:如:M/M/1表示到達(dá)時(shí)間為負(fù)指數(shù)分布,服務(wù)時(shí)間為負(fù)指數(shù)分布,單服務(wù)設(shè)備的排隊(duì)系統(tǒng)排隊(duì)系統(tǒng)的理論分析過(guò)程相當(dāng)復(fù)雜難懂,很多情況只有近似結(jié)果。計(jì)算機(jī)仿真時(shí)研究排隊(duì)系統(tǒng)的一種方式,以M/M/K的仿真為例介紹此方法。2、M/M/K的計(jì)算機(jī)仿真排隊(duì)系統(tǒng)是典型的離散動(dòng)態(tài)系統(tǒng)。用一種靜態(tài)仿真的思想實(shí)現(xiàn)M/M/1的計(jì)算機(jī)仿真排隊(duì)系統(tǒng)的每個(gè)動(dòng)態(tài)實(shí)體的狀態(tài)可以有三個(gè)量來(lái)反映:與前一個(gè)實(shí)體到達(dá)的時(shí)間間隔,在排到自己服務(wù)前的等待時(shí)間以及服務(wù)時(shí)間。其中服務(wù)時(shí)間和到達(dá)時(shí)間間隔服從指數(shù)分布,不受其他因素影響。開(kāi)始服務(wù)前的等待時(shí)間則要受到排在前面的動(dòng)態(tài)實(shí)體的狀態(tài)影響。更新算法的偽代碼為:其中wait_time(i

36、)表示實(shí)體i從到達(dá)起到開(kāi)始接收服務(wù)的等待時(shí)間,server_time(i)表示實(shí)體i接收服務(wù)的時(shí)間,arr_interval(i)表示i與前一個(gè)的到達(dá)間隔時(shí)間。Matlab仿真程序?yàn)椋悍抡娼Y(jié)果與理論推導(dǎo)的結(jié)果相比較,會(huì)發(fā)現(xiàn)在實(shí)體數(shù)很大的情況下,兩者很接近。3、仿真程序的改進(jìn)與推廣盡管上面程序是針對(duì)M/M/1的,但只需要很小的改動(dòng)就可以變成其他情況,如采用不同的隨機(jī)數(shù)發(fā)生器,可轉(zhuǎn)換成G/M/1,D/M/1,G/M/1等對(duì)于多服務(wù)器的情況如何?改成以時(shí)間為參數(shù)的情況?第三章 Simulink入門(mén)3.1 simulink簡(jiǎn)介3.1.1 什么是SimulinkSimulink是Matlab提供的實(shí)現(xiàn)動(dòng)

37、態(tài)系統(tǒng)建模和仿真的一個(gè)軟件包。使用戶(hù)把精力從編程轉(zhuǎn)向模型的構(gòu)造。使用Simulink構(gòu)造好模型后,用戶(hù)可以進(jìn)行仿真,等待結(jié)果,或者改變參數(shù),再運(yùn)行。至于像各個(gè)模塊在運(yùn)行時(shí)如何執(zhí)行,時(shí)間是如何采樣,時(shí)間是如何驅(qū)動(dòng)等細(xì)節(jié)性問(wèn)題根本不用操心,Simulink都已經(jīng)替我們做好了。3.1.2 Simulink模型特點(diǎn)以dblcart1模型為例,這是一個(gè)雙質(zhì)量彈簧系統(tǒng)在光滑平面上受一個(gè)周期力情況下的運(yùn)動(dòng)狀態(tài)的程序Simulink的三個(gè)特性:(1)和實(shí)際示波器輸出相似的圖形化顯示結(jié)果的功能(2)層次性。頂層系統(tǒng)和子系統(tǒng)的概念(3)SImulink為用戶(hù)提供了一種封裝子系統(tǒng)的功能,用戶(hù)自定義系統(tǒng)的圖標(biāo)和設(shè)置參

38、數(shù)對(duì)話框。如上面模塊的State estimator和inputs &sensors模塊3.2 創(chuàng)建一個(gè)簡(jiǎn)單的模型正弦波發(fā)生器在source子庫(kù),積分器在連續(xù)系統(tǒng)子庫(kù),復(fù)用器在信號(hào)和系統(tǒng)子庫(kù),示波器在sinks子庫(kù)。運(yùn)行結(jié)果如下:3.3 熟悉Simulink模型窗口信號(hào)線和信號(hào)模塊的標(biāo)注,通過(guò)在附近雙擊的方法輸入標(biāo)簽3.4鍵盤(pán)和鼠標(biāo)操作Ctrl鍵的作用只需要在模型窗口中雙擊就可以添加注釋。3.5 模塊庫(kù)簡(jiǎn)介(1)Sources模塊:包含了產(chǎn)生信號(hào)的模塊,如Sine Wave,Random Number等等(2)Sinks模塊:包含的模塊用于顯示或者寫(xiě)模塊的輸出,如Scope模塊,該庫(kù)中

39、的模塊還可以把輸出寫(xiě)入文件中或者是保存變量到MATLAB空間中。(3) Discrete庫(kù),包含了描述離散時(shí)間系統(tǒng)組件的模塊。典型的有Discrete Transfer Fcn模塊(實(shí)現(xiàn)離散傳遞函數(shù)),Discrete Filter模塊(實(shí)現(xiàn)IIR和FIR濾波器)等(4)Continuous庫(kù),包含了描述線性函數(shù)的模塊,典型的代表有Derivative模塊(輸出輸入信號(hào)的微分),Integrator模塊(對(duì)輸入信號(hào)進(jìn)行積分),State-Space模塊(實(shí)現(xiàn)線性狀態(tài)空間系統(tǒng))等(5)Nonlinear庫(kù),包含的模塊描述非線性函數(shù)。如Quantizer模塊(將一個(gè)信號(hào)按一定間隔進(jìn)行離散化),sw

40、itch模塊(在兩個(gè)信號(hào)之間進(jìn)行切換)(6)Math庫(kù),包含了描述一般數(shù)學(xué)函數(shù)的模塊,其中的模塊的功能就是將輸入信號(hào)按照模板塊所描述的數(shù)學(xué)運(yùn)算函數(shù)計(jì)算,并把結(jié)果作為輸出信號(hào)輸出,如Abs模塊,Complex to Magnitude-Angle模塊(求一個(gè)復(fù)數(shù)信號(hào)的相位和模)等(7)Functions&Tables模塊,包含了描述通用函數(shù)和查詢(xún)表的模塊。如S-Function模塊(將S函數(shù)文件和Simulink模型結(jié)合的模塊)。Matlab Fcn模塊(將Matlab函數(shù)或者表達(dá)式作用于輸入信號(hào))(8)Signal & Systems庫(kù),它里面的模塊允許服用信號(hào)(MUX)或者分

41、離信號(hào)(Demux),實(shí)現(xiàn)外部的輸入和輸出(Import Outport),傳遞數(shù)模到模型中的其他部分,建立子系統(tǒng)等功能。各個(gè)庫(kù)中詳細(xì)的模塊:第四章 Simulink詳解4.1.1 Simulink里面的模塊1、Simulink里的模塊分為最基本的兩類(lèi):非虛擬模塊和虛模塊。非虛擬模塊在一個(gè)系統(tǒng)仿真中扮演重要角色,向模型里添加或刪除一個(gè)非虛擬模塊會(huì)改變仿真的行為。虛模塊的作用有助于用戶(hù)圖形化的組織好模型,不影響模型的行為。還有一類(lèi)模塊,在不同的場(chǎng)合表現(xiàn)不同,這稱(chēng)為條件虛模塊。等價(jià)于Mux模塊在圖形組織上的作用就是減少了連線的數(shù)目和scope模塊的數(shù)目。2、標(biāo)量信號(hào)和向量信號(hào)向量信號(hào)是多個(gè)信號(hào)的集

42、合,它對(duì)應(yīng)著實(shí)際系統(tǒng)中幾條并行連線的合成。在Simulink中充當(dāng)信號(hào)傳遞的直線只是一個(gè)圖形化的虛擬形式,實(shí)際上信號(hào)的傳遞時(shí)依賴(lài)變量的,向量信號(hào)實(shí)際上指輸入變量是一個(gè)向量。讓模塊輸出為向量,需要設(shè)置參數(shù)。通過(guò)雙擊模塊進(jìn)行相應(yīng)的設(shè)置。有的模塊有多個(gè)輸入,如果不同的輸入分別對(duì)應(yīng)著標(biāo)量和向量時(shí),Matlab的處理:輸出為向量,對(duì)標(biāo)量進(jìn)行擴(kuò)展,稱(chēng)為輸入信號(hào)的標(biāo)量擴(kuò)展。還有一種稱(chēng)為參數(shù)的標(biāo)量擴(kuò)展:Sine wave的幅度設(shè)成1 2 3,而gain模塊的gain屬性也設(shè)置為1 2 3,意思是把輸入向量信號(hào)的三個(gè)信號(hào)按順序分別放大1,2,3倍。而當(dāng)gain屬性設(shè)置成一個(gè)標(biāo)量時(shí),Simulink會(huì)將該參數(shù)自動(dòng)

43、擴(kuò)展成和輸入同長(zhǎng)度的向量,這里是1 1 1.4.1.2 Simulink的模塊庫(kù)幾個(gè)概念:當(dāng)用戶(hù)從庫(kù)里用拖曳操作將庫(kù)模塊拷貝到用戶(hù)的模型里時(shí),Simulink會(huì)在模型里建立一個(gè)參考模塊。同時(shí)建立了一個(gè)參考模塊到它對(duì)應(yīng)的原庫(kù)模塊的鏈接。這個(gè)鏈接的作用是在參考模塊里保存了它的原模塊的信息,以便用戶(hù)在更新視圖表時(shí),Simulink能按照模型中引用模塊的保存的信息,搜尋它對(duì)應(yīng)的庫(kù)模塊,并根據(jù)它重新產(chǎn)生一個(gè)參考模塊來(lái)代替原模塊。參考模塊和庫(kù)模塊是靠名稱(chēng)連接起來(lái)的,也就是參考模塊所連接的特定模塊在進(jìn)行復(fù)制時(shí)的名稱(chēng)才有效。(即拷貝的同時(shí)也拷貝了對(duì)應(yīng)的模塊信息)可以按下向的幾種方法來(lái)修復(fù)無(wú)法確定的鏈接: (1

44、)刪除未鏈接的參考模塊,將庫(kù)模塊重新復(fù)制到模型里。 (2)把包含所要求模塊的目錄加到MATLAB的搜索路徑里,然后再?gòu)哪P瓦x擇窗口選擇Update Datagram命令更新圖表。 (3)雙擊參考模塊,在彈出的設(shè)置對(duì)話框里改正路徑按Apply按鈕關(guān)閉對(duì)話框。 可以使用命令libinfo查看庫(kù)信息。例如:每一部分對(duì)應(yīng)的含義為:LibData(n).Block = 'Name' or handle of block with library link LibData(n).Library = 'Name' of library MDL file LibData(n).

45、ReferenceBlock= 'Full path name to linked block in library' LibData(n).LinkStatus = 'resolved', 'unresolved' or 'inactive'LibData是一個(gè)結(jié)構(gòu),可以像結(jié)構(gòu)體一樣訪問(wèn)結(jié)構(gòu)體的成員。如LibData.Block可以使用Edit 菜單中的Link Options中的Disabled Link/Restore Link來(lái)去掉/恢復(fù)參考模塊的鏈接,這樣庫(kù)模塊的任何改變將不會(huì)影響用戶(hù)模型中的模塊(已經(jīng)不是參考模塊了)也

46、可以使用命令set_param命令來(lái)實(shí)現(xiàn)。4.2 模擬方程1、將攝氏溫度轉(zhuǎn)化為華氏溫度首先考慮所需要的模塊:(1)Ramp模塊,用來(lái)產(chǎn)生溫度信號(hào),位于Source庫(kù)(2)Constant模塊,用來(lái)產(chǎn)生一個(gè)常數(shù)32,位于Source庫(kù)(3)Gain模塊,將輸入信號(hào)乘上9/5,來(lái)自Math庫(kù)(4)Sum模塊,將兩個(gè)量相加,來(lái)自Math庫(kù)(5)Scope模塊,顯示輸出結(jié)果,來(lái)自Sink庫(kù)然后將這些模塊復(fù)制到模型窗口中給Gain模塊和Constant模塊設(shè)置合適的參數(shù),通過(guò)雙擊模塊打開(kāi)參數(shù)設(shè)置對(duì)話框輸入相應(yīng)的數(shù)值然后連接各模塊。如下圖所示:2、簡(jiǎn)單連續(xù)系統(tǒng)的建模如何對(duì)微分方程進(jìn)行建模,如下方程:其中u

47、(t)是幅度為1,頻率為1rad/s的方波信號(hào),積分模塊將x(t)的微分信號(hào)積分來(lái)獲得x(t)。需要用到的模塊有Gain模塊,Sum模塊,Signal Generator模塊(Square方波),Integrate模塊,Scope模塊。增益模塊通過(guò)format菜單中的Flip Block命令進(jìn)行翻轉(zhuǎn)。X是Integrator模塊的輸出,它同樣計(jì)算x的模塊的輸出,這個(gè)關(guān)系是通過(guò)模型中的環(huán)路實(shí)現(xiàn)的。運(yùn)行結(jié)果如下該例可以表示為傳遞函數(shù)的形式,將上面的微分左右取拉式變換,得到:這樣就可以用Transfer Fcn模塊來(lái)進(jìn)行建模了。首先指定對(duì)應(yīng)的傳遞函數(shù),可以在模塊參數(shù)對(duì)話框中設(shè)置Numerator(分

48、子)參數(shù),Denumerator(分母)參數(shù)分別為11 2,即該模塊是用傳遞函數(shù)的分式形式表示,且系數(shù)從左至右按s的降冪排列,因此可以簡(jiǎn)化為下圖所示:4.3 Simulink中的數(shù)據(jù)類(lèi)型Simulink中能夠指定模型的信號(hào)和模塊參數(shù)的數(shù)據(jù)類(lèi)型,這種能力在實(shí)時(shí)控制中非常有用。Simulink在開(kāi)始仿真之前以及仿真過(guò)程中,會(huì)進(jìn)行一個(gè)額外的額檢查,以確認(rèn)運(yùn)行的模型的類(lèi)型安全性。模型的類(lèi)型安全性是指從該模型產(chǎn)生的代碼不會(huì)出現(xiàn)上溢或下溢,并且因此產(chǎn)生不精確的結(jié)果。4.3.1Simulink支持的數(shù)據(jù)類(lèi)型還有布爾類(lèi)型,取值0或1,內(nèi)部表示是uint8;所有的Simulink模塊都缺省的接受double類(lèi)型

49、的信號(hào)。Simulink中支持復(fù)數(shù)的模塊:在設(shè)置模塊參數(shù)時(shí),指定一個(gè)值為特殊數(shù)據(jù)類(lèi)型時(shí),可以使用type(value)的方法,例如把常數(shù)模塊的參數(shù)設(shè)置為1.0單精度,可以在參數(shù)對(duì)話框中輸入single(1.0)4.3.2 數(shù)據(jù)類(lèi)型傳播主要用來(lái)處理數(shù)據(jù)類(lèi)型沖突的情形。用戶(hù)可以通過(guò)Simulation Parameters對(duì)話框的Diagnostics頁(yè),去除Relax Boolean type checking 選項(xiàng)的選中狀態(tài),來(lái)時(shí)Simulink實(shí)施嚴(yán)格的布爾類(lèi)型檢驗(yàn)。4.3.3 在模型里使用復(fù)數(shù)信號(hào)下面幾種方法把復(fù)數(shù)引入到模型中:4.4. 建立子系統(tǒng)4.4.1建立子系統(tǒng)主要用來(lái)簡(jiǎn)化模型。(1

50、)可以減少顯示在模型窗口的模塊數(shù)。(2)將功能相關(guān)的模塊放在一起,建立自己的庫(kù)模塊(3)可以生成層次化得模型圖標(biāo),即子系統(tǒng)在一層,組成子系統(tǒng)的模塊在另一層。創(chuàng)建子系統(tǒng)的方法:(1)增加一個(gè)子系統(tǒng)模塊到模型中,然后打開(kāi)創(chuàng)建(2)先把模塊鏈接好,然后再把這些模塊組成子系統(tǒng)。1、通過(guò)子系統(tǒng)模塊建立子系統(tǒng)展開(kāi)之后7.3版本里的輸入輸出端口已經(jīng)為我們畫(huà)好。2、組合已經(jīng)存在的模塊建立子系統(tǒng)生成子模塊將所有模塊框選之后,從Edit菜單中找到Create Subsystem命令點(diǎn)擊即可生成子模塊。注:模型里的模塊標(biāo)簽必須是唯一的。4.4.2 用子系統(tǒng)自定義庫(kù)(還需要繼續(xù)閱讀)將生成的子系統(tǒng)添加到Simulin

51、k extras節(jié)點(diǎn)的transformation子庫(kù)里面。封裝技術(shù):選擇好初始建立的子系統(tǒng),從Edit菜單選擇mask the subsystem命令,選擇document頁(yè),在blocks description中輸入文字,按OK即可。4.5 封裝子系統(tǒng)4.5.1 子系統(tǒng)封裝示例 (認(rèn)真閱讀該示例)建立如圖所示子系統(tǒng)并設(shè)置參數(shù)1、產(chǎn)生提示對(duì)話框選擇該系子系統(tǒng),從Edit菜單中選擇Mask SubSystem命令,出現(xiàn)如下封裝編輯器:2、建立模塊的描述信息以及幫助文檔3、生成模塊的圖標(biāo)4.5.2 initialization頁(yè)1、assignment屬性Evaluate和literal兩個(gè)值

52、可供選擇。若設(shè)置為evaluate,那么模塊使用者在模塊參數(shù)設(shè)置對(duì)話框里輸入的值,在被賦給變量之前,首先由Matlab進(jìn)行估值。若設(shè)置為literal,則輸入的值不經(jīng)過(guò)估值,而是直接作為字符串傳給變量。(eval命令用來(lái)對(duì)字符串進(jìn)行估值,如eval(abs(-2)2、控件類(lèi)型3、可調(diào)參數(shù)(Tunable Parameters)只能夠在運(yùn)行時(shí)動(dòng)態(tài)修改的封裝參數(shù)。通過(guò)模塊的MaskTunableValues屬性來(lái)控制封裝參數(shù)是否可調(diào)。具體步驟如下:(1)解除庫(kù)鎖定狀態(tài)(2)打開(kāi)模塊的參數(shù)對(duì)話框,在編輯框輸入要設(shè)定的缺省值,然后關(guān)閉對(duì)話框(3)保存模型4、初始化命令及其調(diào)試初始化命令用于定義駐留在模

53、塊的封裝工作空間內(nèi)的變量。在初始化命令里定義的變量能被子系統(tǒng)內(nèi)的模塊訪問(wèn),也能被其他的初始化命令訪問(wèn),還能被制作圖標(biāo)命令訪問(wèn)。5、封裝子空間一旦模塊的封裝里(注意Simulink提供的模塊也同樣是經(jīng)過(guò)封裝得到的,但不定是子系統(tǒng)),包含初始化命令或者定義了參數(shù)變量,Simulink就為模塊建立一個(gè)局部的封裝工作空間。4.5.3 icon頁(yè)Icon頁(yè)的主要作用是讓用戶(hù)能夠自定義模塊的圖標(biāo)。1、在圖標(biāo)上顯示文本2、在圖標(biāo)上顯示圖形3、在圖標(biāo)上顯示圖像使用image命令4、在圖表上顯示傳遞函數(shù)Num和den分別表示分子和分母,character表示多項(xiàng)式中的字母,默認(rèn)為s如果按照函數(shù)的零極點(diǎn)來(lái)顯示,則

54、使用命令droots5、控制圖表屬性Icon frame只包含模塊的正方形框Icon transparency參數(shù)用來(lái)設(shè)置圖標(biāo)的透明性Icon Rotate參數(shù)用來(lái)控制圖標(biāo)的朝向是否為固定Drawing coordinates參數(shù)的作用是調(diào)整圖標(biāo)繪制坐標(biāo)4.5.4 documentation頁(yè)4.5.5 為封裝的模塊建立動(dòng)態(tài)對(duì)話框Simulink支持用戶(hù)建立隨著用戶(hù)輸入?yún)?shù)變化的模塊參數(shù)對(duì)話框。封裝對(duì)話框的特性可以改變的方式包括:(1) 參數(shù)控件的外觀(2) 參數(shù)控件的使能狀態(tài)(3) 參數(shù)值建立一個(gè)封裝對(duì)話框必須將封裝編輯器和Simulink set_param命令結(jié)合起來(lái)使用。1、設(shè)置封裝模

55、塊對(duì)話框參數(shù)使用set_param命令的好處是可以再對(duì)話框被打開(kāi)時(shí)設(shè)置參數(shù),并立即改變對(duì)話框的外觀。(結(jié)合回調(diào)函數(shù))2、預(yù)定義封裝對(duì)話框參數(shù)(1)MaskCallbacks:該參數(shù)的值是一個(gè)字符串的單元數(shù)組,用來(lái)指定對(duì)話框用戶(hù)定義參數(shù)控件各自的回調(diào)表達(dá)式(2)Maskdescription該參數(shù)值是一個(gè)用于設(shè)定模塊描述的字符串,(3)MaskEnables:該參數(shù)的值是一個(gè)字符串的單元數(shù)組,定義了用戶(hù)定義參數(shù)控件的使能狀態(tài)。(4)MaskPrompts(5)MaskType(6)MaskValues(7)MaskVisibilities4.6 建立條件子系統(tǒng)條件子系統(tǒng)是指它的執(zhí)行受輸入信號(hào)控制的一類(lèi)子系統(tǒng),在條件子系統(tǒng)中,控制子系統(tǒng)是否執(zhí)行的信號(hào)稱(chēng)為控制信號(hào)。進(jìn)入子系統(tǒng)里的信號(hào)被稱(chēng)為控制輸入。在建立復(fù)雜模型時(shí)非常有用。4.6.1使能子系統(tǒng)使能子系統(tǒng)在控制信號(hào)為正值的時(shí)間步里執(zhí)行。每一個(gè)子系統(tǒng)只有一個(gè)控制輸入,可以使標(biāo)量或向量信號(hào)。位于simulink庫(kù)中signals&systems字庫(kù)中。4.6.2 觸發(fā)子系統(tǒng)觸發(fā)子系統(tǒng)只在觸發(fā)事件發(fā)生的時(shí)刻執(zhí)行。出發(fā)事件是由控制輸入信號(hào)的狀態(tài)來(lái)決定的,一個(gè)觸發(fā)子系統(tǒng)只能有一個(gè)控制輸入,在simulink中稱(chēng)為觸發(fā)輸入。觸發(fā)有兩種類(lèi)型:上升觸發(fā)和下降觸發(fā)。4.6.3 觸發(fā)使能子系

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論