- MATLAB Simulink 教程
- MATLAB Simulink - 首頁
- MATLAB Simulink - 簡介
- MATLAB Simulink - 環境設定
- MATLAB Simulink - 啟動 Simulink
- MATLAB Simulink - 模組
- MATLAB Simulink - 連線
- MATLAB Simulink - 構建和模擬模型
- MATLAB Simulink - 訊號處理
- MATLAB Simulink - 向訊號新增延遲
- MATLAB Simulink - 數學庫
- 構建模型並應用 If-else 邏輯
- MATLAB Simulink - 邏輯閘模型
- MATLAB Simulink - 正弦波
- MATLAB Simulink - 函式
- MATLAB Simulink - 建立子系統
- MATLAB Simulink - For 迴圈
- MATLAB Simulink - 匯出資料
- MATLAB Simulink - 指令碼
- 求解數學方程
- 一階微分方程
- MATLAB Simulink 有用資源
- MATLAB Simulink 快速指南
- MATLAB Simulink - 有用資源
- MATLAB Simulink - 討論
MATLAB Simulink 快速指南
MATLAB Simulink - 簡介
Simulink 是一個用於動態和嵌入式系統的模擬和基於模型的設計環境,它與 MATLAB 整合在一起。Simulink 由計算機軟體公司 MathWorks 開發。
它是一個數據流圖形程式語言工具,用於建模、模擬和分析多領域動態系統。它基本上是一個圖形化框圖工具,具有可自定義的模組庫集。
此外,它允許您將 MATLAB 演算法整合到模型中,並將模擬結果匯出到 MATLAB 中進行進一步分析。
Simulink 支援以下功能:系統級設計。
模擬。
自動程式碼生成。
嵌入式系統的測試和驗證。
要開始使用 Simulink,請在命令視窗中輸入 simulink,如下所示:
它將開啟 Simulink 頁面,如下所示:
您也可以使用 MATLAB 中的 Simulink 圖示來開始使用 Simulink:
啟動 Simulink 後,您將導航到如下所示的啟動頁面
在這裡,您可以建立自己的模型,也可以使用現有的模板。
單擊“空白模型”,您將獲得一個 Simulink 庫瀏覽器,可用於建立自己的模型。
空白模型的螢幕如下:
單擊“庫”,它將顯示 Simulink 庫,如下所示:
Simulink 庫瀏覽器包含許多庫。它提供常用的模組、連續模組、儀表盤模組、邏輯和位運算模組、數學運算模組等。
除此之外,您還將獲得其他庫列表,例如控制系統工具箱、DSP 系統工具箱等。
這是一個數學運算庫列表的示例:
它具有 Abs、Add、代數約束、賦值等功能,您可以在模型中使用。
以下是邏輯和位運算的示例:
MATLAB Simulink - 環境設定
MATLAB Simulink 是 MATLAB 的一個產品,要使用它,我們需要下載 MATLAB。
MATLAB 的官方網站是 https://www.mathworks.com/
您的螢幕上將出現以下頁面:
要下載 MATLAB,請訪問 https://in.mathworks.com/downloads/,如下所示。
MATLAB 不是免費下載的,您需要付費購買許可副本。稍後您可以下載它。
提供免費試用版,您需要為此建立相應的帳戶登入。建立帳戶後,他們允許您下載 MATLAB 以及 30 天試用許可證的線上版本。
完成從其網站建立登入後,下載 MATLAB 並安裝到您的系統上。然後,啟動 MATLAB,也可以使用它們的線上版本。
Simulink 內置於 MATLAB 中。安裝 MATLAB 後,您將獲得 Simulink,如下所示:
MATLAB Simulink - 啟動 Simulink
在本節中,我們將瞭解如何使用 Simulink 構建模型。
這是一個 MATLAB 顯示:
您可以透過在 MATLAB 命令視窗中使用 simulink 命令來啟動 Simulink,如下所示:
單擊 Enter 鍵開啟 Simulink 啟動頁面,如下所示:
您也可以直接透過單擊 MATLAB 介面上的 Simulink 圖示來開啟 Simulink,如下所示:
單擊 Simulink 圖示後,它將帶您進入 Simulink 啟動頁面,如下所示:
啟動頁面包含空白模型、子系統、庫,可從頭開始建立模型。
還有一些內建模板可以幫助使用者入門。
要建立模型,使用者可以單擊“空白模型”,它將顯示如下頁面:
單擊“儲存”以儲存您的模型。構建模型的模組位於 Simulink 庫瀏覽器中。
單擊庫瀏覽器,如下所示:
庫瀏覽器列出了所有型別的庫及其不同的模組,如下所示:
Simulink 中的庫
讓我們瞭解 Simulink 中一些常用的庫。
連續
連續模組庫提供與導數和積分相關的模組。模組列表如下:
儀表盤
使用儀表盤,您將獲得控制元件和指示器模組,有助於與模擬互動。您的計算機上將顯示以下螢幕:
不連續性
在這裡,您將獲得如下所示的不連續函式模組列表:
離散
在這裡,您將獲得如下所示的時間關係函式模組:
邏輯和位運算
在此類別中,您將獲得如下所示的所有邏輯和關係型模組:
查詢表
您將獲得所有正弦、餘弦函式模組,如下所示:
數學運算
所有數學運算,如加、絕對值、除、減都可用。列表如下:
訊息和事件
此模組包含所有與訊息/通訊相關的函式,如下所示:
模型驗證
此處的模組有助於自驗證模型,例如“檢查輸入解析度”。您的計算機上將顯示以下螢幕:
模型範圍實用程式
這將為您提供“模型資訊”、“模組支援表”等模組。您的計算機上將顯示以下螢幕:
埠和子系統
您將獲得諸如子系統、開關情況、啟用等模組。列表如下所示:
訊號屬性
修改訊號屬性模組,例如資料型別轉換。您的計算機上將顯示以下螢幕:
訊號路由
此類別中的模組用於路由訊號模組,例如匯流排建立器、開關等。您的計算機上將顯示以下螢幕:
接收器
此類別中的模組有助於顯示或匯出訊號資料模組,例如示波器和 To Workspace。您的計算機上將顯示以下螢幕:
源
它有助於生成或匯入資料模組。例如,正弦波。您的計算機上將顯示以下螢幕:
字串
此類別包含如下所示的字串相關模組:
使用者定義函式
自定義函式模組,例如 MATLAB 函式、MATLAB 系統、Simulink 函式和初始化函式。您的計算機上將顯示以下螢幕:
MATLAB Simulink - 模組
在本節中,我們將學習 Simulink 中的基本元素之一。這些被稱為模組。
Simulink 中的模組有助於建立模型。您可以使用 Simulink 庫瀏覽器,其中包含不同型別的模組來建立模型。
首先,開啟一個空白模型。顯示將如下所示:
您可以透過單擊“儲存”按鈕來儲存您的模型。因此,您的更改將成功儲存。現在,開啟庫瀏覽器以將模組新增到模型畫布中。
選擇模組的兩種方法如下:
使用 Simulink 瀏覽器庫。
在模型畫布內搜尋模組。
Simulink 瀏覽器庫
開啟 Simulink 庫瀏覽器,如下所示:
如果您正在尋找特定模組並且不知道哪個庫中包含,您可以在搜尋模組中搜索它,如下所示:
在這裡,我們獲得了所有與正弦相關的模組。您也可以進入庫並選擇您的模組。
新增模組、乘積模組等。顯示將如下所示:
要將模組新增到模型中,您可以選擇模組並將其拖動到模型中,如下所示:
另一種方法是右鍵單擊模組並新增到當前模型中。
下面給出了一個相同的示例:
我們尚未儲存模型。因此,它顯示為未命名。現在,您可以新增到未命名模型中。該模組將在您的模型中顯示。
在模型畫布內搜尋模組
向模型新增模組的另一種方法是在模型內單擊並鍵入模組的名稱。它將在庫瀏覽器中搜索並列出所有符合您鍵入內容的模型。
下面給出了一個相同的示例:
我們鍵入了“正弦”,它顯示了所有與正弦相關的模組。
MATLAB Simulink - 連線
在上一節中,我們學習了 Simulink 庫中提供的不同型別的模組。在本節中,我們將瞭解連線。
連線用於使用箭頭連線模組。每個模組都有其自身的輸入和輸出聯結器。模組之間的通訊將藉助連線進行。
讓我們用一個例子來理解這一點。從 Simulink 頁面選擇一個空白模型,如下所示:
它將開啟一個空白模型工作區,如下所示:
單擊 Simulink 庫瀏覽器以將一些模組拖動到模型工作區。
假設在模型中,我們要新增兩個給定的數字。因此,讓我們選擇“加法”模組、“顯示”模組和“常量”模組。
常量模組有一個輸出聯結器,“加法”模組有兩個輸入聯結器,“顯示”模組分別有一個輸入聯結器。您可以將連結從一個輸出拖動到另一個輸入,如下所示。
這裡,我們有兩個值為 10 和 20 的常量。它們透過連線連線到“加法”模組。“加法”模組透過連線連線到“顯示”模組。
連線連線後,顯示如下:
現在單擊“執行”以檢視“顯示”模組中的結果。它將新增 10 + 20,在“顯示”模組中給出結果 30。
MATLAB Simulink - 構建和模擬模型
我們已經看到了 Simulink 庫瀏覽器和庫列表中可用的模組。在本節中,我們將使用這些模組來構建一個簡單的正弦波模型。
開啟Simulink並點選空白模型,如下圖所示:
空白模型將開啟一個空白彈出視窗,如下圖所示:
現在,開啟Simulink庫瀏覽器,以便我們可以選擇模組。
您的電腦上將出現以下螢幕:
要將正弦波移動到您的模型中,請選擇該模組並將其拖動到模型工作區內。我們想顯示正弦波,這裡我們在模型工作區中使用了四個正弦波,如下圖所示:
現在我們想顯示訊號的輸出,所以讓我們從Sink庫中使用一個示波器模組,如下圖所示:
現在選擇並將示波器模組拖動到模型工作區內。
正弦波有一個輸出,示波器模組有一個輸入。我們顯示了四個正弦波。我們必須更改示波器模組的引數以接收四個輸入。
右鍵單擊示波器模組,然後單擊“模組引數”,將顯示如下圖所示的螢幕:
轉到設定圖示,並將輸入引數從1更改為4,如下圖所示:
單擊“應用”以儲存更改。
現在讓我們用箭頭將正弦波連線到示波器模組,如下圖所示:
我們想將每個正弦波的頻率更改為不同的頻率,以便我們獲得不同頻率的訊號圖。
因此,右鍵單擊正弦波並開啟正弦波模組引數,如下圖所示:
我們將所有正弦波的幅度保持為1,第一個正弦波的頻率為1,第二個為3,第三個為6,最後一個為10。
單擊如下圖所示的“執行”按鈕以檢視正弦波。
開啟示波器模組引數以檢視正弦波,如下圖所示。
MATLAB Simulink - 訊號處理
在本章中,我們將瞭解Simulink中的訊號生成。首先,從Simulink頁面選擇一個空白模型並開啟Simulink瀏覽器庫,如下圖所示:
在Sources庫中,您將獲得一個訊號發生器符號。它將幫助我們建立不同型別的訊號。
選擇訊號發生器並將其拖動到空白模型中,如下圖所示:
要檢視訊號發生器的輸出,我們需要另一個名為示波器的模組,該模組來自Sink庫,如下圖所示:
選擇該模組並將其拖動到模型中。
雙擊訊號發生器或右鍵單擊並選擇模組引數,將顯示如下圖所示的螢幕:
訊號發生器可以顯示正弦波、方波、鋸齒波、隨機波等波形。我們將選擇方波波形。讓幅度和頻率都為1。單擊“確定”以更新所做的更改。
現在,連線訊號發生器和示波器模組之間的線,如下圖所示:
現在單擊“執行”按鈕以檢視方波波形,如下圖所示:
現在讓我們嘗試鋸齒波形。右鍵單擊訊號發生器或雙擊並將其波形更改為鋸齒波。
讓我們將頻率更改為2。單擊“確定”以更新更改。現在執行模型以檢視更改,如下圖所示:
現在讓我們向上述模型新增更多訊號。我們將從Sources庫中獲取階躍訊號,如下圖所示:
示波器模組只有一個輸入。讓我們將其輸入數量增加到2。右鍵單擊並開啟模組引數。
單擊“確定”按鈕以更新更改。現在,示波器模組有2個輸入,如下圖所示:
將階躍輸入箭頭與示波器箭頭連線。
現在單擊“執行”按鈕執行模型。
您可以新增更多訊號並進行相同的測試。
MATLAB Simulink - 向訊號新增延遲
在上一章中,我們學習了不同的訊號模擬。在本章中,我們將學習如何向訊號新增延遲。
讓我們建立一個空白模型,並向其中新增正弦波和示波器模組,如下圖所示:
現在讓我們執行模型以檢視示波器模組中的模擬。正弦波如下圖所示:
現在讓我們為正弦波新增延遲。我們將使用Continuous庫中的傳輸延遲模組,如下圖所示:
選擇該模組並將其拖動到模型畫布中。現在我們的模型中有了傳輸延遲,右鍵單擊它並開啟模組引數,如下圖所示:
讓我們將時間延遲從1更改為3。進行更改並單擊“確定”按鈕。
現在向示波器模組新增另一個輸入埠。右鍵單擊示波器模組並選擇訊號和埠。為輸入埠數量選擇2,如下圖所示:
現在將傳輸延遲連線到正弦波和示波器,如下圖所示
現在執行模擬以檢視正弦波的3秒延遲。右鍵單擊示波器模組並選擇模組引數以檢視顯示。
MATLAB Simulink - 數學庫
在本章中,我們將學習如何對兩個給定訊號求和並獲得輸出。
選擇空白模型並開啟Simulink庫瀏覽器,如下圖所示:
我們將使用Math Operations中的Add模組組合Chirp訊號和正弦波模組,並檢視最終顯示。
讓我們選擇我們想要的模組。從Sources庫中選擇Chirp訊號和正弦波,從Math Operations中選擇Add模組,從Sinks庫中選擇示波器模組。
將線條連線到每個模組。
雙擊Chirp訊號並將初始頻率從0.1更改為0.05,然後單擊“確定”按鈕。
其他模組保持預設值。現在,單擊“執行”以檢視示波器中的輸出,如下圖所示。
構建模型並應用 If-else 邏輯
在本章中,我們將建立一個模型並向其應用if-else邏輯。讓我們首先收集建立模型的模組。
現在,開啟MATLAB Simulink(空白模型)和Simulink庫瀏覽器,如下圖所示:
單擊空白模型並開啟Simulink庫瀏覽器,如下圖所示:
我們需要使用以下模組來構建具有if-else邏輯的模型:
常用模組中的常數模組
訊號路由中的Switch模組
Sink中的顯示模組
現在讓我們將所有模組放在一起建立一個模型,如下圖所示:
現在讓我們用線連線每個模組。您可以看到常數模組有一個輸出,而Switch模組有三個輸入和一個輸出。我們將它們連線到顯示模組。
連線線後,模型如下圖所示:
現在,雙擊Switch模組並新增一個閾值。
閾值將與中間的模組進行比較。根據中間模組的常數值,將顯示第一個模組的值或最後一個常數模組的值。
讓我們向Switch新增一個閾值,如下圖所示:
給定的閾值為3。單擊“確定”以更新閾值。現在在Switch模組內可以看到閾值,如下圖所示:
中間的常數模組將與Switch閾值進行比較,並據此確定顯示。
現在讓我們用一些值更新中間的常數模組,如下圖所示:
常數模組的值為1。現在讓我們更改第一個常數模組,並將其值設定為0.5,如下圖所示:
現在讓我們將最後一個常數的值更改為2.5,如下圖所示:
因此,第一個常數值為0.5,中間常數值為1,最後一個為2.5。中間常數值1將與Switch閾值3進行比較,即(1 > 3)。它將列印值為2.5,即最後一個常數值。
單擊“執行”按鈕以在顯示模組中獲取輸出,如下圖所示:
現在讓我們將中間常數更改為高於Switch閾值的值,然後檢視輸出:
該值從1更改為3.5。單擊“確定”並執行模型以檢視顯示中的輸出:
現在,由於中間常數值較大,因此第一個常數值將列印在顯示中。如果較小,則將列印最後一個常數值。
MATLAB Simulink - 邏輯閘模型
在本章中,讓我們瞭解如何構建演示邏輯閘的模型。
例如,OR、AND、XOR等門。
開啟Simulink並開啟一個空白模型,如下圖所示:
單擊空白模型並選擇Simulink庫,如下圖所示:
讓我們選擇構建OR門的模組。我們需要兩個常數模組作為輸入,一個邏輯運算子模組和一個顯示模組。
常數和邏輯運算子模組將從常用模組庫中獲取。選擇模組並將其拖動到模型中,或者只需在模型中鍵入模組的名稱並選擇模組,如下圖所示:
選擇常數模組,我們需要兩個常數模組、一個邏輯運算子和一個常數。
模組如下所示:
右鍵單擊邏輯運算子模組,將顯示模組引數,如下圖所示:
使用邏輯運算子,您可以使用AND、OR、NAND、NOR、XOR、NXOR和NOT門。現在我們將選擇OR門。
現在連線線條,模型將如下圖所示:
對於OR門,如果輸入為1,1,則輸出為1。如果輸入為0,0,則輸出為0。現在,常數值為1,1。讓我們執行模型以檢視輸出,如下圖所示:
我們可以在顯示模組中看到顯示的輸出為1。現在讓我們將常數值更改為0。右鍵單擊常數模組並更改值,如下圖所示:
將常數值更改為0後,執行模型時輸出將變為0。輸出如下圖所示:
現在讓我們將常數值更改為0,1並檢視輸出:
值為1,0時,顯示如下:
同樣,您可以設計AND和其他門。
MATLAB Simulink - 正弦波
在本章中,我們將使用導數和積分器模組對正弦波進行積分和微分。
開啟空白模型和Simulink庫,如下圖所示:
讓我們從Sources庫中選擇正弦波,從Sinks庫中選擇示波器模組。
我們想從Continuous庫中新增導數和積分器模組,如下圖所示:
我們需要示波器模組的3個輸入埠,因為正弦波、導數和積分器模組將連線到它。
右鍵單擊示波器模組並將輸入從1更改為3,如下圖所示:
連線線條,如下圖所示:
現在,執行模型以檢視顯示。
因此,我們有三個訊號:正弦波、導數和積分。
MATLAB Simulink - 函式
本章將講解如何在Simulink中使用MATLAB函式。
開啟Simulink並點選空白模型。
我們需要一個常數模組、一個MATLAB函式模組和一個用於輸出的顯示模組。
以下是建立的模型:
MATLAB函式位於使用者自定義函式庫中。
現在,點選MATLAB函式並將其拖到模型畫布中。雙擊MATLAB函式模組並編寫您選擇的函式。
我們將嘗試在給定數字為奇數時顯示1,為偶數時顯示0。您還可以儲存該函式,以便稍後與另一個函式一起使用。
函式編寫完成後,點選MATLAB函式旁邊的向上箭頭,它將帶您返回之前建立的模型。
現在,讓我們使用5作為常數值來測試模型。
我們可以看到顯示結果為1,這表明值5是奇數。
現在讓我們將常數值更改為10,如下所示,然後執行模擬:輸出為0,表示它是偶數。
MATLAB Simulink - 建立子系統
當模型變得龐大而複雜時,子系統非常有用。您可以將模型的一部分更改為子系統,這有助於保持流程非常清晰易懂。
在本章中,讓我們學習如何在Simulink中建立一個簡單的子系統。首先,建立一個空白模型,如下所示:
現在,我們將建立一個簡單的模型,該模型將兩個數字相加,然後將模型的一部分轉換為子系統。
我們建立了一個簡單的模型,它有兩個輸入。這些輸入將相加,並在顯示器中顯示結果。
我們將常數值更改為10和20。結果10+20 = 30應該在顯示模組中顯示。
讓我們再新增一個名為“一元減”的模組,它將輸出從30更改為-30,如下所示:
現在,讓我們選擇部分內容,即求和模組和一元減模組,以建立一個子系統,如下所示:
點選“建立子系統”。完成後,求和模組和一元減模組將轉換為子系統,如下所示:
現在,當您執行模擬時,它將顯示與之前相同的結果。
雙擊子系統以檢視原始模組,如下所示:
點選子系統旁邊的向上箭頭返回模型。
MATLAB Simulink - For 迴圈
在本章中,讓我們瞭解for迭代器模組的工作原理。首先,建立一個空白模型,如下所示:
在這個模型中,我們將使用for迭代器來計算1到N的和。
您可以根據自己的選擇使用n的值。此值將採用常數模組並將其值更新為5,如下所示:
讓我們新增for迭代器模組,如下所示:
選擇for迭代器子系統模組並新增到您的模型中。接下來,我們需要顯示模組,如下所示:
按照以下方式連線模組:
for迭代器模組是一個子系統。選擇該模組並按Enter鍵。它將帶您進入新的模型區域,您必須在此處定義for模組。
右鍵單擊for迭代器並選擇模組引數,如下所示:
將“啟動時的狀態”更改為“重置”,並將“迭代限制源”更改為“外部”。點選“確定”以更新更改。
現在,您將獲得for迴圈的輸入模組,如下所示:
我們需要一個求和模組和一個延遲模組,如下所示:
延遲模組必須翻轉,以便可以將其新增到輸出中。我們需要將輸出反饋給求和模組,以便將其與當前迭代相加。
右鍵單擊延遲模組,並將延遲長度從2更改為1,如下所示。點選“確定”以更新更改。
最終的for迴圈子系統模組如下所示:
現在,在執行模擬之前,請將停止時間更改為1。我們這樣做是因為我們希望模擬只執行一次。
點選“立即執行”以檢視顯示模組中的結果,如下所示
輸入值為5,因此for迴圈將從1到5迴圈。因此,顯示的值為1+2+3+4+5 = 15。
MATLAB Simulink - 匯出資料
在本章中,我們將學習如何在MATLAB中使用Simulink輸出結果。讓我們嘗試一個簡單的正弦波模型,如下所示:
當我們執行模型時,示波器會顯示正弦波,如下所示:
現在,要獲取正弦波的資料,請轉到配置屬性並選擇“記錄”選項卡。
選中“將資料記錄到工作區”複選框,如下所示:
設定您選擇的變數名。在這裡,我們將其命名為swave,儲存格式為陣列。點選“確定”按鈕並再次執行模擬。
您應該在工作區中看到輸出。
雙擊它,它將顯示我們之前儲存的swave變數的詳細資訊。
在命令提示符中鍵入**swave**,它將給出如下所示的輸出:
您可以使用plot命令繪製正弦波,如下所示:
圖形如下所示:
MATLAB Simulink - MATLAB指令碼
在本章中,我們將使用MATLAB指令碼建立模型。我們有一種直接且簡單的方法來建立模型,只需選擇所需的模組即可。但是,編寫建立模型的程式碼有時可以幫助您自動化任務,因為您的專案會越來越複雜。
因此,讓我們學習如何使用下面討論的應用程式程式設計介面 (API) 來建立模型。
我們將建立一個非常簡單的正弦波模型。為此,我們需要正弦波和示波器模組。
在MATLAB命令視窗中,我們可以使用API建立模型和模組。要建立新模型,API如下所示:
new_system('matlabmodel')
這裡,matlabmodel是模型的名稱。您可以使用open_system()開啟模型,並將模型名稱作為函式的引數。
命令如下所示:
open_system('matlabmodel')
當您點選Enter鍵時,模型將開啟,如下所示:
現在,讓我們向其中新增正弦波模組。新增模組的命令是add_block(source, dest)。
您可以從Simulink庫瀏覽器中獲取模組的原始碼。
突出顯示的程式碼是正弦波的原始碼。讓我們將其新增到add_block中,如下所示:
add_block('simulink/Sources/Sine Wave','matlabmodel/Sine')
您的計算機上將出現以下螢幕:
現在,讓我們新增示波器模組,如下所示:
add_block('simulink/Sinks/Scope','matlabmodel/Scope', ‘Position’ , [200 315 135 50])
模型顯示示波器模組,如下所示:
您可以使用add_block中的位置來正確放置模組。
例如:
add_block(‘simulink/Sinks/Scope’, ‘matlabmodel/Scope’, ‘Position’ , [200 315 135 50]
現在,讓我們使用如下所示的命令連線正弦波和示波器之間的線:
add_line('matlabmodel', 'Sine/1', 'Scope/1');
對於add_line,您必須傳遞模型的名稱,後跟模組名稱和模組的輸入埠。
因此,現在我們要將正弦波的第一個輸出埠連線到示波器的第一個輸入埠。
讓我們使用以下命令執行模擬:
result = sim('matlabmodel');
現在要檢視模擬結果,請執行另一個命令,如下所示:
open_system('matlabmodel/Scope');
您將在示波器中獲得如下所示的輸出:
求解數學方程
在本章中,我們將使用Simulink求解一個簡單的數學方程式。
方程式如下所示:
y(t) = 2Sin(t) + 5Sin(2t) - 10
讓我們為上述方程建立一個模型。開啟一個空白模型,如下所示:
以下是求解方程的步驟:
獲取一個正弦波模組。右鍵單擊並選擇模組引數。選擇“符號型別”為“基於時間”。將幅度更改為2,頻率更改為1。這將是2Sin(t)。
獲取另一個正弦波模組。現在,將幅度設定為5,頻率設定為2以顯示5Sin(2t)。選擇“符號型別”為“基於時間”。
現在獲取一個加法模組並將兩個正弦波相加。
獲取一個常數。右鍵單擊並選擇模組引數。將值從1更改為10。
獲取一個減法模組,其中一個輸入來自步驟3,另一個來自常數,即步驟4。
獲取一個示波器模組並將輸入從步驟6連線到它。
這就是該方程的最終Simulink模型的樣子:
y(t) = 2Sin(t) + 5Sin(2t) - 10
點選執行按鈕進行編譯。右鍵單擊示波器模組以檢視繪製的訊號。
一階微分方程
在這裡,我們將學習如何在Simulink中求解一階微分方程。
我們試圖使用Simulink求解的一階微分方程如下:
dy/dt = 4sin2t - 10y
該方程可以透過將dy/dt積分到以下方程來求解:
y(t)=∫(4sin2t - 10y(t))dt
以下是構建上述方程模型的步驟。
從源庫中選擇正弦波,並將幅度更改為4,頻率更改為2。這將給我們4sin2t。
積分器模組將用於顯示dy/dt,它將輸出y(t)。
增益模組將表示10y。
步驟1和3的輸入將提供給步驟2。
我們需要示波器模組來檢視輸出y(t)。步驟4將連線到示波器模組。
讓我們在模型中檢視上述步驟,如下所示:
執行模組以檢視以下輸出: