本文已参加「新人创造礼」活动,一同开启创造之路。

介绍

  • 第一个实例太过简略,并且看不出什么实际效果,因此这次选了一个比较靠近中学物理的试验,弹跳球试验
  • 这个试验是在观看一位教师的入门课程时想测验的试验:MATLAB/Simulink基础入门视频教程:https://www.bilibili.com/video/av19917837/ 这位教师具体介绍了Simulink的根本用法和许多入门细节问题,很值得新人花一个小时的时刻观看学习。

试验背景

【Matlab/Simulink学习教程】入门练习——搭建一个弹跳球实验

  • g是地球上的重力加速度,大约为9.8

试验过程

  1. 拉取相应控件

    【Matlab/Simulink学习教程】入门练习——搭建一个弹跳球实验

  2. 调整Gain和Memory控件的方向

    【Matlab/Simulink学习教程】入门练习——搭建一个弹跳球实验
    【Matlab/Simulink学习教程】入门练习——搭建一个弹跳球实验

    对称方向调整快捷键:Ctrl+I

  3. 调整常数控件Constant参数为-9.8,表明重力加速度

    【Matlab/Simulink学习教程】入门练习——搭建一个弹跳球实验

  4. 调整二阶积分器控件Integrator Second-Order参数

  • x表明小球的高度,初始值设置为10
  • 由于在物理体系中,高度不可能小于0,所以对x的值进行限制,勾选Limit x,设置Lower limit x的值为0,表明最小为0,Upper limit x的值为inf,表明最大为无穷大
    【Matlab/Simulink学习教程】入门练习——搭建一个弹跳球实验
  • x取名为Postion:在State name x处输入Position,会有红色正告,然后点击右侧的三个点,点击Position Create,弹出Create New Data
    【Matlab/Simulink学习教程】入门练习——搭建一个弹跳球实验
    输入带英文双引号的”Position”,点击Create
    【Matlab/Simulink学习教程】入门练习——搭建一个弹跳球实验
    点击OK
    【Matlab/Simulink学习教程】入门练习——搭建一个弹跳球实验
    变量x设置完成
    【Matlab/Simulink学习教程】入门练习——搭建一个弹跳球实验
  • dx/dt表明小球的速度,咱们从外部取值,设置Initial condition source dx/dt为external
  • 新建一个变量Velocity,办法和x的Position一样
    【Matlab/Simulink学习教程】入门练习——搭建一个弹跳球实验
  • 在Attribute中,勾选Reinitialize dx/dt when x reaches saturation
    【Matlab/Simulink学习教程】入门练习——搭建一个弹跳球实验
    至于这个设置的含义是什么,咱们能够右键该设置,弹出what’s this,点击后会看到官方给出的解说
    【Matlab/Simulink学习教程】入门练习——搭建一个弹跳球实验
    【Matlab/Simulink学习教程】入门练习——搭建一个弹跳球实验
  • 设置完成后,Integrator Second-Order的控件显现也会发生变化
    【Matlab/Simulink学习教程】入门练习——搭建一个弹跳球实验
  1. 设置Scope模块,点击左上角的设置符号,讲输入端口个数改为2,表明检查两个信号模块(速度和高度)

    【Matlab/Simulink学习教程】入门练习——搭建一个弹跳球实验

  2. 设置IC模块,用于速度初始值的设置,将初始值设置为15

    【Matlab/Simulink学习教程】入门练习——搭建一个弹跳球实验

  3. 设置Gain模块,用于恢复系数,设置为-0.8

    【Matlab/Simulink学习教程】入门练习——搭建一个弹跳球实验

  4. 还有一个Memory模块,用于防止发生代数环,无需设置。参数设置完成后,如下图所示

    【Matlab/Simulink学习教程】入门练习——搭建一个弹跳球实验

  5. 开始连线

    【Matlab/Simulink学习教程】入门练习——搭建一个弹跳球实验

注:这条连线的办法是,在已有线段上点击鼠标右键,呈现十字符号,然后连接到Memory模块右侧

【Matlab/Simulink学习教程】入门练习——搭建一个弹跳球实验

  1. 设置整个体系的参数 在空白处点击鼠标右键,选择Model Configuration Parameters,翻开设置面板
    【Matlab/Simulink学习教程】入门练习——搭建一个弹跳球实验
    将仿真时刻设置为25秒,将最大步长设置为0.01
    【Matlab/Simulink学习教程】入门练习——搭建一个弹跳球实验
  2. 全部设置完成后,双击翻开Scope,点击Run,咱们能够观察到小球速度和高度的变化趋势,蓝色线条是速度,黄色线条是高度
    【Matlab/Simulink学习教程】入门练习——搭建一个弹跳球实验
    【Matlab/Simulink学习教程】入门练习——搭建一个弹跳球实验
  3. 咱们也能够进行单步调试,每一次点击Step Forward,模型会以0.01的步长进行变化
    【Matlab/Simulink学习教程】入门练习——搭建一个弹跳球实验

完毕

  • 据视频中介绍,试验来历:Simulink协助文档>Examples>General Applications>Simulation of a Bouncing Ball,我在协助文档里,找到的是“弹球的仿真”,模型与视频的稍有不同,可能是咱们版别不一样的问题,我用的是Matlab R2021a版别。本博文以视频中的操作为准,如果你有兴趣的话,能够去协助文档里检查该模型。

    协助文档内“弹球的仿真”示例:

    【Matlab/Simulink学习教程】入门练习——搭建一个弹跳球实验
    【Matlab/Simulink学习教程】入门练习——搭建一个弹跳球实验
    【Matlab/Simulink学习教程】入门练习——搭建一个弹跳球实验

  • 至此,Simulink根本的建模功用已经把握,下一次打算测验视频里的另一篇样例:Simulink协助文档>Simulation>View and Analyze Simulation Results>Frequently Viewed Topics>Log Signals to the Simulation Data Inspector,我在我的协助文档里找到的是“容错燃油控制体系建模”,看起来不是不是很有应战呢。
    【Matlab/Simulink学习教程】入门练习——搭建一个弹跳球实验