




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、控制工程中的程序設計控制工程中的程序設計授課教師:馮肖亮E-mail: 河南工業(yè)大學 電氣工程學院1Simulink使用與仿真使用與仿真第六章第六章23 6.1 Simulink模塊與模型建立模塊與模型建立6.1.1 Simulink啟用啟用6.1.2 Simulink模塊模塊6.1.3 Simulink模型建立模型建立6.2 Simulink仿真技術與仿真技術與S函數(shù)函數(shù)6.2.1 Simulink仿真技術仿真技術6.2.2 S函數(shù)函數(shù)第第6 6章章 SimulinkSimulink使用與仿真使用與仿真4 由于由于Simulink是基于是基于MATLAB環(huán)境之上的環(huán)境之上的高性能的系統(tǒng)級仿真
2、設計平臺,因此啟動高性能的系統(tǒng)級仿真設計平臺,因此啟動Simulink之前必須首先運行之前必須首先運行MATLAB,然后才,然后才能啟動能啟動Simulink,啟動,啟動Simulink有兩種方式:有兩種方式: (1)用用命令行方式命令行方式啟動啟動Simulink。即在。即在MATLAB的的命令窗口中直接鍵入命令窗口中直接鍵入如下命令:如下命令: simulink6.1.1 Simulink啟用啟用6.1 Simulink模塊與模型建立模塊與模型建立5 6.1 Simulink模塊與模型建立模塊與模型建立 (2)使用使用工具欄按鈕工具欄按鈕啟動啟動Simulink。即用。即用鼠鼠標單擊標單擊
3、MATLAB工具欄中的工具欄中的 按鈕。按鈕。圖圖6.1 啟動啟動Simulink6 n Simulink瀏覽器界面瀏覽器界面(如圖如圖6.2所示所示) 菜單欄區(qū)、工具欄區(qū)、文字說明區(qū)、模塊菜單欄區(qū)、工具欄區(qū)、文字說明區(qū)、模塊庫區(qū)、狀態(tài)欄區(qū)庫區(qū)、狀態(tài)欄區(qū) 6.1 Simulink模塊與模型建立模塊與模型建立6.1.2 Simulink模塊模塊圖圖6.2 Simulink瀏覽器界面瀏覽器界面7 菜單欄區(qū):其主菜單有菜單欄區(qū):其主菜單有文件文件(File)、編輯編輯(Edit)、 查看查看(View)、幫助幫助(Help)等等4項。項。 File:含:含New(新建模型或者庫新建模型或者庫)、op
4、en(打開打開)、Close(關閉關閉)和和Preferences(屬性設置屬性設置)4項;項; Edit:含:含Add to the current model(添加到當前模型添加到當前模型)、Find(查找查找)和和Find next(查找下一個查找下一個)3項;項;6.1 Simulink模塊與模型建立模塊與模型建立8 6.1 Simulink模塊與模型建立模塊與模型建立View:由:由toolbar(工具欄工具欄), status bar(狀態(tài)欄狀態(tài)欄),description(文字說明欄文字說明欄),stay on top(將瀏覽器放將瀏覽器放在桌面最上層在桌面最上層) View:c
5、ollapse entire browser(模塊模塊庫壓縮顯示庫壓縮顯示),expand entire browser(模塊庫展開模塊庫展開顯示顯示),Large icons(大圖標大圖標) ,Small icons(小圖標小圖標),Show parameters for selection(顯示所選模塊的參顯示所選模塊的參數(shù)數(shù)) ;Help(幫助幫助)9 6.1 Simulink模塊與模型建立模塊與模型建立工具欄區(qū):含工具欄區(qū):含4個按鈕:新建與打開按鈕,將模個按鈕:新建與打開按鈕,將模塊放在桌面最上層按鈕,塊放在桌面最上層按鈕,F(xiàn)ind是用來查找模塊庫是用來查找模塊庫中的模塊按鈕。中的模
6、塊按鈕。文字說明區(qū):對所選模塊的文字說明;文字說明區(qū):對所選模塊的文字說明;模塊庫區(qū):含模塊庫及其相應的模塊組;模塊庫區(qū):含模塊庫及其相應的模塊組;狀態(tài)欄區(qū):即最下方顯示狀態(tài)欄區(qū):即最下方顯示Ready區(qū),用來顯示瀏區(qū),用來顯示瀏覽器狀態(tài)。覽器狀態(tài)。10 6.1 Simulink模塊與模型建立模塊與模型建立n Simulink基本模塊庫基本模塊庫Continuous(連續(xù)模塊組連續(xù)模塊組)Discontinuities(非連續(xù)模塊組非連續(xù)模塊組) Discrete(離散模塊組離散模塊組) Look-Up Tables(表格模塊組表格模塊組) Math Operations(數(shù)學運算模塊組數(shù)學運
7、算模塊組) Model Verification(模型檢驗模塊組模型檢驗模塊組) Model-Wide Utilities(公用模塊組公用模塊組) 11 6.1 Simulink模塊與模型建立模塊與模型建立Ports & Subsystems(端口與子系統(tǒng)模塊組端口與子系統(tǒng)模塊組) Signal Attributes(信號屬性模塊組信號屬性模塊組)Signal Routing(信號傳輸選擇模塊組信號傳輸選擇模塊組)Sinks(輸出模塊組輸出模塊組) Sources(信號源模塊組信號源模塊組) User-Defined Functions(用戶定義函數(shù)模塊組用戶定義函數(shù)模塊組)等等n S
8、imulink基本模塊庫基本模塊庫 (續(xù)續(xù))12 6.1 Simulink模塊與模型建立模塊與模型建立1、 Continuous(連續(xù)模塊組連續(xù)模塊組) 包含包含7個基本模塊,分為連續(xù)時間線性系統(tǒng)與個基本模塊,分為連續(xù)時間線性系統(tǒng)與連續(xù)時間延遲兩種。子模塊組的名稱和用途見連續(xù)時間延遲兩種。子模塊組的名稱和用途見表表6-1。13 6.1 Simulink模塊與模型建立模塊與模型建立2、 Math Operations(數(shù)學運算模塊組數(shù)學運算模塊組) 包含包含25個基本模塊,包括數(shù)學運算、向量運算、個基本模塊,包括數(shù)學運算、向量運算、復數(shù)與向量間的轉換運算復數(shù)與向量間的轉換運算4種。其子模塊組的名
9、稱和種。其子模塊組的名稱和用途見用途見表表6-2。14 6.1 Simulink模塊與模型建立模塊與模型建立表表6-2 數(shù)學運算模塊組子模塊的名稱及用途數(shù)學運算模塊組子模塊的名稱及用途模模 塊塊 名名 稱稱模模 塊塊 用用 途途Abs絕對值或求模絕對值或求模(對復數(shù)對復數(shù))模塊模塊Algebraic Constraint將輸入將輸入f(z)強制置為強制置為0并輸出并輸出zAssignment分配器分配器Bitwise Logical Operator二進制邏輯運算模塊二進制邏輯運算模塊Combinatorial Logic建立邏輯真值表模塊建立邏輯真值表模塊Complex to Magnitu
10、de-Angle計算復數(shù)的幅值與相角模塊計算復數(shù)的幅值與相角模塊Complex to Real-Imag計算復數(shù)實部與虛部模塊計算復數(shù)實部與虛部模塊Dot Product計算點積計算點積(內積內積)模塊模塊Gain增益模塊增益模塊Logical Operator邏輯運算模塊邏輯運算模塊15 6.1 Simulink模塊與模型建立模塊與模型建立表表6-2續(xù)續(xù) 數(shù)學運算模塊組子模塊的名稱及用途數(shù)學運算模塊組子模塊的名稱及用途模模 塊塊 名名 稱稱模模 塊塊 用用 途途Magnitude-Angle to Complex由幅值與相角構造復數(shù)模塊由幅值與相角構造復數(shù)模塊Math Function數(shù)學運
11、算函數(shù)模塊數(shù)學運算函數(shù)模塊,可進行多種數(shù)學函數(shù)運算可進行多種數(shù)學函數(shù)運算Matrix Concatenation矩陣連接模塊矩陣連接模塊Matrix Gain矩陣增益模塊矩陣增益模塊MinMax計算極大值與極小值模塊計算極大值與極小值模塊Polynomial多項式運算模塊多項式運算模塊Product乘積運算模塊乘積運算模塊Real-Imag to Complex由實部與虛部構造復數(shù)模塊由實部與虛部構造復數(shù)模塊Relational Operator關系運算模塊關系運算模塊Reshape矩陣重新定維模塊矩陣重新定維模塊Rounding Function取整模塊取整模塊16 6.1 Simulink
12、模塊與模型建立模塊與模型建立表表6-2續(xù)續(xù) 數(shù)學運算模塊組子模塊的名稱及用途數(shù)學運算模塊組子模塊的名稱及用途模模 塊塊 名名 稱稱模模 塊塊 用用 途途Sign符號函數(shù)模塊符號函數(shù)模塊Slider Gain可變增益模塊可變增益模塊(使用滑尺改變增益值使用滑尺改變增益值)Sum計算代數(shù)和或差模塊計算代數(shù)和或差模塊Trigonometric Function執(zhí)行多種常用三角函數(shù)模塊執(zhí)行多種常用三角函數(shù)模塊17 6.1 Simulink模塊與模型建立模塊與模型建立3、 Signal Routing(信號傳輸選擇模塊組信號傳輸選擇模塊組) 共有共有15個基本模塊,包括信號傳輸與信號存儲、個基本模塊,包
13、括信號傳輸與信號存儲、訪問兩種。其子模塊組的名稱和用途見訪問兩種。其子模塊組的名稱和用途見表表6-3。18 6.1 Simulink模塊與模型建立模塊與模型建立4、 Sinks(輸出模塊組輸出模塊組) 及其用途及其用途 共有共有9個基本模塊,包括模型及子系統(tǒng)輸出、數(shù)個基本模塊,包括模型及子系統(tǒng)輸出、數(shù)據(jù)觀察器與仿真控制據(jù)觀察器與仿真控制3種。其子模塊組的名稱和用途種。其子模塊組的名稱和用途見表見表6-4。模塊功能說明:模塊功能說明: 以數(shù)值形式顯示輸入信號 懸浮信號顯示器 為子系統(tǒng)或模型提供輸出端口 信號顯示器 當輸入非零時停止仿真 中斷輸出信號 將仿真數(shù)據(jù)寫入 mat 文件 將仿真數(shù)據(jù)輸出到
14、 Matlab 工作空間 使用 Matlab 圖形顯示數(shù)據(jù) 模塊功能說明:以數(shù)值形式顯示輸入信號懸浮信號顯示器為子系統(tǒng)或模型提供輸出端口信號顯示器當輸入非零時停止仿真中斷輸出信號將仿真數(shù)據(jù)寫入.mat文件將仿真數(shù)據(jù)輸出到MATLAB工作空間使用MATLAB圖形顯示數(shù)據(jù)19 6.1 Simulink模塊與模型建立模塊與模型建立表表6-4 輸出模塊組子模塊的名稱及用途輸出模塊組子模塊的名稱及用途模模 塊塊 名名 稱稱模模 塊塊 用用 途途Display實時數(shù)字顯示模塊實時數(shù)字顯示模塊Floating Scope浮動示波器模塊浮動示波器模塊Out1輸出端口模塊輸出端口模塊(同端口與子系統(tǒng)模塊中同端口
15、與子系統(tǒng)模塊中Out1)Scope示波器模塊示波器模塊Stop Simulation當輸入非當輸入非0時,停止仿真。在仿真停止前完成當時,停止仿真。在仿真停止前完成當前時間步內的仿真。前時間步內的仿真。Terminator信號終止模塊信號終止模塊To File將其輸入寫入將其輸入寫入MAT-file文件內的一個矩陣中文件內的一個矩陣中To Workspace將其輸入寫入工作空間將其輸入寫入工作空間XY GraphX-Y示波器模塊示波器模塊20 6.1 Simulink模塊與模型建立模塊與模型建立5、 Sources(信號源模塊組信號源模塊組) 及其用途及其用途 1818個基本模塊,包括模型及子
16、系統(tǒng)輸入與信號個基本模塊,包括模型及子系統(tǒng)輸入與信號發(fā)生器兩種。其子模塊組的名稱和用途見發(fā)生器兩種。其子模塊組的名稱和用途見表表6-56-5。21 6.1 Simulink模塊與模型建立模塊與模型建立表表6-5 信號源模塊組子模塊的名稱及用途信號源模塊組子模塊的名稱及用途模模 塊塊 名名 稱稱模模 塊塊 用用 途途Band-Limited White Noise帶寬限幅白噪聲模塊帶寬限幅白噪聲模塊Chirp Signal線性調頻信號模塊線性調頻信號模塊(頻率隨時間線性增加的正弦信號頻率隨時間線性增加的正弦信號),可用于非線性系統(tǒng)譜分析可用于非線性系統(tǒng)譜分析Clock在每一仿真步輸出當前仿真時間
17、在每一仿真步輸出當前仿真時間(連續(xù)時間連續(xù)時間)Constant輸出與時間無關的實數(shù)或復數(shù)輸出與時間無關的實數(shù)或復數(shù)Digital Clock僅在指定的采樣間隔內輸出仿真時間,在其它時間僅在指定的采樣間隔內輸出仿真時間,在其它時間輸出保持前一次值不變輸出保持前一次值不變(離散時間離散時間)From Workspace從從MATLAB工作空間中讀取數(shù)據(jù)工作空間中讀取數(shù)據(jù)From File從一個指定的文件中讀取數(shù)據(jù)并輸出從一個指定的文件中讀取數(shù)據(jù)并輸出Ground接地模塊接地模塊In1輸入端口模塊輸入端口模塊(同端口與子系統(tǒng)模塊中同端口與子系統(tǒng)模塊中In1)Pulse Generator產生固定頻
18、率脈沖序列產生固定頻率脈沖序列22 6.1 Simulink模塊與模型建立模塊與模型建立表表6-5續(xù)續(xù) 信號源模塊組子模塊的名稱及用途信號源模塊組子模塊的名稱及用途模模 塊塊 名名 稱稱模模 塊塊 用用 途途Ramp產生按指定初始時間、初始幅度和變化率的斜坡信號產生按指定初始時間、初始幅度和變化率的斜坡信號Random Number產生正態(tài)分布的隨機信號產生正態(tài)分布的隨機信號Repeating Sequence產生一個任意波形的周期信號產生一個任意波形的周期信號Signal Generator可以產生三種不同波形的信號:正弦波、方波和鋸齒可以產生三種不同波形的信號:正弦波、方波和鋸齒波。信號單
19、位可以是波。信號單位可以是Hz或或rad/sSignal Builder信號構造器信號構造器Sine Wave正弦波信號模塊正弦波信號模塊Step在指定時間產生一個可定義上下電平的階躍信號在指定時間產生一個可定義上下電平的階躍信號Uniform Random Number產生在整個指定時間周期內均勻分布的隨機信號產生在整個指定時間周期內均勻分布的隨機信號23 6.1 Simulink模塊與模型建立模塊與模型建立n 部分專業(yè)模塊庫簡介部分專業(yè)模塊庫簡介 Mathworks公司還提供了一系列與公司還提供了一系列與Simulink一起使用的專業(yè)模塊庫,主要有:一起使用的專業(yè)模塊庫,主要有:Contr
20、ol System Toolbox:控制系統(tǒng)工具箱:控制系統(tǒng)工具箱Communications Blockset:通信系統(tǒng)仿真模塊:通信系統(tǒng)仿真模塊Fuzzy Logic Toolbox:模糊邏輯控制工具箱:模糊邏輯控制工具箱24 6.1 Simulink模塊與模型建立模塊與模型建立n 部分專業(yè)模塊庫簡介部分專業(yè)模塊庫簡介 (續(xù)續(xù)) Neural Network Blockset:神經(jīng)網(wǎng)絡工具箱:神經(jīng)網(wǎng)絡工具箱 Simulink Extras:補充:補充Simulink公共模塊庫公共模塊庫 Stateflow:用來對復雜的事件驅動系統(tǒng)進行建模:用來對復雜的事件驅動系統(tǒng)進行建模 和仿真和仿真 R
21、eal-Time Workshop (簡稱簡稱RTW):可以直接將:可以直接將simulink模型框圖和模型框圖和Stateflow的狀態(tài)圖轉換成高效的狀態(tài)圖轉換成高效優(yōu)化的程序代碼優(yōu)化的程序代碼25 6.1 Simulink模塊與模型建立模塊與模型建立6.1.3 Simulink模型建立模型建立建立簡單模型的步驟:建立簡單模型的步驟:建立模型窗口建立模型窗口點擊點擊 ,彈出,彈出Simulink Library Browser 點擊點擊File,彈出彈出New,指向,指向Model(或者在鍵盤中同時按住或者在鍵盤中同時按住Ctrl+N)即可得到一個即可得到一個空白的模型窗口空白的模型窗口(如
22、下圖所示)。(如下圖所示)。26 6.1 Simulink模塊與模型建立模塊與模型建立將功能模塊從模塊庫中復制到模型窗口將功能模塊從模塊庫中復制到模型窗口 將左圖中的將左圖中的功能模塊功能模塊復制到復制到空白窗口空白窗口“Untitled”。27 6.1 Simulink模塊與模型建立模塊與模型建立對模塊進行連接,構成所需要的系統(tǒng)模型對模塊進行連接,構成所需要的系統(tǒng)模型(如下如下圖所示圖所示)保存系統(tǒng)模型保存系統(tǒng)模型 點擊點擊Untiled菜單欄上的菜單欄上的File,選擇,選擇Save或者或者Save as保保存文件,文件擴展名為存文件,文件擴展名為.mdl 。 28 6.2 Simulin
23、k仿真技術與仿真技術與S函數(shù)函數(shù)6.2.1 Simulink仿真技術仿真技術下面通過一個例子介紹下面通過一個例子介紹Simulink的仿真技術的仿真技術例題例題:已知一個系統(tǒng)模型,它的:已知一個系統(tǒng)模型,它的數(shù)學描述數(shù)學描述為為 。求。求建立建立一個一個Simulink系統(tǒng)模型系統(tǒng)模型,并以,并以圖形方式圖形方式輸出系統(tǒng)輸出系統(tǒng)運算結果運算結果。( )( ), ( )sin( ),0,0y tau t u tt at29 6.2 Simulink仿真技術與仿真技術與S函數(shù)函數(shù)解:解:第一步:選擇模塊第一步:選擇模塊p 在在Sources中選擇中選擇Sine Wave模塊,用以模塊,用以產生產生
24、一個一個正弦波信號正弦波信號。30 6.2 Simulink仿真技術與仿真技術與S函數(shù)函數(shù)p在在Math中選擇中選擇Gain模塊,用以模塊,用以產生產生一個一個常數(shù)常數(shù)(即(即信號增益信號增益)。)。31 6.2 Simulink仿真技術與仿真技術與S函數(shù)函數(shù)p在在Sinks中選擇中選擇Scope模塊,用以模塊,用以圖形方式顯示圖形方式顯示結果結果。32 6.2 Simulink仿真技術與仿真技術與S函數(shù)函數(shù)p生成系統(tǒng)模型(系統(tǒng)模型囊括了模塊選擇步驟) 。33 6.2 Simulink仿真技術與仿真技術與S函數(shù)函數(shù)第二步:添加連接線第二步:添加連接線 完成所需模塊選擇后,按系統(tǒng)信號流動方向,將
25、各完成所需模塊選擇后,按系統(tǒng)信號流動方向,將各系統(tǒng)模塊連接起來。具體做法是將光標指向起始塊的輸系統(tǒng)模塊連接起來。具體做法是將光標指向起始塊的輸出端口,此時光標變成出端口,此時光標變成“+”,單擊鼠標左鍵并拖動到目,單擊鼠標左鍵并拖動到目標模塊的輸入端口,在接近到一定程度時光標變成雙十標模塊的輸入端口,在接近到一定程度時光標變成雙十字。這時松開鼠標鍵,連接完成。完成后在連接點處出字。這時松開鼠標鍵,連接完成。完成后在連接點處出現(xiàn)一個箭頭,表示系統(tǒng)中信號的流向,如圖所示?,F(xiàn)一個箭頭,表示系統(tǒng)中信號的流向,如圖所示。34 6.2 Simulink仿真技術與仿真技術與S函數(shù)函數(shù)第三步:輸入信號與輸出信
26、號對比的實現(xiàn)第三步:輸入信號與輸出信號對比的實現(xiàn)在在Simulink公共模塊庫的公共模塊庫的Signal Routing(信號流信號流向模塊庫向模塊庫)中選擇中選擇Mux模塊,以模塊,以實現(xiàn)將輸入信號和實現(xiàn)將輸入信號和輸出信號同時輸入到一個示波器中輸出信號同時輸入到一個示波器中,如圖所示,如圖所示。35 6.2 Simulink仿真技術與仿真技術與S函數(shù)函數(shù)第四步:仿真運行第四步:仿真運行首先,進行系統(tǒng)模塊參數(shù)和仿真參數(shù)設置。逐一雙擊系統(tǒng)中首先,進行系統(tǒng)模塊參數(shù)和仿真參數(shù)設置。逐一雙擊系統(tǒng)中的模塊,打開其參數(shù)設置對話框,輸入合適的模塊參數(shù),如的模塊,打開其參數(shù)設置對話框,輸入合適的模塊參數(shù),如
27、圖所示,仿真參數(shù)可采用圖所示,仿真參數(shù)可采用Simulink的默認值,也可自主設定。的默認值,也可自主設定。本例中,系統(tǒng)模塊參數(shù)設置增益取值為本例中,系統(tǒng)模塊參數(shù)設置增益取值為5,仿真參數(shù)采用,仿真參數(shù)采用Simulink的默認值。的默認值。36 6.2 Simulink仿真技術與仿真技術與S函數(shù)函數(shù)進行仿真實驗。單擊系統(tǒng)模型編輯器上的進行仿真實驗。單擊系統(tǒng)模型編輯器上的“ ”(Play)或選擇)或選擇Simulation菜單下的菜單下的Start便可以對系統(tǒng)進行仿真分析。仿真結束后雙擊便可以對系統(tǒng)進行仿真分析。仿真結束后雙擊Scope模塊可顯示系統(tǒng)仿真的輸出結果,如圖所示。模塊可顯示系統(tǒng)仿真
28、的輸出結果,如圖所示。n如果在仿真過程結束之前,用戶想停止此如果在仿真過程結束之前,用戶想停止此次仿真,可選擇菜單選項次仿真,可選擇菜單選項SimulationStop停止仿真。停止仿真。37 6.2 Simulink仿真技術與仿真技術與S函數(shù)函數(shù)在這里做幾點說明:在這里做幾點說明:1)如果需要多個同樣的模塊時,可使用鼠標右如果需要多個同樣的模塊時,可使用鼠標右鍵單擊并拖動庫中的基本模塊進行拷貝。鍵單擊并拖動庫中的基本模塊進行拷貝。2)如果需要在信號連線上插入一個單輸入單輸如果需要在信號連線上插入一個單輸入單輸出模塊,只需將這個模塊移到線上就可以完成出模塊,只需將這個模塊移到線上就可以完成自動
29、插入,對于非單輸入單輸出的模塊,只能自動插入,對于非單輸入單輸出的模塊,只能先刪除連線,然后放置該塊,并重新連線。先刪除連線,然后放置該塊,并重新連線。3) 若需要從某模塊中引出若干連線若需要從某模塊中引出若干連線,可使用鼠可使用鼠標右鍵單擊需要分支信號的連線,使光標變成標右鍵單擊需要分支信號的連線,使光標變成“+”后,拖動到目標模塊。后,拖動到目標模塊。38 6.2 Simulink仿真技術與仿真技術與S函數(shù)函數(shù)4) 若模塊的輸入輸出方向與建立系統(tǒng)的信號流動方向不同,可將鼠標停在若模塊的輸入輸出方向與建立系統(tǒng)的信號流動方向不同,可將鼠標停在模塊上,點擊右鍵,選擇模塊上,點擊右鍵,選擇Form
30、at中的中的Flip Block功能可實現(xiàn)模塊水平翻轉,功能可實現(xiàn)模塊水平翻轉,或或Rotate Block功能進行逆時針功能進行逆時針90旋轉。旋轉。5) 用鼠標左鍵單擊模塊名稱,進入編輯狀態(tài)然后鍵入新的名稱,即可完成用鼠標左鍵單擊模塊名稱,進入編輯狀態(tài)然后鍵入新的名稱,即可完成對模塊的重新命名。對模塊的重新命名。39 6.2 Simulink仿真技術與仿真技術與S函數(shù)函數(shù)6) 在創(chuàng)建大型復雜系統(tǒng)模型需要添加信號標簽時,具體做在創(chuàng)建大型復雜系統(tǒng)模型需要添加信號標簽時,具體做法是用鼠標左鍵雙擊需要加入標簽的信號(即系統(tǒng)模型中法是用鼠標左鍵雙擊需要加入標簽的信號(即系統(tǒng)模型中與信號相對應的模塊連
31、線),系統(tǒng)會彈出標簽編輯框,在與信號相對應的模塊連線),系統(tǒng)會彈出標簽編輯框,在對話框中鍵入標簽文本即可。對話框中鍵入標簽文本即可。40 6.2 Simulink仿真技術與仿真技術與S函數(shù)函數(shù) 下圖所示的仿真過程是在系統(tǒng)默認仿真參數(shù)條件下完成的,但是有時候系統(tǒng)默認仿真參數(shù)并不能得到理想的仿真結果,需要對系統(tǒng)仿真參數(shù)做調整。41 6.2 Simulink仿真技術與仿真技術與S函數(shù)函數(shù)1仿真參數(shù)的設定仿真參數(shù)的設定在如下圖在如下圖 Simulink仿真模型編譯器界面下,選擇菜仿真模型編譯器界面下,選擇菜單選項單選項SimulationConfiguration Parameters,將顯,將顯示如
32、圖所示的仿真參數(shù)對話框。示如圖所示的仿真參數(shù)對話框。42 6.2 Simulink仿真技術與仿真技術與S函數(shù)函數(shù)設置仿真時間非常重要,它決定了模型仿真的時間或取值區(qū)域,其設置完全根據(jù)待仿真系統(tǒng)的特性來確定,反映在輸出顯示上就是示波器的橫軸坐標值的取值范圍。“Start time”和“Stop time”項分別用以設置仿真開始時間(或取值區(qū)域下限)和終止時間(或取值區(qū)域上限),默認值分別為0.0和10.0s。(1)設置仿真時間設置仿真時間43 6.2 Simulink仿真技術與仿真技術與S函數(shù)函數(shù) 在在Simulink的仿真過程中的仿真過程中選擇合適的算法是很重要的選擇合適的算法是很重要的。仿真
33、算法是求常微分方程、傳遞函數(shù)、狀態(tài)方程解的數(shù)值仿真算法是求常微分方程、傳遞函數(shù)、狀態(tài)方程解的數(shù)值計算方法,主要有計算方法,主要有歐拉法(歐拉法(Eular)、阿達姆斯法)、阿達姆斯法(Adams)和龍格)和龍格-庫塔法(庫塔法(Runge-Kutta)。由于動態(tài)系。由于動態(tài)系統(tǒng)的差異性,使得某種算法對某類問題比較有效,而另外統(tǒng)的差異性,使得某種算法對某類問題比較有效,而另外算法對另一類問題更有效。因此,對不同的問題,可以選算法對另一類問題更有效。因此,對不同的問題,可以選擇不同的適應算法和相應的參數(shù),以得到更準確、快速的擇不同的適應算法和相應的參數(shù),以得到更準確、快速的解。解。(2)選擇仿真算
34、法選擇仿真算法44 6.2 Simulink仿真技術與仿真技術與S函數(shù)函數(shù) 根據(jù)仿真步長,根據(jù)仿真步長,Simulink中提供的常微分方程數(shù)值計中提供的常微分方程數(shù)值計算的算法大致可以分兩類:算的算法大致可以分兩類:Variable Step(可變步長類算(可變步長類算法)法),在仿真過程中可以自動調整步長,開通過減小步長,在仿真過程中可以自動調整步長,開通過減小步長來提高計算的精度;來提高計算的精度;Fixed Step(固定步長類算法)(固定步長類算法),在仿,在仿真過程中采取基準采樣時間作為固定步長。一般地,使用真過程中采取基準采樣時間作為固定步長。一般地,使用變步長的自適應算法是比較好
35、的選擇。這類算法會按照設變步長的自適應算法是比較好的選擇。這類算法會按照設定的精確度在各積分段內自適應地尋找最大步長進行積分,定的精確度在各積分段內自適應地尋找最大步長進行積分,從而使得運算效率最高。從而使得運算效率最高。45 6.2 Simulink仿真技術與仿真技術與S函數(shù)函數(shù)3示波器的屬性設置示波器的屬性設置 Scope(示波器)模塊是(示波器)模塊是Simulink仿真中非常重要的一個仿真中非常重要的一個模塊,既可以顯示仿真結果,而且可以同時保存波形數(shù)據(jù),模塊,既可以顯示仿真結果,而且可以同時保存波形數(shù)據(jù),是人機交互的重要手段。是人機交互的重要手段。46 6.2 Simulink仿真技
36、術與仿真技術與S函數(shù)函數(shù) 雙擊示波器模塊圖標,即可彈出示波器的窗口界面,雙擊示波器模塊圖標,即可彈出示波器的窗口界面,如圖所示,在此可進行屬性設置。如圖所示,在此可進行屬性設置。47 6.2 Simulink仿真技術與仿真技術與S函數(shù)函數(shù) 點擊點擊“示波器參數(shù)示波器參數(shù)”按鍵,彈出示波器參數(shù)設置界面,按鍵,彈出示波器參數(shù)設置界面,其中有兩個功能,分別是其中有兩個功能,分別是General(常規(guī))功能和(常規(guī))功能和Data history(數(shù)據(jù))功能,如圖所示。(數(shù)據(jù))功能,如圖所示。 a)General功能界面功能界面 b)Data history功能界面功能界面48 6.2 Simulin
37、k仿真技術與仿真技術與S函數(shù)函數(shù) 在在Gencral(常規(guī))功能中,可以進行的設置有:(常規(guī))功能中,可以進行的設置有:Number of Axes(坐標個數(shù))、(坐標個數(shù))、Time range(時間范(時間范圍)、圍)、Tick labels(單位標簽)、(單位標簽)、Sampling(采樣)(采樣)等。等。 在在Data history(數(shù)據(jù))功能中,可以進行的設(數(shù)據(jù))功能中,可以進行的設置有:置有:Limit data points to last(僅顯示最新的數(shù)(僅顯示最新的數(shù)據(jù))、據(jù))、Save data to workspace(保存數(shù)據(jù)至工作(保存數(shù)據(jù)至工作間)。間)。49
38、6.2 Simulink仿真技術與仿真技術與S函數(shù)函數(shù) 在示波器窗口的圖形顯示區(qū)域內單擊鼠標右鍵,選擇在示波器窗口的圖形顯示區(qū)域內單擊鼠標右鍵,選擇“Axes properties”功能,可彈出一個名為功能,可彈出一個名為“scope properties:axisl”的軸的軸屬性設置界面,在此進行坐標屬性設置界面,在此進行坐標y的最大值與最小值的設置,用的最大值與最小值的設置,用Title項來給顯示信號命名,如圖所示。項來給顯示信號命名,如圖所示。50 6.2 Simulink仿真技術與仿真技術與S函數(shù)函數(shù)6.2.2 S函數(shù)函數(shù) 在實際的應用中,通常會有用戶自己所需的具有獨特在實際的應用中,
39、通常會有用戶自己所需的具有獨特功能的模塊,用功能的模塊,用Simulink所提供的基本模塊無法實現(xiàn),這所提供的基本模塊無法實現(xiàn),這時可以使用時可以使用Simulink支持的支持的S-函數(shù)格式,用函數(shù)格式,用MATLAB語言語言或或C語言編程序,構成語言編程序,構成S-函數(shù)模塊,像標準的函數(shù)模塊,像標準的Simulink模塊模塊那樣直接調用。實際上那樣直接調用。實際上Simulink許多模塊所包含的算法均許多模塊所包含的算法均是由是由S-函數(shù)寫的,用戶也可以編寫自己的函數(shù)寫的,用戶也可以編寫自己的S-函數(shù),然后進函數(shù),然后進行封裝便可得到具有特定功能的定制模塊。但是行封裝便可得到具有特定功能的定
40、制模塊。但是S-函數(shù)的函數(shù)的使用與一般函數(shù)相比復雜的多。使用與一般函數(shù)相比復雜的多。51 6.2 Simulink仿真技術與仿真技術與S函數(shù)函數(shù)1S函數(shù)的基本概念函數(shù)的基本概念 S-函數(shù)是系統(tǒng)函數(shù)(函數(shù)是系統(tǒng)函數(shù)(System Function)的簡稱,是指采)的簡稱,是指采用用非圖形化的方式非圖形化的方式(即計算機語言,區(qū)別于(即計算機語言,區(qū)別于Simulink的系統(tǒng)模的系統(tǒng)模塊)描述的一個功能塊。用戶可以采用塊)描述的一個功能塊。用戶可以采用MATLAB代碼,代碼,C,C+,F(xiàn)ORTRAM等語言編寫等語言編寫S-函數(shù)。函數(shù)。 S-函數(shù)具有特定的語法結構,用來描述并實現(xiàn)連續(xù)系統(tǒng)、函數(shù)具有特
41、定的語法結構,用來描述并實現(xiàn)連續(xù)系統(tǒng)、離散系統(tǒng)以及復合系統(tǒng)等動態(tài)系統(tǒng);離散系統(tǒng)以及復合系統(tǒng)等動態(tài)系統(tǒng);S-函數(shù)能夠接受來自函數(shù)能夠接受來自Simulink求解器的相關信息,并對求解器發(fā)出的命令作出適當求解器的相關信息,并對求解器發(fā)出的命令作出適當?shù)捻憫@種交互作用非常類似于的響應,這種交互作用非常類似于Simulink系統(tǒng)模塊與求解器系統(tǒng)模塊與求解器的交互作用。的交互作用。52 6.2 Simulink仿真技術與仿真技術與S函數(shù)函數(shù) S-函數(shù)作為與其他語言相結合的接口,可以使用這個語函數(shù)作為與其他語言相結合的接口,可以使用這個語言所提供的強大能力。例如,言所提供的強大能力。例如,MATLAB
42、語言編寫的語言編寫的S-函數(shù)可函數(shù)可以充分利用以充分利用MATLAB所提供的豐富資源,方便地調用各種工所提供的豐富資源,方便地調用各種工具箱函數(shù)和圖形函數(shù);使用具箱函數(shù)和圖形函數(shù);使用C語言編寫的語言編寫的S-函數(shù)可以實現(xiàn)對操函數(shù)可以實現(xiàn)對操作系統(tǒng)的訪問,如實現(xiàn)與其他進程的通信和同步等。作系統(tǒng)的訪問,如實現(xiàn)與其他進程的通信和同步等。 用戶可能會有如下的疑問:用戶可能會有如下的疑問:Simulink已經(jīng)提供了大量的已經(jīng)提供了大量的內置的系統(tǒng)模塊,并且允許用戶自定義模塊,那么為何還要內置的系統(tǒng)模塊,并且允許用戶自定義模塊,那么為何還要使用使用S-函數(shù)呢?誠然,對于大多數(shù)動態(tài)系統(tǒng)仿真分析語言,函數(shù)呢
43、?誠然,對于大多數(shù)動態(tài)系統(tǒng)仿真分析語言,使用使用Simulink提供的模塊即可實現(xiàn),而無需使用提供的模塊即可實現(xiàn),而無需使用S-函數(shù)。函數(shù)。53 6.2 Simulink仿真技術與仿真技術與S函數(shù)函數(shù) 但是,當需要開發(fā)一個新的通用的模塊作為一個獨立但是,當需要開發(fā)一個新的通用的模塊作為一個獨立的功能單元時,使用的功能單元時,使用S-函數(shù)實現(xiàn)則是一種相當簡便的方法。函數(shù)實現(xiàn)則是一種相當簡便的方法。另外,由于另外,由于S-函數(shù)可以使用多種語言編寫,因此可以將已函數(shù)可以使用多種語言編寫,因此可以將已有的代碼結合進來,而不需要在有的代碼結合進來,而不需要在Simulink中重新實現(xiàn)算法,中重新實現(xiàn)算法
44、,從而在某種程度上實現(xiàn)了代碼移植。從而在某種程度上實現(xiàn)了代碼移植。 此外,在此外,在S-函數(shù)中使用文本方式輸入公式、方程,非函數(shù)中使用文本方式輸入公式、方程,非常適合復雜動態(tài)系統(tǒng)的數(shù)學描述,并且在仿真過程中可常適合復雜動態(tài)系統(tǒng)的數(shù)學描述,并且在仿真過程中可以對仿真進行更精確的控制。以對仿真進行更精確的控制。 54 6.2 Simulink仿真技術與仿真技術與S函數(shù)函數(shù)簡單地說,用戶可以從如下的幾個角度來理解簡單地說,用戶可以從如下的幾個角度來理解S-函數(shù):函數(shù):1. S-函數(shù)為函數(shù)為Simulink的的“系統(tǒng)系統(tǒng)”函數(shù)。函數(shù)。 2. 能夠響應能夠響應Simulink為求解器命令的函數(shù)。為求解器
45、命令的函數(shù)。3. 采用非圖形化的方法實現(xiàn)一個動態(tài)系統(tǒng)。采用非圖形化的方法實現(xiàn)一個動態(tài)系統(tǒng)。4. 可以開發(fā)新的可以開發(fā)新的Simulink模塊。模塊。 5. 可以與已有的代碼相結合進行仿真??梢耘c已有的代碼相結合進行仿真。 6. 采用文本方式輸入復雜的系統(tǒng)方程。采用文本方式輸入復雜的系統(tǒng)方程。 7. 擴展擴展Simulink功能。功能。M文件文件S-函數(shù)可以擴展圖形能力,函數(shù)可以擴展圖形能力,C MEX S-函數(shù)可以提供與操作系統(tǒng)的接口。函數(shù)可以提供與操作系統(tǒng)的接口。 8. S-函數(shù)的語法結構是為實現(xiàn)一個動態(tài)系統(tǒng)而設計的(默認用法)。函數(shù)的語法結構是為實現(xiàn)一個動態(tài)系統(tǒng)而設計的(默認用法)。55
46、6.2 Simulink仿真技術與仿真技術與S函數(shù)函數(shù)2與與S-函數(shù)相關的一些術語函數(shù)相關的一些術語(1)仿真例程(仿真例程(Routines)Simulink在仿真的特定階段調用對應的在仿真的特定階段調用對應的S-函數(shù)功能模塊(函函數(shù)功能模塊(函數(shù)),來完成不同的任務,如初始化、計算輸出、更新離散狀數(shù)),來完成不同的任務,如初始化、計算輸出、更新離散狀態(tài)、計算導數(shù)、結束仿真等,這些功能模塊(函數(shù))稱為仿真態(tài)、計算導數(shù)、結束仿真等,這些功能模塊(函數(shù))稱為仿真例程或者回調函數(shù)(例程或者回調函數(shù)(call back functions)。)。S-函數(shù)中的例程函數(shù)如下:函數(shù)中的例程函數(shù)如下:mdl
47、Initialization 初始化初始化mdlGetTimeofNextVarHit 計算下一個采樣點計算下一個采樣點mdlOutput 計算輸出計算輸出mdlUpdate 更新離散狀態(tài)更新離散狀態(tài)mdlDerivatives 計算導數(shù)計算導數(shù)mdlTerminate 結束仿真結束仿真56 6.2 Simulink仿真技術與仿真技術與S函數(shù)函數(shù)(2)直接饋通(直接饋通(Direct feedthrough) 直接饋通意味著在某一時刻的系統(tǒng)輸出直接饋通意味著在某一時刻的系統(tǒng)輸出y中包含某一時刻的中包含某一時刻的系統(tǒng)輸入系統(tǒng)輸入u時,或系統(tǒng)是一個變采樣時間系統(tǒng)(時,或系統(tǒng)是一個變采樣時間系統(tǒng)(v
48、ariable sample time system)且采樣時間計算與輸入)且采樣時間計算與輸入u相關時,需要直接饋通。相關時,需要直接饋通。time=(n*sample_time_value)+offset_time其中其中n表示第表示第n個采樣點。個采樣點。Simulink在每一個采樣點上調用在每一個采樣點上調用mdlOutput和和mdlUpdate例程。例程。 對于連續(xù)時間系統(tǒng)采樣時間和偏移量的值應該設置為零。對于連續(xù)時間系統(tǒng)采樣時間和偏移量的值應該設置為零。采樣時間還可以繼承自驅動模塊、目標模塊或者系統(tǒng)最小采樣采樣時間還可以繼承自驅動模塊、目標模塊或者系統(tǒng)最小采樣時間,這種情況下采樣
49、時間值應該設置為時間,這種情況下采樣時間值應該設置為-1,或者,或者INHERITED_SAMPLE_TIME。57 6.2 Simulink仿真技術與仿真技術與S函數(shù)函數(shù)(3)動態(tài)輸入(動態(tài)輸入(Dynamically sized inputs)S-函數(shù)支持動態(tài)可變維數(shù)的輸入。函數(shù)支持動態(tài)可變維數(shù)的輸入。S-函數(shù)的輸入變量函數(shù)的輸入變量u的維數(shù)決定于驅動的維數(shù)決定于驅動S-函數(shù)模塊的輸入信號的維數(shù)。函數(shù)模塊的輸入信號的維數(shù)。 58 6.2 Simulink仿真技術與仿真技術與S函數(shù)函數(shù)3S-函數(shù)的工作原理函數(shù)的工作原理(1)動態(tài)系統(tǒng)描述動態(tài)系統(tǒng)描述 在對動態(tài)系統(tǒng)建模時,總是能夠采用廣義的狀態(tài)
50、空間形在對動態(tài)系統(tǒng)建模時,總是能夠采用廣義的狀態(tài)空間形式進行表示。對無論是線性系統(tǒng)還是非線性系統(tǒng)進行描述式進行表示。對無論是線性系統(tǒng)還是非線性系統(tǒng)進行描述Simulink框圖的大部分模塊都具有一個輸入向量框圖的大部分模塊都具有一個輸入向量u、一個輸出、一個輸出向量向量y和一個狀態(tài)向量和一個狀態(tài)向量x,其中,其中x分為兩部分:連續(xù)狀態(tài)占據(jù)第分為兩部分:連續(xù)狀態(tài)占據(jù)第一部分,離散狀態(tài)占據(jù)第二部分,如圖所示。一部分,離散狀態(tài)占據(jù)第二部分,如圖所示。系統(tǒng)狀態(tài)空間系統(tǒng)狀態(tài)空間59 6.2 Simulink仿真技術與仿真技術與S函數(shù)函數(shù)(2)Simulink仿真的過程仿真的過程 Simulink的仿真過程
51、有初始化和仿真運行兩個階段組的仿真過程有初始化和仿真運行兩個階段組成,在初始化階段,主要功能是初始化所有的模塊,完成成,在初始化階段,主要功能是初始化所有的模塊,完成的工作有:將參數(shù)傳遞給的工作有:將參數(shù)傳遞給MATLAB進行求值、展開模型進行求值、展開模型的層次、檢查信號的寬度和連接、確定狀態(tài)初值和采樣時的層次、檢查信號的寬度和連接、確定狀態(tài)初值和采樣時間等。間等。 在仿真運行階段,完成的工作有:計算輸出、更新離在仿真運行階段,完成的工作有:計算輸出、更新離散狀態(tài)、計算連續(xù)狀態(tài)、計算輸出等。散狀態(tài)、計算連續(xù)狀態(tài)、計算輸出等。S-函數(shù)仿真流程如函數(shù)仿真流程如圖圖(c)所示,每個功能模塊都對應于
52、一個仿真例程。所示,每個功能模塊都對應于一個仿真例程。60 6.2 Simulink仿真技術與仿真技術與S函數(shù)函數(shù)圖圖(c) S-函數(shù)仿真流程函數(shù)仿真流程61 6.2 Simulink仿真技術與仿真技術與S函數(shù)函數(shù)4編寫編寫M文件文件S-函數(shù)函數(shù)(1)M文件文件S-函數(shù)的工作流程函數(shù)的工作流程 M文件文件S-函數(shù)和上節(jié)所介紹的函數(shù)和上節(jié)所介紹的S-函數(shù)仿真流函數(shù)仿真流程是一致的。它調用例程函數(shù)的順序是通過標志程是一致的。它調用例程函數(shù)的順序是通過標志Flag來控制的。圖來控制的。圖(d)給出了各仿真階段的標志值、給出了各仿真階段的標志值、變量值及其對應仿真例程。變量值及其對應仿真例程。 62
53、6.2 Simulink仿真技術與仿真技術與S函數(shù)函數(shù)圖圖(d) M文件文件S-函數(shù)流程函數(shù)流程63 6.2 Simulink仿真技術與仿真技術與S函數(shù)函數(shù)(2)M文件文件S-函數(shù)模板函數(shù)模板 Simulink為用戶編寫為用戶編寫S-函數(shù)提供了各種模板文件,函數(shù)提供了各種模板文件,其中定義了其中定義了S-函數(shù)完整的框架結構,用戶可以根據(jù)自己函數(shù)完整的框架結構,用戶可以根據(jù)自己的需要加以修改。的需要加以修改。 編寫編寫M文件文件S-函數(shù)時,推薦使用函數(shù)時,推薦使用S-函數(shù)模板文件函數(shù)模板文件sfuntmpl.m。這個文件是一個完整的。這個文件是一個完整的M文件文件S-函數(shù),它函數(shù),它包含包含1個
54、主函數(shù)和個主函數(shù)和6個子函數(shù)。個子函數(shù)。 在主函數(shù)內,程序根據(jù)標志變量在主函數(shù)內,程序根據(jù)標志變量Flag,將執(zhí)行流程,將執(zhí)行流程轉移到相應的子函數(shù),即例程函數(shù)。轉移到相應的子函數(shù),即例程函數(shù)。Flag標志量作為主標志量作為主函數(shù)的參數(shù)由系統(tǒng)(函數(shù)的參數(shù)由系統(tǒng)(Simulink引擎)調用時給出。引擎)調用時給出。64 6.2 Simulink仿真技術與仿真技術與S函數(shù)函數(shù) 若要打開模板文件,可在若要打開模板文件,可在MATLAB命令窗口輸入命令窗口輸入“edit sfuntmpl”命令,命令,模板如下:模板如下:function sys,x0,str,ts = sfuntmpl(t,x,u,f
55、lag)switch flag, case 0, sys,x0,str,ts=mdlInitializeSizes;case 1, sys=mdlDerivatives(t,x,u);case 2, sys=mdlUpdate(t,x,u);case 3, sys=mdlOutputs(t,x,u);case 4, sys=mdlGetTimeOfNextVarHit(t,x,u); case 9, sys=mdlTerminate(t,x,u);otherwise error(Unhandled flag = ,num2str(flag);end65 6.2 Simulink仿真技術與仿真技
56、術與S函數(shù)函數(shù)function sys,x0,str,ts=mdlInitializeSizessizes = simsizes; % 生成sizes數(shù)據(jù)結構 sizes.NumContStates = 0; % 連續(xù)狀態(tài)數(shù),缺省為 0sizes.NumDiscStates = 0; % 離散狀態(tài)數(shù),缺省為 0sizes.NumOutputs = 0; % 輸出量個數(shù),缺省為 0sizes.NumInputs = 0; % 輸入量個數(shù),缺省為 0sizes.DirFeedthrough = 1; %是否存在直接饋通。1:存在;0:不存在,缺省為 1。sizes.NumSampleTimes =
57、 1; % 采樣時間個數(shù),至少是一個sys = simsizes(sizes); % 返回sizes數(shù)據(jù)結構所包含的信息66 6.2 Simulink仿真技術與仿真技術與S函數(shù)函數(shù)% initialize the initial conditionsx0 = ; % 設置初始狀態(tài)str = ; % 保留變量置空ts = 0 0; % 采樣時間:采樣周期 偏移量,采樣周期為0表示是連續(xù)系統(tǒng)計算導數(shù)例程子函數(shù):給定 t,x,u, 計算連續(xù)狀態(tài)的導數(shù),用戶應該在此給出系統(tǒng)的連續(xù)狀態(tài)方程。該子函數(shù)可以不存在。67 6.2 Simulink仿真技術與仿真技術與S函數(shù)函數(shù)function sys=mdlD
58、erivatives(t,x,u) sys = ; % sys 表示狀態(tài)導數(shù),即dx。狀態(tài)更新例程子函數(shù):給定 t,x,u, 計算離散狀態(tài)的更新。每個仿真步長必然調用該子函數(shù),不論是否有意義。用戶除了在此描述系統(tǒng)的離散狀態(tài)方程外,還可以填入其它每個仿真步長都有必要執(zhí)行的代碼function sys=mdlUpdate(t,x,u) sys = ; % sys 表示下一個離散狀態(tài) 即 x(k+1)。計算輸出例程子函數(shù):給定 t,x,u, 計算輸出。該子函數(shù)必須存在,用戶可以在此描述系統(tǒng)的輸出方程68 6.2 Simulink仿真技術與仿真技術與S函數(shù)函數(shù)function sys=mdlOutpu
59、ts(t,x,u) sys = ; % sys 表示下輸出,即y。計算下一個采樣時間,僅在系統(tǒng)是變采樣時間系統(tǒng)時調用function sys=mdlGetTimeOfNextVarHit(t,x,u) sampleTime = 1; %設置下一次的采樣時間是1s以后sys = t + sampleTime; %sys 表示下一個采樣時間點。 %仿真結束時要調用的例程函數(shù),在仿真結束時調用,用戶可以在此完成結束仿真所需的必要工作69 6.2 Simulink仿真技術與仿真技術與S函數(shù)函數(shù) 程序的前程序的前17行是主程序,下面的程序是需要用戶根據(jù)仿真行是主程序,下面的程序是需要用戶根據(jù)仿真要求進行
60、充實的子程序。要求進行充實的子程序。 主函數(shù)包含四個輸出:主函數(shù)包含四個輸出:sys 數(shù)組包含某個子函數(shù)返回的值,數(shù)組包含某個子函數(shù)返回的值,它的含義隨著調用子函數(shù)的不同而不同;它的含義隨著調用子函數(shù)的不同而不同;x0 為所有狀態(tài)的初為所有狀態(tài)的初始化向量;始化向量;str是保留參數(shù),總是一個空矩陣;是保留參數(shù),總是一個空矩陣;Ts返回系統(tǒng)采樣返回系統(tǒng)采樣時間。注意在編寫自己的時間。注意在編寫自己的S-函數(shù)時,應該把函數(shù)名函數(shù)時,應該把函數(shù)名sfuntmpl改改為為S-function塊中對應的函數(shù)名。塊中對應的函數(shù)名。 初始化例程子函數(shù)是必須存在的子函數(shù),在初始化階段,初始化例程子函數(shù)是必須存在的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鄭州美術學院《StatisticsandDataAnalysisintheEarthSciences》2023-2024學年第二學期期末試卷
- 吉林外國語大學《中外建筑藝術》2023-2024學年第一學期期末試卷
- 供應鏈質量控制中關鍵零部件供應商的管理
- 公司員工行為規(guī)范管理制度
- 昌都保溫施工方案招標
- 箱梁合龍施工方案
- 重慶市部分區(qū)2024-2025學年高二(上)期末生物試卷(含解析)
- 自動扶梯裝飾施工方案
- 北京市昌平區(qū)2024-2025學年高三上學期期末考試生物試題(含解析)
- 方管梁柱施工方案
- 《槍炮、病菌與鋼鐵》-基于地理視角的歷史解釋(沐風學堂)
- 水泥粉磨工藝(行業(yè)經(jīng)驗)
- 國家自然科學基金(NSFC)申請書樣本
- 畢業(yè)設計(論文)-助力式下肢外骨骼機器人的結構設計
- 鋁塑板檢驗報告加圖標
- 觀摩臺標準化建設方案
- 常見出入境證件鑒別
- 銅排理論公斤重量
- 山姆會員店要求與規(guī)格(共19頁)
- 壓瘡醫(yī)學護理課件
- 員民主評議測評表(最新模板)
評論
0/150
提交評論