如何建立分类模型matlab,创建简单模型- MATLAB Simulink- MathWorks 中国
創建簡單模型
您可以使用 Simulink? 來對系統建模,然后仿真該系統的動態行為。本教程中創建簡單模型所使用的基本方法也適用于創建更復雜的模型。此示例對簡化的汽車運動進行仿真。當踩下油門踏板時,汽車通常處于行進狀態。松開踏板后,汽車怠速并停下來。
Simulink 模塊是定義模塊輸入和模塊輸出之間數學關系的模型元素。要創建這個簡單模型,您需要四個 Simulink 模塊。
模塊名稱模塊目的模型目的Pulse Generator為模型生成輸入信號表示加速踏板
Gain將輸入信號乘以常量值計算踩下加速踏板后如何影響汽車的加速度
Integrator, Second-Order將輸入信號積分兩次根據加速度計算汽車位置
Outport指定一個信號作為模型的輸出指定汽車位置做為模型的輸出
此模型的仿真過程是將一個簡短的脈沖信號積分兩次,形成一個斜坡。結果顯示在一個示波器窗口中。輸入脈沖表示是否踩下油門踏板 - 1 表示踩下,0 表示未踩下。輸出斜坡表示與起點之間的距離增加。打開新模型
使用 Simulink Editor 構建模型。
啟動 MATLAB?。在 MATLAB 工具條上,點擊 Simulink 按鈕 。
點擊 Blank Model 模板。
Simulink Editor 打開。
從 Simulation 選項卡中,選擇 Save > Save as。在 File name 文本框中,輸入您的模型的名稱。例如,simple_model。點擊 Save。模型使用文件擴展名 .slx 進行保存。打開 Simulink庫瀏覽器
Simulink 在庫瀏覽器中提供了一系列按功能分類的模塊庫。下面是大多數工作流常用的一些模塊庫:
Continuous - 表示具有連續狀態的系統的模塊
Discrete - 表示具有離散狀態的系統的模塊
Math Operations - 實現代數和邏輯方程的模塊
Sinks - 存儲并顯示所連接信號的模塊
Sources - 生成模型的驅動信號值的模塊
在 Simulation 選項卡中,點擊 Library Browser 按鈕 。
將庫瀏覽器設置為始終在其他桌面窗口前端。在 Simulink 庫瀏覽器工具欄上,選擇 Stay on top 按鈕 。
要瀏覽模塊庫,請從左窗格中選擇一個類別,然后選擇一個功能區。要搜索所有可用的模塊庫,請輸入搜索詞。
例如,查找 Pulse Generator 模塊。在瀏覽器工具欄的搜索框中輸入 pulse,然后按 Enter。Simulink 將在模塊庫中搜索名稱或說明中包含 pulse 的模塊,然后顯示這些模塊。
獲取模塊的詳細信息。右鍵點擊 Pulse Generator 模塊,然后選擇 Help for the Pulse Generator block。Help 瀏覽器隨即打開并顯示該模塊的參考頁。
模塊通常有幾個參數。您可以通過雙擊該模塊來訪問所有模塊參數。將模塊添加到模型
要開始構建模型,請瀏覽庫并添加模塊。
從 “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 模塊。
保存模型。在 Simulation 選項卡中,點擊 Save 按鈕。
添加信號查看器
要查看仿真結果,請將第一個輸出連接到一個 Signal
Viewer。
點擊信號。在 Simulation 選項卡中的 Prepare 下,點擊 Add Viewer。選擇 Scope。信號上會出現查看器圖標,并打開一個示波器窗口。
您可以隨時通過雙擊該圖標打開示波器。運行仿真
定義配置參數后,即可進行模型仿真。
在 Simulation 選項卡中,通過更改工具欄中的值來設置仿真停止時間。
默認停止時間 10.0 適合此模型。此時間值沒有單位。Simulink 中的時間單位取決于方程的構造方式。此示例對簡化的汽車運動進行 10 秒的仿真 - 其他模型的時間單位可以是毫秒或年。
要運行仿真,請點擊 Run 按鈕 。
仿真開始運行并在查看器中生成輸出。
細化模型
此示例使用現有模型 moving_car.slx,并基于此運動模型對接近傳感器建模。在這種情況下,數字傳感器用于測量汽車與 10 米(30 英尺)外的障礙物之間的距離。模型基于下列條件來輸出傳感器的測量值和汽車的位置值:
汽車在到達障礙物時會緊急剎車。
在現實世界中,傳感器對距離的測量不夠精確,從而導致隨機數值誤差。
數字傳感器以固定時間間隔運行。更改模塊參數
要開始,請打開 moving_car 模型。在 MATLAB 命令行中,輸入:
open_system('moving_car.slx')
您首先需要對在汽車位置到達 10 時的緊急剎車進行建模。Integrator, Second-Order 模塊有用于此目的的參數。
雙擊 Integrator, Second-Order 模塊。將出現 Block Parameters 對話框。
選擇 Limit x,然后為 Upper limit x 輸入 10。參數的背景色發生變化以指示模型存在未應用的修改。點擊 OK 應用更改并關閉對話框。添加新模塊和連接
添加一個用來測量與障礙物之間距離的傳感器。
修改模型。根據需要展開模型窗口,以容納新模塊。
求實際距離。要想求出障礙物位置和車輛位置之間的距離,需要從 “Math Operations” 庫中添加 Subtract 模塊。還要從 “Sources” 庫中添加 Constant 模塊來為障礙物的位置設置常量值 10。
對真實傳感器中常見的不完美測量進行建模。使用 “Sources” 庫中的 Band-Limited White Noise 模塊產生噪聲。將 Noise power 參數設置為 0.001。通過使用 “Math Operations” 庫中的 Add 模塊將噪聲添加到測量中。
對每 0.1 秒觸發一次的數字傳感器進行建模。在 Simulink 中,以給定時間間隔對信號進行采樣需要一個樣本和保持器。從 “Discrete” 庫中添加 Zero-Order
Hold 模塊。將該模塊添加到模型后,將 Sample Time 參數更改為 0.1。
添加另一個 Outport,用來連接傳感器輸出。保留 Port number 參數的默認值。
連接新模塊。Integrator,
Second-Order 模塊的輸出已連接到另一個端口。要在該信號中創建分支,請左鍵點擊該信號以突出顯示可供連接的端口,然后點擊適當的端口。
為信號添加注釋
將信號名稱添加到模型中。
雙擊信號并鍵入信號名稱。
要完成輸入,請點擊文本框外部。
重復上述步驟以添加下圖中所示的名稱。
比較多個信號
將 actual distance 信號與 measured distance 信號進行比較。
創建 Scope Viewer 并將其連接到 actual distance 信號。右鍵點擊信號并選擇 Create & Connect Viewer > Simulink > Scope。信號的名稱顯示在查看器標題中。
將 measured distance 信號添加到同一個查看器中。右鍵點擊信號,然后選擇 Connect to Viewer > Scope1。確保您連接到在上一步中創建的查看器。
運行模型。查看器顯示兩個信號:actual
distance(黃色)和 measured
distance(藍色)。
放大圖形以觀察噪聲和采樣的影響。點擊 Zoom 按鈕 。左鍵點擊并拖動鼠標框住您想放大查看的區域。
您可以反復放大以觀察細節。
從圖中可以看到,測量值可偏離實際值達 0.3 米之多。此信息在設計安全功能(例如碰撞警告)時非常有用。
另請參閱
模塊
相關主題
總結
以上是生活随笔為你收集整理的如何建立分类模型matlab,创建简单模型- MATLAB Simulink- MathWorks 中国的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java佳沃维洛奇,新品速递:JAVA
- 下一篇: MATLAB已知坐标均匀取电,基于MAT