創建簡單模型 您可以使用 Simulink® 對系統建模,然後模擬該系統的動態行為。Simulink 允許您創建模塊圖,圖中的各個連接模塊代表系統的各個部分,信號代表這些模塊之間的輸入/輸出關係。Simulink 的主要功能是對系統各個組件隨時間流逝的行為變化進行模擬。簡單來講就是:採用一個時鐘,按 ...
創建簡單模型
您可以使用 Simulink® 對系統建模,然後模擬該系統的動態行為。Simulink 允許您創建模塊圖,圖中的各個連接模塊代表系統的各個部分,信號代表這些模塊之間的輸入/輸出關係。Simulink 的主要功能是對系統各個組件隨時間流逝的行為變化進行模擬。簡單來講就是:採用一個時鐘,按時間確定各個模塊的模擬順序,併在模擬過程中依次將在上一個模塊圖中計算得出的輸出傳播到下一個模塊,直至最後一個模塊。假設有一個打開加熱器的開關。在每個時間步中,Simulink 必須計算開關的輸出,將該輸出傳播到加熱器,然後計算熱量輸出。
通常,組件的輸入對其輸出的影響不是瞬時的。例如,打開加熱器不會導致溫度立即發生變化。該動作為微分方程提供輸入,歷史溫度(一個狀態)也是一個輸入因數。當模塊圖的模擬需要求解微分或差分方程時,Simulink 使用記憶體和數值求解器來計算時間步的狀態值。
Simulink 處理三類數據:
-
信號 - 在模擬期間計算的模塊輸入和輸出
-
狀態 - 在模擬期間中計算的代表模塊動態的內部值
-
參數 - 影響模塊行為的值,由用戶控制
在每個時間步,Simulink 都計算信號和狀態的新值。相比之下,您可以在編譯模型時指定參數,並且可以在模擬運行時偶爾更改它們。
模型概述
本教程中創建簡單模型所使用的基本方法也適用於創建更複雜的模型。此示例模擬的是在踩下加速踏板後簡化的汽車運動。
Simulink 模塊是定義模塊輸入和模塊輸出之間數學關係的模型元素。要創建這個簡單模型,您需要四個 Simulink 模塊。
模塊名稱 | 模塊目的 | 模型目的 |
---|---|---|
Pulse Generator | 為模型生成輸入信號 | 模擬加速踏板 |
Gain | 將輸入信號乘以一個因數 | 模擬踩下加速踏板對汽車加速所造成的影響 |
Integrator, Second-Order | 對輸入信號執行二次積分 | 根據加速度計算汽車位置 |
Outport | 將信號指定為模型的輸出 | 將位置指定為模型的輸出 |
此模型的模擬過程是將一個簡短的脈衝信號積分兩次,形成一個斜坡信號,然後將結果顯示在一個示波器視窗中。輸入脈衝表示踩下汽車的加速踏板,輸出斜坡表示與起點的距離增加。
打開新模型
使用 Simulink Editor 構建模型。
-
啟動 MATLAB®。從 MATLAB 工具條上,點擊 Simulink 按鈕 。
-
點擊 Blank Model 模板。
Simulink Editor 打開。
-
從 File 菜單中,選擇 Save as。在 File name 文本框中,輸入您的模型的名稱,例如
simple_model
。點擊
打開 Simulink Library Browser
Simulink 在 Library Browser 中提供了一系列按功能分類的模塊庫。下麵是大多數工作流常用的一些模塊庫:
-
Continuous - 連續狀態系統的構建模塊
-
Discrete - 離散狀態系統的構建模塊
-
Math Operations - 實現代數和邏輯方程的模塊
-
Sinks - 存儲並顯示所連接信號的模塊
-
Sources - 生成模型的驅動信號值的模塊
-
從 Simulink Editor 工具欄上,點擊 Library Browser 按鈕 。
-
將 Library Browser 設置為始終在其他桌面視窗前端。在 Library Browser 工具欄中,選擇 Stay on top 按鈕 。
要瀏覽模塊庫,請從左窗格中選擇一個 MathWorks® 產品,然後選擇一個功能區。要搜索所有可用的模塊庫,請輸入搜索詞。
例如,查找 Pulse Generator 模塊。在瀏覽器工具欄的搜索框中輸入 pulse
,然後按 Enter 鍵。Simulink 將在模塊庫中搜索名稱或說明中包含 pulse
的模塊,然後顯示這些模塊。
獲取模塊的詳細信息。右鍵點擊某個模塊,然後選擇
模塊通常有幾個參數。您可以通過雙擊該模塊來訪問所有參數。
將模塊添加到模型
要開始構建模型,請瀏覽庫並添加模塊。
-
從 Sources 庫中,將 Pulse Generator 模塊拖到 Simulink Editor 中。您的模型中將出現 Pulse Generator 模塊的副本,還有一個文本框用於輸入 Amplitude 參數的值。輸入
1
。參數值在整個模擬過程中保持不變。
-
使用相同的方法將以下模塊添加到模型中。
模塊 庫 參數 Gain
Simulink/Math Operations
Gain:
2
Integrator, Second Order
Simulink/Continuous
Initial condition:
0
Outport
Simulink/Sinks
Port number:1
通過右鍵點擊並拖動一個現有 Outport 模塊,添加第二個 Outport 模塊。
現在您的模型應該具有所需的全部模塊了。
-
通過點擊並拖動每個模塊來按如下方式排列模塊。要調整模塊大小,請點擊並拖動一個角。
連接模塊
通過在輸出埠和輸入埠之間創建線條來連接模塊。
-
點擊 Pulse Generator 模塊右側的輸出埠。
該輸出埠和所有可供連接的輸入埠都將突出顯示。
-
點擊 Gain 模塊的輸入埠。
Simulink 用線條連接模塊,並用箭頭表示信號流的方向。
-
將 Gain block 的輸出埠連接到 Integrator, Second Order 模塊的輸入埠。
-
將 Integrator, Second Order 模塊的兩個輸出連接到兩個 Outport 模塊。
-
保存模型。選擇
您的模型搭建完成。
添加信號查看器
要查看結果,請將第一個輸出連接到一個 Signal Viewer。
通過右鍵點擊信號來訪問上下文菜單。選擇
您可以隨時通過雙擊該圖標打開查看器。
運行模擬
定義配置參數後,即可進行模型模擬。
-
在模型視窗上,通過更改工具欄上的值來設置模擬停止時間。
預設停止時間
10.0
適合此模型。此時間值沒有單位。Simulink 中的時間單位取決於方程的構造方式。此示例對簡化的汽車運動進行為時 10 秒的模擬。 -
要運行模擬,請點擊
模擬運行併在查看器上生成輸出。
關註公眾號: MATLAB基於模型的設計 (ID:xaxymaker) ,每天推送MATLAB學習最常見的問題,每天進步一點點,業精於勤荒於嬉。
打開微信掃一掃哦!