Matlab-simulink快速入门_3_创建简单的模型

创建简单模型

本教程中创建简单模型所使用的基本方法也适用于创建更复杂的模型。此示例对简化的汽车运动进行仿真。当踩下油门踏板时,汽车通常处于行进状态。松开踏板后,汽车怠速并停下来。

Simulink 模块是定义模块输入和模块输出之间数学关系的模型元素。要创建这个简单模型,您需要四个Simulink 模块。
Matlab-simulink快速入门_3_创建简单的模型_第1张图片
创建的模型如下图所示:
在这里插入图片描述

实现流程

打开新模型

使用 Simulink Editor 构建模型
启动 MATLAB。在 MATLAB 工具条上,点击 Simulink 按钮在这里插入图片描述
Matlab-simulink快速入门_3_创建简单的模型_第2张图片

点击 Blank Model 模板

Simulink Editor 打开。
Matlab-simulink快速入门_3_创建简单的模型_第3张图片
从 Simulation 选项卡中,选择 Save > Save as。在 File name 文本框中,输入您的模型的名称。例如,simple_model。点击 Save。模型使用文件扩展名 .slx 进行保存。

打开 Simulink 库浏览器

Simulink 在库浏览器中提供了一系列按功能分类的模块库。下面是大多数工作流常用的一些模块库:
• Continuous - 表示具有连续状态的系统的模块
• Discrete - 表示具有离散状态的系统的模块
• Math Operations - 实现代数和逻辑方程的模块
• Sinks - 存储并显示所连接信号的模块
• Sources - 生成模型的驱动信号值的模块
在这里插入图片描述
Matlab-simulink快速入门_3_创建简单的模型_第4张图片
要浏览模块库,请从左窗格中选择一个类别,然后选择一个功能区。要搜索所有可用的模块库,请输入搜索词。例如,查找 Pulse Generator 模块。在浏览器工具栏的搜索框中输入 pulse,然后按 Enter。Simulink 将在模块库中搜索名称或说明中包含 pulse 的模块,然后显示这些模块。
Matlab-simulink快速入门_3_创建简单的模型_第5张图片
获取模块的详细信息。右键点击 Pulse Generator 模块,然后选择 Help for the Pulse Generator block。Help 浏览器随即打开并显示该模块的参考页。
模块通常有几个参数。您可以通过双击该模块来访问所有模块参数。

将模块添加到模型

要开始构建模型,请浏览库并添加模块
从 “Sources” 库中,将 Pulse Generator 模块拖到 Simulink Editor 中。您的模型中将出现 Pulse Generator 模块的副本,还有一个文本框用于输入 Amplitude 参数的值。输入 1。
Matlab-simulink快速入门_3_创建简单的模型_第6张图片
参数值在整个仿真过程中保持不变。
使用相同的方法将以下模块添加到模型中:
Matlab-simulink快速入门_3_创建简单的模型_第7张图片
复制现有 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 选项卡中,通过更改工具栏中的值来设置仿真停止时间。
Matlab-simulink快速入门_3_创建简单的模型_第8张图片
默认停止时间 10.0 适合此模型。此时间值没有单位。Simulink 中的时间单位取决于方程的构造方式。此示例对简化的汽车运动进行 10 秒的仿真 - 其他模型的时间单位可以是毫秒或年。
要运行仿真,请点击 Run 按钮在这里插入图片描述
仿真开始运行并在查看器中生成输出。

Matlab-simulink快速入门_3_创建简单的模型_第9张图片

细化模型

此示例使用现有模型 moving_car.slx,并基于此运动模型对接近传感器建模。在这种情况下,数字传感器用于测量汽车与 10 米(30 英尺)外的障碍物之间的距离。模型基于下列条件来输出传感器的测量值和汽车的位置值:
• 汽车在到达障碍物时会紧急刹车。
• 在现实世界中,传感器对距离的测量不够精确,从而导致随机数值误差。
• 数字传感器以固定时间间隔运行

更改模块参数

要开始,请打开 moving_car 模型。在 MATLAB 命令行中,输入:open_system('moving_car.slx')

Matlab-simulink快速入门_3_创建简单的模型_第10张图片
您首先需要对在汽车位置到达 10 时的紧急刹车进行建模。Integrator, Second-Order 模块有用于此目的的参数。

1.双击 Integrator, Second-Order 模块。将出现 Block Parameters 对话框。
2.选择 Limit x,然后为 Upper limit x 输入 10。参数的背景色发生变化以指示模型存在未应用的修改。点击 OK 应用更改并关闭对话框。

添加新模块和连接

添加一个用来测量与障碍物之间距离的传感器。

1.修改模型。根据需要展开模型窗口,以容纳新模块。

• 求实际距离。要想求出障碍物位置和车辆位置之间的距离,需要从 “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 参数的默认值。

2.连接新模块。Integrator, Second-Order 模块的输出已连接到另一个端口。要在该信号中创建分支,请左键点击该信号以突出显示可供连接的端口,然后点击适当的端口
Matlab-simulink快速入门_3_创建简单的模型_第11张图片

为信号添加注释

将信号名称添加到模型中。
1.双击信号并键入信号名称。
在这里插入图片描述
2.要完成输入,请点击文本框外部。
3.重复上述步骤以添加下图中所示的名称。
Matlab-simulink快速入门_3_创建简单的模型_第12张图片

比较多个信号

将 actual distance 信号与 measured distance 信号进行比较。

1 创建 Scope Viewer 并将其连接到 actual distance 信号。右键点击信号并选择 Create & Connect Viewer > Simulink > Scope。信号的名称显示在查看器标题中。
2 将 measured distance 信号添加到同一个查看器中。右键点击信号,然后选择 Connect to
Viewer > Scope1。确保您连接到在上一步中创建的查看器。

Matlab-simulink快速入门_3_创建简单的模型_第13张图片
3 运行模型。查看器显示两个信号:actual distance(黄色)和 measured distance(蓝色)。
Matlab-simulink快速入门_3_创建简单的模型_第14张图片
4.放大图形以观察噪声和采样的影响。点击 Zoom 按钮 。左键点击并拖动鼠标框住您想放大查看的区域。
Matlab-simulink快速入门_3_创建简单的模型_第15张图片可以反复放大以观察细节。
Matlab-simulink快速入门_3_创建简单的模型_第16张图片
从图中可以看到,测量值可偏离实际值达 0.3 米之多。此信息在设计安全功能(例如碰撞警告)时非常有用。

你可能感兴趣的:(matlab_simulink,matlab,simulink,仿真,测试)