主要内容

创建一个简单的模型

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

一个金宝appSimulink块是一个模型元素,它定义了输入和输出之间的数学关系。要创建这个简单的模型,需要四个Simulink模块。金宝app

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

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

打开新模型

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

  1. 开始MATLAB®。从MATLAB工具栏中,单击金宝app按钮

  2. 单击空白模型模板。

    打开Si金宝appmulink编辑器。

  3. 模拟选项卡上,选择Save b>另存为。在文件名称文本框中,输入模型的名称。例如,simple_model。点击保存。模型以文件扩展名保存.slx

开放金宝app库浏览器

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

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

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

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

  • 存储和显示连接到它们的信号的块

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

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

  2. 将库浏览器设置为保持在其他桌面窗口的顶部。在“Simul金宝appink库浏览器”工具栏上,选择保持领先按钮

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

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

获取一个区块的详细信息。右键单击Pulse Generator块,然后选择帮助脉冲发生器模块。帮助浏览器将打开该块的参考页面。

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

向模型添加块

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

  1. 来源,将脉冲发生器块切换到Simulink编金宝app辑器。一份脉冲发生器的值的文本框出现在模型中振幅参数。输入1

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

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

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

    获得:2

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

    初始条件:0

    外港 金宝app模型/下沉

    端口号:1

    再加一个外港通过复制现有的块,并使用键盘快捷键将其粘贴到另一个点。

    您的模型现在拥有了所需的模块。

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

连接块

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

  1. 控件右侧的输出端口脉冲发生器块。

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

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

    点击提示。金宝appSimulink用一条线和一个指示信号流方向的箭头连接这些块。

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

  4. 的两个输出连接积分器,二阶Block to two外港块。

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

添加信号查看器

要查看仿真结果,请将第一个输出连接到a信号查看器

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

您可以通过双击图标随时打开作用域。

运行仿真

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

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

    的默认停止时间10.0适合此型号。这个时间值没有单位。Simulink中的时间单位取决于金宝app如何构造方程。这个例子模拟了一辆汽车10秒的简化运动——其他模型的时间单位可能是毫秒或年。

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

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

改进模型

这个例子采用了一个现有的模型,moving_car.slx,并基于该运动模型对接近传感器进行建模。在这种情况下,一个数字传感器测量汽车与10米(30英尺)外障碍物之间的距离。该模型考虑了以下条件,输出传感器测量值和汽车位置:

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

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

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

更改块参数

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

open_system (“moving_car.slx”

您首先需要模拟当汽车位置到达时的硬停车10。Integrator, Second-Order块有一个用于此目的的参数。

  1. 双击Integrator, Second-Order块。弹出“块参数”对话框。

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

添加新的块和连接

增加一个传感器来测量与障碍物的距离。

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

    • 求实际距离。要找到障碍物位置和车辆位置之间的距离,添加减去数学操作图书馆。还要加上常数来源的常数值10对于障碍物的位置。

    • 模拟不完美的测量,这将是一个典型的真实传感器。产生噪音带限白噪声来源图书馆。设置噪声功率参数0.001。将噪声添加到测量中添加数学操作图书馆。

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

    • 添加另一个外港连接到传感器输出。的默认值端口号参数。

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

注释的信号

向模型中添加信号名称。

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

  2. 要完成此操作,请单击远离文本框。

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

比较多个信号

比较实际的距离发出信号测量距离信号。

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

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

  3. 运行模型。观察者展示了两个信号,实际的距离黄色和测量距离蓝色的。

  4. 放大图,观察噪声和采样的影响。单击变焦按钮。左键单击并在希望更近距离查看的区域周围拖动窗口。

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

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

另请参阅

相关的话题