simulink創建簡單模型

来源:https://www.cnblogs.com/52geek/archive/2019/03/01/10458482.html
-Advertisement-
Play Games

創建簡單模型 您可以使用 Simulink® 對系統建模,然後模擬該系統的動態行為。Simulink 允許您創建模塊圖,圖中的各個連接模塊代表系統的各個部分,信號代表這些模塊之間的輸入/輸出關係。Simulink 的主要功能是對系統各個組件隨時間流逝的行為變化進行模擬。簡單來講就是:採用一個時鐘,按 ...


創建簡單模型

您可以使用 Simulink® 對系統建模,然後模擬該系統的動態行為。Simulink 允許您創建模塊圖,圖中的各個連接模塊代表系統的各個部分,信號代表這些模塊之間的輸入/輸出關係。Simulink 的主要功能是對系統各個組件隨時間流逝的行為變化進行模擬。簡單來講就是:採用一個時鐘,按時間確定各個模塊的模擬順序,併在模擬過程中依次將在上一個模塊圖中計算得出的輸出傳播到下一個模塊,直至最後一個模塊。假設有一個打開加熱器的開關。在每個時間步中,Simulink 必須計算開關的輸出,將該輸出傳播到加熱器,然後計算熱量輸出。

通常,組件的輸入對其輸出的影響不是瞬時的。例如,打開加熱器不會導致溫度立即發生變化。該動作為微分方程提供輸入,歷史溫度(一個狀態)也是一個輸入因數。當模塊圖的模擬需要求解微分或差分方程時,Simulink 使用記憶體和數值求解器來計算時間步的狀態值。

Simulink 處理三類數據:

  • 信號 - 在模擬期間計算的模塊輸入和輸出

  • 狀態 - 在模擬期間中計算的代表模塊動態的內部值

  • 參數 - 影響模塊行為的值,由用戶控制

 

在每個時間步,Simulink 都計算信號和狀態的新值。相比之下,您可以在編譯模型時指定參數,並且可以在模擬運行時偶爾更改它們。

模型概述

 

本教程中創建簡單模型所使用的基本方法也適用於創建更複雜的模型。此示例模擬的是在踩下加速踏板後簡化的汽車運動。

Simulink 模塊是定義模塊輸入和模塊輸出之間數學關係的模型元素。要創建這個簡單模型,您需要四個 Simulink 模塊。

模塊名稱模塊目的模型目的
Pulse Generator 為模型生成輸入信號 模擬加速踏板
Gain 將輸入信號乘以一個因數 模擬踩下加速踏板對汽車加速所造成的影響
Integrator, Second-Order 對輸入信號執行二次積分 根據加速度計算汽車位置
Outport 將信號指定為模型的輸出 將位置指定為模型的輸出

 

此模型的模擬過程是將一個簡短的脈衝信號積分兩次,形成一個斜坡信號,然後將結果顯示在一個示波器視窗中。輸入脈衝表示踩下汽車的加速踏板,輸出斜坡表示與起點的距離增加。

打開新模型

 

使用 Simulink Editor 構建模型。

  1. 啟動 MATLAB®。從 MATLAB 工具條上,點擊 Simulink 按鈕 

  2. 點擊 Blank Model 模板。

    Simulink Editor 打開。

  3. 從 File 菜單中,選擇 Save as。在 File name 文本框中,輸入您的模型的名稱,例如 simple_model。點擊 Save。模型使用文件擴展名 .slx 進行保存。

打開 Simulink Library Browser

 

Simulink 在 Library Browser 中提供了一系列按功能分類的模塊庫。下麵是大多數工作流常用的一些模塊庫:

  • Continuous - 連續狀態系統的構建模塊

  • Discrete - 離散狀態系統的構建模塊

  • Math Operations - 實現代數和邏輯方程的模塊

  • Sinks - 存儲並顯示所連接信號的模塊

  • Sources - 生成模型的驅動信號值的模塊

 

  1. 從 Simulink Editor 工具欄上,點擊 Library Browser 按鈕 

  2. 將 Library Browser 設置為始終在其他桌面視窗前端。在 Library Browser 工具欄中,選擇 Stay on top 按鈕 

要瀏覽模塊庫,請從左窗格中選擇一個 MathWorks® 產品,然後選擇一個功能區。要搜索所有可用的模塊庫,請輸入搜索詞。

例如,查找 Pulse Generator 模塊。在瀏覽器工具欄的搜索框中輸入 pulse,然後按 Enter 鍵。Simulink 將在模塊庫中搜索名稱或說明中包含 pulse 的模塊,然後顯示這些模塊。

獲取模塊的詳細信息。右鍵點擊某個模塊,然後選擇 Help for the Pulse Generator block。Help 瀏覽器隨即打開並顯示該模塊的參考頁。

模塊通常有幾個參數。您可以通過雙擊該模塊來訪問所有參數。

將模塊添加到模型

 

要開始構建模型,請瀏覽庫並添加模塊。

  1. 從 Sources 庫中,將 Pulse Generator 模塊拖到 Simulink Editor 中。您的模型中將出現 Pulse Generator 模塊的副本,還有一個文本框用於輸入 Amplitude 參數的值。輸入 1

    參數值在整個模擬過程中保持不變。

  2. 使用相同的方法將以下模塊添加到模型中。

     

    模塊參數
    Gain Simulink/Math Operations

    Gain: 2

    Integrator, Second Order Simulink/Continuous

    Initial condition: 0

    Outport Simulink/Sinks

    Port number:1

     

    通過右鍵點擊並拖動一個現有 Outport 模塊,添加第二個 Outport 模塊。

    現在您的模型應該具有所需的全部模塊了。

  3. 通過點擊並拖動每個模塊來按如下方式排列模塊。要調整模塊大小,請點擊並拖動一個角。

 

連接模塊

 

通過在輸出埠和輸入埠之間創建線條來連接模塊。

  1. 點擊 Pulse Generator 模塊右側的輸出埠。

    該輸出埠和所有可供連接的輸入埠都將突出顯示。

     

  2. 點擊 Gain 模塊的輸入埠。

    Simulink 用線條連接模塊,並用箭頭表示信號流的方向。

     

  3. 將 Gain block 的輸出埠連接到 Integrator, Second Order 模塊的輸入埠。

  4. 將 Integrator, Second Order 模塊的兩個輸出連接到兩個 Outport 模塊。

  5. 保存模型。選擇 File > Save 併為模型指定一個文件名。

     

     

您的模型搭建完成。

添加信號查看器

 

要查看結果,請將第一個輸出連接到一個 Signal Viewer。

通過右鍵點擊信號來訪問上下文菜單。選擇 Create & Connect Viewer > Simulink > Scope。這會在信號上創建查看器圖標並打開查看器顯示屏。

您可以隨時通過雙擊該圖標打開查看器。

運行模擬

定義配置參數後,即可進行模型模擬。

  1. 在模型視窗上,通過更改工具欄上的值來設置模擬停止時間。

    預設停止時間 10.0 適合此模型。此時間值沒有單位。Simulink 中的時間單位取決於方程的構造方式。此示例對簡化的汽車運動進行為時 10 秒的模擬。

  2. 要運行模擬,請點擊 Run 模擬按鈕 

 

模擬運行併在查看器上生成輸出。

 

關註公眾號: MATLAB基於模型的設計 (ID:xaxymaker) ,每天推送MATLAB學習最常見的問題,每天進步一點點,業精於勤荒於嬉

 打開微信掃一掃哦!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1 private void ShowForm(Form Indexform) 2 { 3 Form1 form1 = new Form1(); 4 form1 .TopLevel = false; 5 form1 .Parent = Indexform; 6 form1 .BringToFront... ...
  • 地址鏈接:https://pan.baidu.com/s/1AW9bLHM1sZ8E_0SFWFD4ww 提取碼:ze9p ...
  • 原文: lesson 1 Excuse me! Excuse me! Yes? Is this your handbag? Pardon? Is this your handbag? Yes it is.Thank you very much! 知識: Pardon? 原句:I beg your p ...
  • 當我們需要結合企業微信和業務系統的時候,我們需要建立一個企業微信應用,然後在微信管理後臺中綁定對應參數,這樣可以利用企業微信的服務端API對接相關的功能,包括提交菜單,以及獲取對應的企業微信組織機構、發送消息等常規操作;而業務系統則可以把對應的業務流程和企業微信進行對接,包括消息的推送,以及利用JS... ...
  • 今天,Visual Studio中沒有內置工具來測試WEB API。使用瀏覽器,只能測試http GET請求。您需要使用Postman,SoapUI,Fiddler或Swagger等第三方工具來執行WEB API的完整測試。在ASP.NET Core 2.2中,引入了一個名為“http-repl”的 ...
  • 我提供的腳本只是案例展示,真實場景需要自行修改。(正好我今天看到一個規範的bat腳本,我放出來,大家一起學習下) 要求:將20G的磁碟1,分出4G為主分區,4G擴展分區(2個2G邏輯分區) 試驗環境: 1.主機與其他多台計算都可以建立$IPC連接,主機上共用Disk目錄,其中放有: 2.在客戶端運行 ...
  • 一、bash 使用(for迴圈、while迴圈) 1.1、批量添加用戶 1.2、查看用戶是否存在 A、cut -d : -f 1 /etc/passwd B、id dream (id 用戶名稱) C、ll /home(查看用戶目錄) 1.3、批量刪除用戶(請謹慎操作) 1.4、批量查詢IP是否線上 ...
  • 我叫王龍龍,來自河南平頂山,初中畢業就去上了技校,當時也是特別迷茫,便隨大流選擇了汽修行業,學了一年就被分配出來在工廠實習上班,後來慢慢長大了,也懂事了,覺得工廠實在無聊,然後就自己辭職找工作,在鄭州漂泊了兩年,結果依然沒有任何的收穫和存款,就決心重新學習一門技術,提升自己的能力,以在社會上更好的生 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...