如何建立分类模型matlab,创建简单模型-尊龙游戏旗舰厅官网
创建简单模型
您可以使用 simulink® 来对系统建模,然后仿真该系统的动态行为。本教程中创建简单模型所使用的基本方法也适用于创建更复杂的模型。此示例对简化的汽车运动进行仿真。当踩下油门踏板时,汽车通常处于行进状态。松开踏板后,汽车怠速并停下来。
simulink 模块是定义模块输入和模块输出之间数学关系的模型元素。要创建这个简单模型,您需要四个 simulink 模块。
模块名称模块目的模型目的pulse generator为模型生成输入信号表示加速踏板
gain将输入信号乘以常量值计算踩下加速踏板后如何影响汽车的加速度
integrator, second-order将输入信号积分两次根据加速度计算汽车位置
outport指定一个信号作为模型的输出指定汽车位置做为模型的输出
此模型的仿真过程是将一个简短的脉冲信号积分两次,形成一个斜坡。结果显示在一个示波器窗口中。输入脉冲表示是否踩下油门踏板 - 1 表示踩下,0 表示未踩下。输出斜坡表示与起点之间的距离增加。打开新模型
使用 simulink editor 构建模型。
启动 matlab®。在 matlab 工具条上,点击 simulink 按钮 。
点击 blank model 模板。
simulink editor 打开。
从 simulation 选项卡中,选择 save > save as。在 file name 文本框中,输入您的模型的名称。例如,simple_model。点击 save。模型使用文件扩展名 .slx 进行保存。打开 simulink库浏览器
simulink 在库浏览器中提供了一系列按功能分类的模块库。下面是大多数工作流常用的一些模块库:
continuous - 表示具有连续状态的系统的模块
discrete - 表示具有离散状态的系统的模块
math operations - 实现代数和逻辑方程的模块
sinks - 存储并显示所连接信号的模块
sources - 生成模型的驱动信号值的模块
在 simulation 选项卡中,点击 library browser 按钮 。
将库浏览器设置为始终在其他桌面窗口前端。在 simulink 库浏览器工具栏上,选择 stay on top 按钮 。
要浏览模块库,请从左窗格中选择一个类别,然后选择一个功能区。要搜索所有可用的模块库,请输入搜索词。
例如,查找 pulse generator 模块。在浏览器工具栏的搜索框中输入 pulse,然后按 enter。simulink 将在模块库中搜索名称或说明中包含 pulse 的模块,然后显示这些模块。
获取模块的详细信息。右键点击 pulse generator 模块,然后选择 help for the pulse generator block。help 浏览器随即打开并显示该模块的参考页。
模块通常有几个参数。您可以通过双击该模块来访问所有模块参数。将模块添加到模型
要开始构建模型,请浏览库并添加模块。
从 “sources” 库中,将 pulse generator 模块拖到 simulink editor 中。您的模型中将出现 pulse generator 模块的副本,还有一个文本框用于输入 amplitude 参数的值。输入 1。
参数值在整个仿真过程中保持不变。
使用相同的方法将以下模块添加到模型中。
模块库参数gain“simulink/math operations”gain: 2
integrator, second-order“simulink/continuous”initial condition: 0
outport“simulink/sinks”port number: 1
复制现有 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 选项卡中,通过更改工具栏中的值来设置仿真停止时间。
默认停止时间 10.0 适合此模型。此时间值没有单位。simulink 中的时间单位取决于方程的构造方式。此示例对简化的汽车运动进行 10 秒的仿真 - 其他模型的时间单位可以是毫秒或年。
要运行仿真,请点击 run 按钮 。
仿真开始运行并在查看器中生成输出。
细化模型
此示例使用现有模型 moving_car.slx,并基于此运动模型对接近传感器建模。在这种情况下,数字传感器用于测量汽车与 10 米(30 英尺)外的障碍物之间的距离。模型基于下列条件来输出传感器的测量值和汽车的位置值:
汽车在到达障碍物时会紧急刹车。
在现实世界中,传感器对距离的测量不够精确,从而导致随机数值误差。
数字传感器以固定时间间隔运行。更改模块参数
要开始,请打开 moving_car 模型。在 matlab 命令行中,输入:
open_system('moving_car.slx')
您首先需要对在汽车位置到达 10 时的紧急刹车进行建模。integrator, second-order 模块有用于此目的的参数。
双击 integrator, second-order 模块。将出现 block parameters 对话框。
选择 limit x,然后为 upper limit x 输入 10。参数的背景色发生变化以指示模型存在未应用的修改。点击 ok 应用更改并关闭对话框。添加新模块和连接
添加一个用来测量与障碍物之间距离的传感器。
修改模型。根据需要展开模型窗口,以容纳新模块。
求实际距离。要想求出障碍物位置和车辆位置之间的距离,需要从 “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 参数的默认值。
连接新模块。integrator,
second-order 模块的输出已连接到另一个端口。要在该信号中创建分支,请左键点击该信号以突出显示可供连接的端口,然后点击适当的端口。
为信号添加注释
将信号名称添加到模型中。
双击信号并键入信号名称。
要完成输入,请点击文本框外部。
重复上述步骤以添加下图中所示的名称。
比较多个信号
将 actual distance 信号与 measured distance 信号进行比较。
创建 scope viewer 并将其连接到 actual distance 信号。右键点击信号并选择 create & connect viewer > simulink > scope。信号的名称显示在查看器标题中。
将 measured distance 信号添加到同一个查看器中。右键点击信号,然后选择 connect to viewer > scope1。确保您连接到在上一步中创建的查看器。
运行模型。查看器显示两个信号:actual
distance(黄色)和 measured
distance(蓝色)。
放大图形以观察噪声和采样的影响。点击 zoom 按钮 。左键点击并拖动鼠标框住您想放大查看的区域。
您可以反复放大以观察细节。
从图中可以看到,测量值可偏离实际值达 0.3 米之多。此信息在设计安全功能(例如碰撞警告)时非常有用。
另请参阅
模块
相关主题
总结
以上是尊龙游戏旗舰厅官网为你收集整理的如何建立分类模型matlab,创建简单模型- matlab simulink- mathworks 中国的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇:
- 下一篇: matlab已知坐标均匀取电,基于mat