
- 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 库浏览器,可用于创建您自己的模型。
空白模型的屏幕如下 -

单击“Library”,它将显示 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 启动页面,如下所示 -

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

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

启动页面有一个空白模型、子系统、库,可以从头开始启动模型。
还有一些内置模板可以帮助用户入门。
要创建模型,用户可以单击空白模型,它将显示如下所示的页面 -

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

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

Simulink 中的库
让我们了解一下 Simulink 中的一些常用库。
连续的
连续块库为您提供与导数和积分相关的块。块列表如下 -

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

MATLAB Simulink - 模块
在本章中,我们将了解 Simulink 的基本元素之一。这些被称为块。
Simulink 中的块有助于创建模型。您可以使用具有不同类型模块的 Simulink 库浏览器来创建模型。
首先,打开一个空白模型。显示如下所示 -

您可以通过单击“保存”按钮来保存模型。因此,您的更改将成功保存。现在,打开库浏览器将块放入模型画布中。
选择块的两种方法如下 -
使用 Simulink 浏览器库。
在模型画布内搜索块。
Simulink 浏览器库
打开 Simulink 库浏览器,如下所示 -

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

在这里,我们得到了与正弦相关的所有块。您还可以进入图书馆并选择您的街区。
添加块、产品块等。显示如下 -

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

另一种方法是右键单击该块并添加到当前模型。
下面给出了相同的示例 -

我们还没有保存我们的模型。因此,它是无标题的。现在,您可以添加到无标题的模型中。该块将在您的模式中看到。
在模型画布内搜索块
将块添加到模型的另一种方法是在模型内部单击并键入块的名称。它将在库浏览器中搜索并根据您输入的内容列出所有模型。
下面给出了相同的示例 -

我们输入了 Sine,它显示了与正弦相关的所有块。
MATLAB Simulink - 线
在上一章中,我们了解了 Simulink 库提供的不同类型的模块。在本章中,我们将了解线条。
线条用于用箭头连接块。每个块都有自己的输入和输出连接器。块之间的通信将借助线路进行。
让我们通过一个例子来理解这一点。从 Simulink 页面中选择一个空白模型,如下所示 -

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

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

考虑在模型中,我们想要将两个给定数字相加。因此,让我们选择添加块、显示块和常量块。
常数块有1个输出连接器,Add块有2个输入连接器,显示块有1个输入连接器。您可以将链接从一个输出拖动到另一输入,如下所示。
这里,我们有两个常量,其值为 10 和 20。它们通过线连接到 add 块。添加块通过一条线连接到显示。

连接线路后,显示如下 -

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

MATLAB Simulink - 构建和仿真模型
我们已经看到了 Simulink 库浏览器和库列表中可用的模块。在本章中,我们将使用这些模块构建一个简单的正弦波模型。
打开 Simulink 并单击空白模型,如下所示 -

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

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

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

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

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

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

正弦波有一个输出,示波器模块有一个输入。我们显示了四个正弦波。我们必须更改范围块的参数以接受四个输入。
右键单击范围块,然后单击块参数,它将显示如下所示的屏幕 -

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

单击“应用”保存更改。
现在让我们用箭头将正弦波连接到示波器块,如下所示 -

我们希望将每个正弦波的频率更改为不同的频率,以便获得不同频率的信号图。
因此,右键单击正弦波并打开正弦波块参数,如下所示 -

我们将所有正弦波的振幅保持为 1,第一个正弦波的频率为 1,第二个正弦波的频率为 3,第三个正弦波的频率为 6,最后一个正弦波的频率为 10。
单击“运行”按钮,如下所示,查看正弦波。

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

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

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

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

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

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

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

信号发生器可以显示正弦波、方波、锯齿波、随机波等波形。我们将选择方波。令振幅和频率为 1。单击“确定”更新所做的更改。
现在,连接信号发生器和示波器块之间的线路,如下所示 -

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

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

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

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

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

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

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

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

您可以添加更多信号并进行相同的测试。
MATLAB Simulink - 向信号添加延迟
我们在前一章中了解了不同的信号模拟。在本章中,我们将学习如何向信号添加延迟。
让我们采用一个空白模型并向其添加正弦波和示波器块,如下所示 -

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

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

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

让我们将时间延迟从 1 更改为 3。进行更改并单击“确定”按钮。
现在向范围块添加一个输入端口。右键单击示波器块并选择信号和端口。选择 2 作为输入端口数量,如下所示 -

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

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

MATLAB Simulink - 数学库
在本章中,我们将学习如何对两个给定信号求和并获得输出。
选择空白模型并打开 Simulink 库浏览器,如下所示 -

我们将使用 Mathoperation 中的添加模块组合线性调频信号和正弦波模块,并查看最终显示。
让我们选择我们想要的块。从源库中选择线性调频信号和正弦波,从数学运算中添加块,从接收器库中添加范围块。

将线连接到每个块。

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

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

构建模型并应用 If-else 逻辑
在本章中,我们将创建一个模型并向其应用 if-else 逻辑。让我们首先收集块来创建我们的模型。
现在,打开 MATLAB Simulink(空白模型)和 Simulink 库浏览器,如下所示 -

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

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

信号路由的开关块

来自接收器的显示块

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

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

现在,双击开关块并添加阈值。
阈值将与中心的块进行比较。根据中间块的常数值,将显示第一个块的值或显示最后一个常数块的值。
让我们为开关添加一个阈值,如下所示 -

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

中间的常数块将与开关阈值进行比较,从而决定显示。
现在让我们用一些值更新中间的常量块,如下所示 -

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

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

因此,第一个常数值为 0.5,中间常数值为 1,最后一个常数值为 2.5。中间常数值1将与开关阈值即3进行比较(1>3)。它将将该值打印为最后一个常量值的 2.5。
单击运行按钮以获取显示块中的输出,如下所示 -

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

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

现在,由于中间常数的值较大,因此第一个常数的值将打印在显示器中。如果小于,则将打印最后一个常量的值。
MATLAB Simulink - 逻辑门模型
在本章中,让我们了解如何构建演示逻辑门的模型。
例如,OR、AND、XOR 等门。
打开 Simulink 并打开一个空白模型,如下所示 -

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

让我们选择要构建“或”门的块。我们需要两个常量块作为输入,一个逻辑运算符块和一个显示块。
常量和逻辑运算符块将从常用块库中获取。选择块并拖动到模型中,或者只需在模型中输入块的名称并选择块,如下所示 -

选择常量块,我们需要两个常量块,一个逻辑运算符和一个常量。
这些块将如下所示 -

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

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

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

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

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

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

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

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

同样,您可以设计与门和其他门。
MATLAB Simulink - 正弦波
在本章中,我们将使用导数和积分器块对正弦波进行积分和微分。
打开空白模型和 Simulink 库,如下所示 -

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

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

我们需要 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 应该在显示块内看到。

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

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


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

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

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

单击子系统附近的向上箭头可返回模型。
MATLAB Simulink - For 循环
在本章中,让我们了解 for-iterator 块的工作原理。首先,创建一个空白模型,如下所示 -

在此模型中,我们将使用 for 迭代器来计算 1..N 的总和。
您可以根据您的选择使用 n 的值。该值将采用常量块并用值 5 更新它,如下所示 -

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

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

连接块如下所示 -

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

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

将启动时的状态更改为重置并将迭代限制源更改为外部。单击“确定”更新更改。
现在,您将获得 for 循环的输入块,如下所示 -

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

必须翻转延迟块,以便将其添加到输出中。我们需要将输出返回给 sum 块,以便可以将其与当前迭代相加。
右键单击延迟块并将延迟长度从 2 更改为 1,如下所示。单击“确定”更新更改。

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

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

单击“立即运行”即可在显示块中查看结果,如下所示
输入值为 5,因此 for 循环将从 1 到 5。因此,显示屏中会显示值 1+2+3+4+5 = 15。

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

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

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

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

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

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

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

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

图表如下所示 -

MATLAB Simulink - MATLAB 脚本
在本章中,我们将使用 MATLAB 脚本创建模型。我们确实有一种直接而简单的方法来创建模型,只需选择我们需要的块即可。但是,随着项目变得复杂,编写代码来创建模型有时可以帮助您自动执行任务。
因此,让我们学习如何使用应用程序编程接口 (API) 创建模型,如下所述。
我们将创建一个非常简单的正弦波模型。为此,我们需要正弦波和示波器块。
在 MATLAB 命令窗口中,我们可以使用 API 来创建模型和模块。要创建新模型,API 如下 -
new_system('matlabmodel')
这里,matlabmodel 是模型的名称。您可以使用 open_system() 并将模型名称作为函数参数来打开模型。
命令如下所示 -
open_system('matlabmodel')
当您单击输入时,模型将打开,如下所示 -

现在,让我们向其添加正弦波块。该命令是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 将连接到范围块。
让我们看看模型中的上述步骤,如下所示 -

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