MATLAB Simulink - 快速指南


MATLAB Simulink - 简介

Simulink 是一个用于动态和嵌入式系统的仿真和基于模型的设计环境,与 MATLAB 集成。Simulink 是由计算机软件公司 MathWorks 开发的。

它是一种数据流图形化编程语言工具,用于建模、仿真和分析多域动态系统。它基本上是一个图形框图工具,具有一组可定制的块库。

此外,它还允许您将 MATLAB 算法合并到模型中,并将仿真结果导出到 MATLAB 中以供进一步分析。

Simulink 支持以下内容 -

  • 系统级设计。

  • 模拟。

  • 自动代码生成。

  • 嵌入式系统的测试和验证。

要开始使用 Simulink,请在命令窗口中键入 simulink,如下所示 -

Simulink 页面

它将打开 Simulink 页面,如下所示 -

Simulink 起始页

您还可以利用 MATLAB 中的 Simulink 图标来开始使用 Simulink -

启动刺激链接

当您启动 Simulink 时,您将导航到起始页面,如下所示

DSP系统

在这里您可以创建自己的模型,也可以使用现有的模板。

单击“空白模型”,您将获得一个 Simulink 库浏览器,可用于创建您自己的模型。

空白模型的屏幕如下 -

空白模型

单击“Library”,它将显示 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

您可以在 MATLAB 命令窗口中使用 simulink 命令启动 Simulink,如下所示 -

Simulink 命令

单击 Enter 打开 Simulink 启动页面,如下所示 -

页面

您还可以通过单击 Simulink 图标直接从 MATLAB 界面打开 Simulink,如下所示 -

Matlab驱动

当您单击 Simulink 图标时,它将带您进入 Simulink 启动页面,如下所示 -

启动页

启动页面有一个空白模型、子系统、库,可以从头开始启动模型。

还有一些内置模板可以帮助用户入门。

要创建模型,用户可以单击空白模型,它将显示如下所示的页面 -

无标题

单击“保存”以保存您的模型。用于构建模型的模块可在 Simulink 库浏览器中使用。

单击库浏览器,如下所示 -

磅

库浏览器有一个包含不同块的所有类型库的列表,如下所示 -

巴士创造者

Simulink 中的库

让我们了解一下 Simulink 中的一些常用库。

连续的

连续块库为您提供与导数和积分相关的块。块列表如下 -

连续块

仪表板

通过仪表板,您将获得有助于与模拟交互的控件和指示器块。您的计算机上将出现以下屏幕 -

仪表板

不连续性

在这里,您将获得不连续功能块的列表,如下所示 -

不连续性

离散的

在这里,您将获得如下所示的时间关系功能块 -

离散的

逻辑和位运算

在此类别中,您将获得所有逻辑和关系类型块,如下所示 -

逻辑位运算

查找表

您将使用所有正弦、余弦功能块,如下所示 -

查找表

数学运算

所有数学运算(如加、绝对、除、减)均可用。列表如下 -

数学运算

消息和事件

该块具有所有消息/通信相关功能,如下所示 -

留言

模型验证

此处提供的块有助于自我验证模型,例如检查输入分辨率。您的计算机上将出现以下屏幕 -

模型验证

模型范围的实用程序

这将为您提供模型信息、块支持表等块。以下屏幕将出现在您的计算机上 -

型号宽

端口和子系统

您将获得子系统、开关盒、启用等模块。列表如下所示 -

子系统

信号属性

修改信号属性块,例如数据类型转换。您的计算机上将出现以下屏幕 -

信号属性

信号路由

此类别中的块用于路由信号块,例如总线创建器、开关等。您的计算机上将出现以下屏幕 -

信号路由

水槽

此类别中的块有助于显示或导出信号数据块,例如 Scope 和To Workspace。您的计算机上将出现以下屏幕 -

水槽

来源

它有助于生成或导入数据块。例如,正弦波。您的计算机上将出现以下屏幕 -

来源

细绳

该类别具有与字符串相关的块,如下所示 -

细绳

用户定义函数

自定义函数块,例如 MATLAB Function、MATLAB System、Simulink Function 和 Initialize Function。您的计算机上将出现以下屏幕 -

用户定义函数

MATLAB Simulink - 模块

在本章中,我们将了解 Simulink 的基本元素之一。这些被称为块。

Simulink 中的块有助于创建模型。您可以使用具有不同类型模块的 Simulink 库浏览器来创建模型。

首先,打开一个空白模型。显示如下所示 -

物业督察

您可以通过单击“保存”按钮来保存模型。因此,您的更改将成功保存。现在,打开库浏览器将块放入模型画布中。

选择块的两种方法如下 -

  • 使用 Simulink 浏览器库。

  • 在模型画布内搜索块。

Simulink 浏览器库

打开 Simulink 库浏览器,如下所示 -

Simulink 浏览器库

如果您正在寻找特定的块并且不知道哪个库,您可以在搜索块内搜索它,如下所示 -

正弦

在这里,我们得到了与正弦相关的所有块。您还可以进入图书馆并选择您的街区。

添加块、产品块等。显示如下 -

产品块

要将块放入模型中,您可以选择该块并将其拖动到模型中,如下所示 -

任务

另一种方法是右键单击该块并添加到当前模型。

下面给出了相同的示例 -

当前型号

我们还没有保存我们的模型。因此,它是无标题的。现在,您可以添加到无标题的模型中。该块将在您的模式中看到。

在模型画布内搜索块

将块添加到模型的另一种方法是在模型内部单击并键入块的名称。它将在库浏览器中搜索并根据您输入的内容列出所有模型。

下面给出了相同的示例 -

正弦波

我们输入了 Sine,它显示了与正弦相关的所有块。

MATLAB Simulink - 线

在上一章中,我们了解了 Simulink 库提供的不同类型的模块。在本章中,我们将了解线条。

线条用于用箭头连接块。每个块都有自己的输入和输出连接器。块之间的通信将借助线路进行。

让我们通过一个例子来理解这一点。从 Simulink 页面中选择一个空白模型,如下所示 -

毛坯模型

它将打开一个空白模型工作区,如下所示 -

调试

单击 Simulink Library 浏览器以拖动模型工作区中的一些模块。

积木

考虑在模型中,我们想要将两个给定数字相加。因此,让我们选择添加块、显示块和常量块。

常数块有1个输出连接器,Add块有2个输入连接器,显示块有1个输入连接器。您可以将链接从一个输出拖动到另一输入,如下所示。

这里,我们有两个常量,其值为 10 和 20。它们通过线连接到 add 块。添加块通过一条线连接到显示。

10

连接线路后,显示如下 -

20

现在单击“运行”以在显示块中查看结果。它将加上 10 + 20,在显示块中得到结果 30。

跑步

MATLAB Simulink - 构建和仿真模型

我们已经看到了 Simulink 库浏览器和库列表中可用的模块。在本章中,我们将使用这些模块构建一个简单的正弦波模型。

打开 Simulink 并单击空白模型,如下所示 -

创建模型

空白模型将打开一个空白弹出窗口,如下所示 -

弹出窗口

现在,打开 Simulink 库浏览器,以便我们可以选择模块。

造型

您的计算机上将出现以下屏幕

信号生成器

要将正弦波移动到模型中,请选择该块并将其拖动到模型工作区中。我们想要显示正弦波,在这里,我们在模型工作区中采用了四个符号波,如下所示 -

数据检查员

现在我们想要显示信号的输出,所以让我们使用接收器库中的 Scope 模块,如下所示 -

浮动范围

现在选择 Scope 块并将其拖动到模型工作区中。

范围

正弦波有一个输出,示波器模块有一个输入。我们显示了四个正弦波。我们必须更改范围块的参数以接受四个输入。

右键单击范围块,然后单击块参数,它将显示如下所示的屏幕 -

步进选项

转到设置图标并将输入参数从 1 更改为 4,如下所示 -

范围

单击“应用”保存更改。

现在让我们用箭头将正弦波连接到示波器块,如下所示 -

范围块

我们希望将每个正弦波的频率更改为不同的频率,以便获得不同频率的信号图。

因此,右键单击正弦波并打开正弦波块参数,如下所示 -

块参数

我们将所有正弦波的振幅保持为 1,第一个正弦波的频率为 1,第二个正弦波的频率为 3,第三个正弦波的频率为 6,最后一个正弦波的频率为 10。

单击“运行”按钮,如下所示,查看正弦波。

S波

打开示波器块参数以查看正弦波,如下所示。

血压

MATLAB Simulink - 信号处理

在本章中,我们将了解 Simulink 中的信号生成。首先,从 Simulink 页面选择一个空白模型并打开 Simulink 浏览器库,如下所示 -

SP

在源库中,您将获得一个信号发生器符号。它将帮助我们创建不同类型的信号。

信号发生器

选择信号发生器并将其拖动到空白模型内部,如下所示 -

SG

要查看信号发生器的输出,我们还需要一个来自接收器库的名为scope的块,如下所示 -

水槽库

选择该块并将其拖动以进入模型内部。

模型

双击信号发生器或右键单击并选择模块参数,它将显示如下所示的屏幕 -

正方形

信号发生器可以显示正弦波、方波、锯齿波、随机波等波形。我们将选择方波。令振幅和频率为 1。单击“确定”更新所做的更改。

现在,连接信号发生器和示波器块之间的线路,如下所示 -

波形

现在单击“运行”按钮即可查看方波,如下所示 -

方波

现在让我们尝试锯齿波形式。右键单击信号发生器或双击并将波形更改为锯齿波。

锯齿波

让我们将频率更改为 2。单击“确定”更新更改。现在运行模型以查看更改,如下所示 -

频率

现在让我们向上述模型添加更多信号。我们将从源库中获取步进信号,如下所示 -

步

我们只有一个范围块的输入。让我们将其增加到 2 个输入。右键单击并打开块参数。

配置属性

单击“确定”按钮更新更改。现在,范围块有 2 个输入,如下所示 -

区块3

将步骤输入箭头与范围箭头连接起来。

输入箭头

现在单击“运行”按钮来运行模型。

运行模型

您可以添加更多信号并进行相同的测试。

MATLAB Simulink - 向信号添加延迟

我们在前一章中了解了不同的信号模拟。在本章中,我们将学习如何向信号添加延迟。

让我们采用一个空白模型并向其添加正弦波和示波器块,如下所示 -

SW

现在让我们运行模型来查看范围块中的模拟。正弦波如下所示 -

终结者

现在让我们为正弦波添加延迟。我们将利用连续库中的传输延迟块,如下所示 -

PID控制器

选择该块并将其拖动到模型画布中。现在我们的模型中有传输延迟,右键单击它并打开块参数,如下所示 -

运输延误

让我们将时间延迟从 1 更改为 3。进行更改并单击“确定”按钮。

现在向范围块添加一个输入端口。右键单击示波器块并选择信号和端口。选择 2 作为输入端口数量,如下所示 -

探索

现在将传输延迟连接到正弦波和示波器,如下所示

TD

现在运行模拟可以看到符号波有 3 秒的延迟。右键单击范围块并选择块参数以查看显示。

3秒

MATLAB Simulink - 数学库

在本章中,我们将学习如何对两个给定信号求和并获得输出。

选择空白模型并打开 Simulink 库浏览器,如下所示 -

步骤 Simulink

我们将使用 Mathoperation 中的添加模块组合线性调频信号和正弦波模块,并查看最终显示。

让我们选择我们想要的块。从源库中选择线性调频信号和正弦波,从数学运算中添加块,从接收器库中添加范围块。

水槽库

将线连接到每个块。

添加范围

双击线性调频信号并将初始频率从 0.1 更改为 0.05,然后单击“确定”按钮。

线性调频信号

其他块保留为默认值。现在,单击运行以查看范围内的输出,如下所示。

默认值

构建模型并应用 If-else 逻辑

在本章中,我们将创建一个模型并向其应用 if-else 逻辑。让我们首先收集块来创建我们的模型。

现在,打开 MATLAB Simulink(空白模型)和 Simulink 库浏览器,如下所示 -

BM

单击空白模型并打开 Simulink 库浏览器,如下所示 -

数学

我们使用 if-else 逻辑构建模型所需的块如下 -

常用块中的常量块

持续的

信号路由的开关块

开关块

来自接收器的显示块

显示块

现在让我们将所有块放在一起来创建一个模型,如下所示 -

11

现在让我们将线与每个块连接起来。因此您可以看到常量块有 1 个输出,而开关有 3 个输入和 1 个输出。我们将把它们连接到显示块。

连接线后,模型如下所示 -

111

现在,双击开关块并添加阈值。

阈值将与中心的块进行比较。根据中间块的常数值,将显示第一个块的值或显示最后一个常数块的值。

让我们为开关添加一个阈值,如下所示 -

阈值

给定的阈值为 3。单击“确定”更新阈值。现在可以在开关块内看到阈值,如下所示 -

开关块

中间的常数块将与开关阈值进行比较,从而决定显示。

现在让我们用一些值更新中间的常量块,如下所示 -

C1

常量块的值为 1。现在让我们更改第一个常量块并将其值设置为 0.5,如下所示 -

CB1

现在让我们将最后一个常数更改为 2.5,如下所示 -

CB2

因此,第一个常数值为 0.5,中间常数值为 1,最后一个常数值为 2.5。中间常数值1将与开关阈值即3进行比较(1>3)。它将将该值打印为最后一个常量值的 2.5。

单击运行按钮以获取显示块中的输出,如下所示 -

中间常数

现在让我们将中间常数更改为高于开关阈值的值并查看输出 -

基因组蛋白1

该值从 1 更改为 3.5。单击“确定”并运行模型以在显示屏中查看输出 -

输出

现在,由于中间常数的值较大,因此第一个常数的值将打印在显示器中。如果小于,则将打印最后一个常量的值。

MATLAB Simulink - 逻辑门模型

在本章中,让我们了解如何构建演示逻辑门的模型。

例如,OR、AND、XOR 等门。

打开 Simulink 并打开一个空白模型,如下所示 -

模板

单击空白模型并选择 Simulink 库,如下所示 -

SL

让我们选择要构建“或”门的块。我们需要两个常量块作为输入,一个逻辑运算符块和一个显示块。

常量和逻辑运算符块将从常用块库中获取。选择块并拖动到模型中,或者只需在模型中输入块的名称并选择块,如下所示 -

恒定斜坡

选择常量块,我们需要两个常量块,一个逻辑运算符和一个常量。

这些块将如下所示 -

和

右键单击逻辑运算符块,它将显示块参数,如下所示 -

逻辑运算符

通过逻辑运算符,您可以使用 AND、OR、NAND、NOR、XOR、NXOR 和 NOT 门。现在我们要选择“或”门。

或操作员

现在连接线,模型将如下所示 -

线路

对于“或”门,如果输入为 1,1,则输出将为 1。如果输入为 0,0,则输出将为 0。现在,常数的值为 1,1。让我们运行模型来查看输出,如下所示 -

或门

我们可以在显示块中看到显示的输出为 1。现在让我们将常量值更改为 0。右键单击常量块并更改值,如下所示 -

显示块

将constant的值更改为0后,运行模型时输出将变为0。输出如下所示 -

二氧化碳

现在让我们将常数值更改为 0,1 并查看输出 -

C01

当值为 1,0 时,显示如下 -

二氧化碳

同样,您可以设计与门和其他门。

MATLAB Simulink - 正弦波

在本章中,我们将使用导数和积分器块对正弦波进行积分和微分。

打开空白模型和 Simulink 库,如下所示 -

积分器块

让我们从源库中选择正弦波,并从接收器库中选择范围块。

开关1

我们想添加连续库中的导数和积分器块,如下所示 -

衍生物

我们需要 3 个示波器块的输入端口,因为正弦波、导数和积分器块将连接到它。

右键单击范围块并将输入从 1 更改为 3,如下所示 -

输入

连接线如下所示 -

连接线

现在,运行模型以查看显示。

积分器

因此,我们有三个信号:正弦波、导数和积分器。

MATLAB Simulink - 函数

在本章中,我们将了解如何在 Simulink 中使用 MATLAB 函数。

打开 Simulink 并单击空白模型。

SBM

我们需要一个常量块、一个 MATLAB 函数块和一个用于输出的显示块。

这是创建的模型 -

MATLAB 函数

MATLAB 函数可在用户定义的函数库中使用。

MATLAB UD

现在,单击 MATLAB 函数并将其拖动到模型画布内。双击 MATLAB 函数块并编写您选择的函数。

如果给定的数字是奇数,我们将尝试显示 1;如果给定的数字是偶数,我们将尝试显示 0。您还可以保存该功能以供以后与其他功能一起使用。

功能

函数完成后,单击 MATLAB 函数附近的向上箭头,它将带您返回到之前创建的模型。

现在,让我们使用常数值 5 来测试模型。

FNC

我们可以看到显示为1,这表明值5是奇数。

现在让我们将常数值更改为 10,如下所示并运行模拟: 输出为 0,表示它是偶数。

FNCY

MATLAB Simulink - 创建子系统

当您的模型变得庞大且复杂时,子系统非常有用。您可以将模型的一部分更改为子系统,以帮助保持流程非常干净且易于理解。

在本章中,让我们学习如何在 Simulink 中创建一个简单的子系统。首先,创建一个空白模型,如下所示 -

格式

现在,我们将创建一个简单的模型,将两个数字相加,然后将模型的一部分转换为子系统。

简单模型

我们创建了一个具有两个输入的简单模型。这些输入将相加并在显示屏内显示结果。

我们将常量的值更改为 10 和 20。结果 10+20 = 30 应该在显示块内看到。

显示块1

让我们再添加一个名为 Unary minus 的块,它将输出从 30 更改为 -30,如下所示 -

一元减号

现在,让我们选择部分,即总和和一元减块来创建一个子系统,如下所示 -

一元减A 一元减U

单击创建子系统。完成后,求和块和一元减块将转换为子系统,如下所示 -

总和块

现在,当您运行模拟时,它将显示与之前相同的结果

相同的结果

双击子系统可查看原始块,如下所示 -

原始块

单击子系统附近的向上箭头可返回模型。

MATLAB Simulink - For 循环

在本章中,让我们了解 for-iterator 块的工作原理。首先,创建一个空白模型,如下所示 -

迭代器

在此模型中,我们将使用 for 迭代器来计算 1..N 的总和。

您可以根据您的选择使用 n 的值。该值将采用常量块并用值 5 更新它,如下所示 -

值5

让我们添加 for-iterator 块,如下所示 -

对于迭代器

选择 for Iterator 子系统模块并添加到您的模型中。接下来,我们需要显示块,如下所示 -

子系统块

连接块如下所示 -

连接块

for 迭代器块是一个子系统。选择块并单击 Enter。它将带您到新模型区域,必须在其中定义 for 块。

模型区

右键单击 for 迭代器并选择块参数,如下所示 -

对于 Iteratorbp

将启动时的状态更改为重置并将迭代限制源更改为外部。单击“确定”更新更改。

现在,您将获得 for 循环的输入块,如下所示 -

对于N

我们需要一个求和块和一个延迟块,如下所示 -

延迟块

必须翻转延迟块,以便将其添加到输出中。我们需要将输出返回给 sum 块,以便可以将其与当前迭代相加。

右键单击延迟块并将延迟长度从 2 更改为 1,如下所示。单击“确定”更新更改。

血压延迟

最终的 for 循环子系统块如下所示 -

For循环

现在,在运行模拟之前,将停止时间更改为 1。我们这样做是因为我们希望模拟仅运行一次。

停止时间

单击“立即运行”即可在显示块中查看结果,如下所示

输入值为 5,因此 for 循环将从 1 到 5。因此,显示屏中会显示值 1+2+3+4+5 = 15。

输入值

MATLAB Simulink - 导出数据

在本章中,我们将学习如何在 MATLAB 中使用 Simulink 输出结果。让我们尝试一个简单的正弦波模型,如下所示 -

MATLAB软件

当我们运行模型时,示波器显示正弦波,如下所示 -

配置

现在要获取正弦波的数据,请转到配置属性并选择日志记录选项卡。

CP范围

选择将数据记录到工作区复选框,如下所示 -

日志数据

设置您选择的变量名称。在这里,我们将名称指定为 swave,并将保存格式指定为 Array。单击“确定”按钮并再次运行模拟。

您应该在工作区中看到输出

大批

双击,它将显示我们之前保存的 swave 变量的详细信息。

挥动

在命令提示符下键入 out .swave,它会给您输出,如下所示 -

出挥手

您可以使用绘图命令绘制正弦波,如下所示 -

命令窗口

图表如下所示 -

图形

MATLAB Simulink - MATLAB 脚本

在本章中,我们将使用 MATLAB 脚本创建模型。我们确实有一种直接而简单的方法来创建模型,只需选择我们需要的块即可。但是,随着项目变得复杂,编写代码来创建模型有时可以帮助您自动执行任务。

因此,让我们学习如何使用应用程序编程接口 (API) 创建模型,如下所述。

我们将创建一个非常简单的正弦波模型。为此,我们需要正弦波和示波器块。

在 MATLAB 命令窗口中,我们可以使用 API 来创建模型和模块。要创建新模型,API 如下 -

new_system('matlabmodel')

这里,matlabmodel 是模型的名称。您可以使用 open_system() 并将模型名称作为函数参数来打开模型。

命令如下所示 -

open_system('matlabmodel')

当您单击输入时,模型将打开,如下所示 -

Matlab模型

现在,让我们向其添加正弦波块。该命令是add_block(source, dest)。

您将从 Simulink 库浏览器中获取该模块的源代码。

源正弦波

突出显示的代码是正弦波的源。让我们将其添加到 add_block 中,如下所示 -

add_block('simulink/Sources/Sine Wave','matlabmodel/Sine')

您的计算机上将出现以下屏幕 -

MATLAB专业版

现在让我们添加范围块,如下所述 -

add_block('simulink/Sinks/Scope','matlabmodel/Scope', ‘Position’ , [200 315 135 50])

该模型显示了范围块,如下所示 -

正弦1

您可以利用 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 将连接到范围块。

让我们看看模型中的上述步骤,如下所示 -

罪恶

运行该块以查看以下输出 -

大纲