基于matlab在程序中的仿真應(yīng)用有哪些?
基本思想:仿真的基本思想是利用物理的或數(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)、用圖紙和模型模擬建筑群等都是物理仿真。但是要為系統(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ì)算方法)
●表上作業(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)整,直至得到滿意的結(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í)物仿真,就是把物理模型和數(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)。
1.2計(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í)體的特性(狀態(tài)和參數(shù))。即實(shí)體、屬性和活動(dòng)。
由于組成系統(tǒng)的實(shí)體之間相互作用而引起實(shí)體屬性的變化,通常用“狀態(tài)”的概念來(lái)描述。研究系統(tǒng)就是研究系統(tǒng)狀態(tài)的改變,即系統(tǒng)的轉(zhuǎn)變。simulink仿真是MATLAB中的一種可視化仿真工具,是一種基于MATLAB的框圖設(shè)計(jì)環(huán)境。是實(shí)現(xiàn)動(dòng)態(tài)系統(tǒng)建模,仿真和分析的一個(gè)軟件包,被廣泛應(yīng)用于線性系統(tǒng)、非線性系統(tǒng)、數(shù)字控制及數(shù)字信號(hào)處理的建模和仿真中,它提供一個(gè)動(dòng)態(tài)系統(tǒng)建模、仿真、和綜合分析的集成環(huán)境。在該環(huán)境中,無(wú)需大量書(shū)寫(xiě)程序,而只需要通過(guò)簡(jiǎn)單直觀的鼠標(biāo)操作,就可構(gòu)造出復(fù)雜的系統(tǒng)。具有適應(yīng)面廣,結(jié)構(gòu)和流程清晰及仿真精細(xì)、貼近實(shí)際、效率高,靈活等優(yōu)點(diǎn)。廣泛應(yīng)用于控制理論和數(shù)字信號(hào)處理的復(fù)雜仿真系統(tǒng)和設(shè)計(jì)。
利用File→New命令,可以建立新的仿真模型;利用File→Open命令,可以打開(kāi)已經(jīng)建立好的模型文件。
單擊“Library Browser”按鈕,將打開(kāi)Simulink模塊庫(kù)瀏覽器窗口。此時(shí),可以通過(guò)鼠標(biāo)將模塊庫(kù)中的模塊拖動(dòng)到模型編輯窗口,再將各個(gè)模塊連接起來(lái)就構(gòu)成了仿真模型。
系統(tǒng)仿真模型的創(chuàng)建
模塊的添加:首先要在Simulink模塊庫(kù)瀏覽器窗口中找 到該模塊,然后用鼠標(biāo)將這個(gè)模塊拖曳到模型編輯窗口中即可。
模塊的刪除或復(fù)制:需要先選定模塊,再按刪除鍵;或在模型編輯窗口選擇Edit菜單項(xiàng)中的Cut、Copy、Paste等剪貼板操作命令。
兩個(gè)模塊的連接:先將鼠標(biāo)指針移動(dòng)到一個(gè)模塊的輸出端當(dāng)鼠標(biāo)指針變成十字形光標(biāo)時(shí)按住鼠標(biāo)左鍵,移動(dòng)鼠標(biāo)指針到另一個(gè)模塊的輸入端,當(dāng)連接線由虛線變成實(shí)線時(shí),釋放鼠標(biāo)左鍵就完成了兩個(gè)模塊的連接。
連線的分支:在先連好一條線之后,把鼠標(biāo)指針移到分支點(diǎn)的位置。先按下Ctrl鍵,然后按住鼠標(biāo)拖曳到目標(biāo)模塊的輸入端,釋放鼠標(biāo)和Ctrl鍵。
模型存盤(pán)的兩種方法:
在Simulink模型編輯窗口選擇File→Save命令或Save as命令。
單擊模型編輯窗口工具欄中的Save命令按鈕。
模塊參數(shù)的設(shè)置:
1.雙擊要設(shè)置的模塊。
2.選擇要設(shè)置的模塊,再選擇Diagram→Block Parameters命令。
3.右擊要設(shè)置的模塊,從快捷菜單中選擇Block Parameters命令。
仿真參數(shù)的設(shè)置
選擇Simulation→Model Configuration Paramerers命令。
單擊工具欄中的Model Configuration Paramerers命令按鈕。
我們來(lái)看一道例題:
利用Simulink仿真,分別顯示曲線y=sint和y=cost,同時(shí)顯示sint對(duì)cost的變化曲線。
matlab仿真工具Simulink具有適應(yīng)面廣、結(jié)構(gòu)和流程清晰及仿真精細(xì)、貼近實(shí)際、效率高、靈活等優(yōu)點(diǎn),并基于以上優(yōu)點(diǎn)Simulink已被廣泛應(yīng)用于控制理論和數(shù)字信號(hào)處理的復(fù)雜仿真和設(shè)計(jì)。同時(shí)有大量的第三方軟件和硬件可應(yīng)用于或被要求應(yīng)用于Simulink。
1豐富的可擴(kuò)充的預(yù)定義模塊庫(kù)
2交互式的圖形編輯器來(lái)組合和管理直觀的模塊圖
3以設(shè)計(jì)功能的層次性來(lái)分割模型,實(shí)現(xiàn)對(duì)復(fù)雜設(shè)計(jì)的管理
4通過(guò)Model Explorer導(dǎo)航、創(chuàng)建、配置、搜索模型中的任意信號(hào)、參數(shù)、屬性,生成模型代碼
5提供API用于與其他仿真程序的連接或與手寫(xiě)代碼集成
6使用Embedded MATLAB?模塊在Simulink和嵌入式系統(tǒng)執(zhí)行中調(diào)用MATLAB算法
7使用定步長(zhǎng)或變步長(zhǎng)運(yùn)行仿真,根據(jù)仿真模式
(Normal,Accelerator,Rapid Accelerator)來(lái)決定以解釋性的方式運(yùn)行或以編譯C代碼的形式來(lái)運(yùn)行模型
8圖形化的調(diào)試器和剖析器來(lái)檢查仿真結(jié)果,診斷設(shè)計(jì)的性能和異常行為
9可訪問(wèn)MATLAB從而對(duì)結(jié)果進(jìn)行分析與可視化,定制建模環(huán)境,定義信號(hào)參數(shù)和測(cè)試數(shù)據(jù)10模型分析和診斷工具來(lái)保證模型的一致性,確定模型中的錯(cuò)誤