主要内容

创建一个简单的模型

你可以使用Simulin金宝appk®对系统建模,然后模拟该系统的动态行为。本教程中用于创建简单模型的基本技术与用于更复杂模型的基本技术相同。此示例模拟汽车的简化运动。当踩下油门踏板时,汽车通常处于运动状态。松开踏板后,汽车空转并停止。

Si金宝appmulink块是定义其输入和输出之间数学关系的模型元素。要创建此简单模型,需要四个Simulink块。

块名 区块用途 模型的目的
脉冲发生器 为模型生成输入信号 代表油门踏板
获得 将输入信号乘以一个恒定值 计算按下加速器对汽车加速度的影响
积分器,二阶 对输入信号积分两次 从加速度获得位置
外埠 指定一个信号作为模型的输出 将位置指定为模型的输出

对该模型进行仿真,将一个短脉冲积分两次,得到一个斜坡。结果显示在范围窗口中。输入脉冲表示踩下油门-踩下踏板时为1,未踩下踏板时为0。输出斜坡是从起点开始增加的距离。

开放的新模型

使用Simuli金宝appnk编辑器构建模型。

  1. 启动MATLAB®。从MATLAB工具条中,单击金宝app按钮

  2. 点击空白模型模板。

    打开Si金宝appmulink编辑器。

  3. 模拟选项卡,选择保存>另存为.在文件名文本框中,输入模型的名称。例如简单模型. 点击拯救.模型使用文件扩展名保存.slx

开放金宝app库浏览器

金宝appSimulink提供了一组块库,按库浏览器中的功能进行组织。以下库是大多数工作流的常用库:

  • 连续-具有连续状态的系统的块

  • 离散-离散状态系统的块

  • 数学运算-实现代数和逻辑方程的块

  • 接收器-存储和显示连接到接收器的信号的块

  • 源—生成驱动模型的信号值的块

  1. 模拟选项卡,单击库浏览器按钮

  2. 将库浏览器设置为位于其他桌面窗口的顶部。在Simulink库浏览器工具栏上,选择金宝app掌握按钮

要浏览块库,请在左窗格中选择一个类别,然后选择一个功能区域。要搜索所有可用的块库,请输入搜索项。

例如,查找脉冲发生器块。在浏览器工具栏的搜索框中输入脉搏,按“Enter”。金宝appSimulink在库中搜索带有的块脉搏在其名称或描述中,然后显示块。

获取有关块的详细信息。右键单击脉冲发生器块,然后选择脉冲发生器模块的帮助. 将打开“帮助浏览器”,其中包含块的参考页。

块通常有几个参数。您可以通过双击块来访问所有块参数。

向模型添加块

要开始构建模型,请浏览库并添加块。

  1. 来源图书馆,把脉冲发生器块到Simulink编辑器金宝app。一份脉冲发生器的值的文本框将显示在模型中振幅参数。输入1

    参数值在整个模拟过程中保持不变。

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

    图书馆 参数
    获得 金宝app模型/数学操作

    获得:2

    积分器,二阶 金宝app模拟/连续

    初始条件:0

    外埠 金宝app模型/下沉

    端口号:1

    添加第二个外埠通过复制现有块并使用键盘快捷键将其粘贴到另一点来阻止。

    您的模型现在具有所需的块。

  3. 通过单击并拖动每个块来排列块。要调整块的大小,请拖动一个角。

连接块

通过在输出端口和输入端口之间创建线连接块。

  1. 单击右边的输出端口脉冲发生器块。

    输出端口和所有适合于连接的输入端口都用蓝色的chevron符号表示端口提示符号

  2. 指出端口提示符号查看连接提示。

    点击提示。金宝appSimulink用指示信号流动方向的线和箭头连接模块。

  3. 连接设备的输出端口获得块到上的输入端口积分器,二阶块。

  4. 连接的两个输出积分器,二阶两手抓外埠阻碍。

  5. 保存您的模型。在模拟选项卡上,单击拯救

添加信号查看器

要查看模拟结果,请将第一个输出连接到信号查看器

点击信号。在模拟选项卡下准备点击添加查看器选择范围.信号上出现一个查看器图标,并打开一个范围窗口。

您可以通过双击图标随时打开范围。

运行模拟

定义配置参数之后,就可以模拟模型了。

  1. 模拟选项卡上,通过更改工具栏中的值来设置模拟停止时间。

    的默认停止时间10.0适用于此模型。此时间值没有单位。Simulink中的时间单位取决于方程式的构造方式。此示例模拟汽车10秒的简化运动-其他模型的时间单位可能为毫秒或年。金宝app

  2. 要运行模拟,请单击运行按钮

模拟运行并在查看器中生成输出。

改进模型

本例以现有模型为例,移动_car.slx,并在此运动模型的基础上建立了接近传感器模型。在这种情况下,一个数字传感器测量汽车与10米(30英尺)外的障碍物之间的距离。模型输出传感器测量值和汽车位置,考虑以下条件:

  • 汽车遇到障碍物时急刹车。

  • 在物理世界中,传感器测量距离不精确,导致随机数字误差。

  • 数字传感器以固定的时间间隔工作。

改变块的参数

首先,打开moving_car模型。在MATLAB命令行中,输入:

开放式系统(“moving_car.slx”

您首先需要在车辆到达位置时对硬停止进行建模10.积分器二阶块有一个用于此目的的参数。

  1. 双击“积分器,二阶”模块。弹出“块参数”对话框。

  2. 选择限制x进入10上限x.参数的背景颜色更改表示未应用于模型的修改。点击好啊应用更改并关闭对话框。

添加新的块和连接

添加一个传感器,用于测量与障碍物的距离。

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

    • 求实际距离。为求障碍物位置与车辆位置之间的距离,加减去块的数学运算图书馆。还添加了常数块的来源的常量值10障碍物的位置。

    • 对真实传感器典型的不完美测量进行建模。通过使用带限白噪声块的来源图书馆,设置噪声功率参数0.001. 通过使用添加块的数学运算图书馆。

    • 模拟每0.1秒触发一次的数字传感器。在Simulink中,以给定间隔对信号进行采样需要采样并保持。添加金宝app零级举行块的离散的图书馆将块添加到模型后,更改样品时间参数0.1

    • 添加另一个外埠连接传感器输出。保持默认值端口号参数。

  2. 连接新块。输出积分器,二阶块已连接到另一个端口。要在该信号中创建分支,请左键单击该信号以突出显示潜在的连接端口,然后单击相应的端口。

注释的信号

将信号名称添加到模型中。

  1. 双击信号并键入信号名称。

  2. 若要完成,请单击文本框以外的位置。

  3. 重复这些步骤以添加如下所示的名称。

比较多个信号

比较实际距离信号与测量距离信号

  1. 创建并连接范围查看器实际距离信号。右键单击信号并选择创建和连接查看器> Simulink >范围金宝app.信号的名称出现在查看器标题中。

  2. 添加测量距离向同一观众发送信号。右键单击信号并选择连接到查看器> Scope1.确保您正在连接上一步中创建的查看器。

  3. 运行模型。查看器显示两个信号,实际距离在黄色和测量距离蓝色的。

  4. 放大图形以观察噪声和采样的影响。单击快速移动按钮.左键单击并拖动一个窗口,在您想要更近地看到的区域周围。

    您可以反复放大以观察细节。

从图中可以看出,测量值可能与实际值相差0.3m。在设计安全功能(例如碰撞警告)时,此信息非常有用。

另请参阅

阻碍

相关话题