Simulink经典案例-弹球仿真


Hi,我是一块大肥皂,请各位大佬多指教~


问题概述

问题分析

球体初始高度为10m

初速度为15m/s,初始速度向上

地面为刚性的,小球为弹性的

当高度为0时,会发生一次碰撞,动量会发生改变

每次与地面碰撞时,小球会失去一部分动量,导致小球最终会停下来

通过如下公式,可以通过公式描述出小球的运动特性:

验证下公式

首先尝试通过这样一个模型先描述小球首次上抛和下降时的位置和速度变化

没问题,描述出了小球首次上抛和下降在弹回前的位置变化。

如何表现反弹?

首先,当位置变为0时,小球发生碰撞,动量方向发生改变指向反方向。同时,小球在反弹过程中会损失部分动量。由于假设小球碰撞前后质量不变,因此可以认为小球碰撞后的速度 abs(Vaftpeng = abs(k*Vbefpeng),0<k<1。

初步想法:在模型中可以体现为,当检测到位置为0时,重置速度为k*Vbefpeng。

第一次实现:

当小球位置≤0时:

进行一次触底计数累加,累加次数大于0时,速度积分器的输入值由初始速度切换为新速度。

将上一个时刻的小球速度*-0.8得到反弹后的速度,重置速度模块的积分器,重新开始对速度进行计算。

新的速度积分输入到位置积分器,位置积分器持续描述小球的位置变化情况。

虽然好像成功仿真了小球的反弹,但是系统有些太复杂了。。。

参考一下Matlab的示例:

明显简洁了很多

对比我第一次建立的模型,其处理触底反弹的方式则简单了很多。

触底时:

重置速度积分器,重新输入初始值为重置时速度值的-0.8倍。

重置位置积分器,位置重新从0开始计数。

对比起来,主要是由于对积分模块initialvalue port和state port的运用不够熟练,导致在初始值和重置积分器的方法上复杂很多。

另外值得注意的是,两个仿真中的位置仿真结果也稍有不同,这个问题我们下期再继续进行探讨学习。

模型分享:

https://download.csdn.net/download/weixin_44281768/12838633

Simulink学习——弹球仿真(一)相关推荐

  1. Simulink学习——弹球仿真三维动画模型(Simulink3D演示动画学习01)

    前有一期我们学习了如何进行物理世界的简单建模仿真,如弹球仿真 https://onebigsoap.blog.csdn.net/article/details/108503788 ,其中可以看到弹球的 ...

  2. Simulink三相电机仿真(2)

    Simulink电机制动仿真----能耗制动 小树不修不直溜,人不学习哏揪揪!总结前两次Simulink三相电机仿真经验,此次本小学生决定尝试仿真三相电机制动的另一种方法,即能耗制动方法的仿真,查阅了 ...

  3. 永磁同步电机PMSM启动Simulink建模与仿真

    永磁同步电机PMSM启动Simulink建模与仿真 学习完PMSM的基本原理之后,再根据具体的连接原则设计simulink仿真模型:主要包括一个产生三相正弦波的产生源,再两两相加减,再经过两个受控电压 ...

  4. Simulink三相异步电机仿真(1)

    Simulink电机制动仿真----反接制动 小树不修不直溜,人不学习哏揪揪!有动就有静,有屎就有终,写的有点恶心,不过言之有道,既然已经仿真了启动过程,做人要有头有尾,做事要有始有终,本小学生在经历 ...

  5. Simulink三相电机仿真(4)

    Simulink电机故障仿真----过载与电源故障 小树不修不直溜,人不学习哏揪揪!今天本小学生将要和大家分享一下有关Simulink电机故障仿真的其他常见故障,即电机过载情况与电机输入电源故障,特总 ...

  6. Simulink三相电机仿真(3)

    Simulink电机故障仿真----三相电机短路故障 小树不修不直溜,人不学习哏揪揪!各位亲人们大家好,本小学生又活着回来了.最近节日比较密集,过完了女神节后,基本上就没什么伤身又伤心的节日了.又可以 ...

  7. Simulink 学习(一)

    一.基本操作 Simulink多用于仿真,分为模块,输入,输出. matlab中,有两种方法打开,第一种就如图所示,第二种直接在命令窗口输入:simulink 模块库 例如,常量倍数放大利用Math ...

  8. FXLMS主动降噪的simulink建模与仿真

    ** ** FXLMS主动降噪的Simulink建模与仿真 ** ** 最近在研究关于主动降噪的课题,在摸索学习的过程中,分享一些初步学到的知识. **FXLMS算法是基于LMS算法在次级通道补偿方向 ...

  9. Simulink仿真入门到精通(五) Simulink模型的仿真

    本系列教程是根据孙忠潇编著的<<Simulink仿真及代码生成技术入门到精通>>学习笔记. 目录 Simulink仿真入门到精通(一) Simulink界面介绍 Simulin ...

最新文章

  1. 参加第十六届智能车竞赛学生提出的问题-05-10
  2. mysql怎么在海量数据上ddl_浅谈MySQL Online DDL(中)
  3. CDH6.3.2集群安装hue报错: HDFS dependency is missing.
  4. 外网ip怎么查_无公网IP的情况下,搞定群晖并实现远程Nas访问
  5. 监控路由器虚拟服务器,远程监控路由器虚拟服务器设置
  6. unicode ascii
  7. 老司机找bug的心路历程
  8. 设计模式笔记十四:责任链模式
  9. Keras-1 学习Keras,从Hello World开始
  10. 模型预测控制的缺点_【电子技术】【2018.01】模型预测控制FPGA实现的协同设计...
  11. python多进程之间的通信:消息队列Queue
  12. ROS的学习(十四)用C++写一个简单的接收者
  13. java文件字节流和文件字符流的使用
  14. 动态规划 分享巧克力 4794_包装|颇具艺术欣赏性的巧克力创意包装设计
  15. kali linux 安装驱动安装教程,kali linux安装NVIDA显卡驱动教程
  16. 产品配件类目税目分类_商品类别税率一览表
  17. 你想要的宏基因组-微生物组知识全在这(2020.7)
  18. 【推荐】万物兴歇——衰老与寿命的演化
  19. 归置归置,我的 2022
  20. oracle sqlnet配置,sqlnet.ora文件配置详解

热门文章

  1. 女婴太平间复活 看全球诡异复活事件
  2. toshare获取所有A股数据(复权数据)
  3. python dfs算法_python从入门到进阶,就靠这份书单了
  4. 读书笔记:奥卡姆剃刀
  5. PPT电子教学创作工具包iSpring Suite,教你制作教学视频(上)
  6. 万国觉醒辅助脚本工具(附代码)
  7. 【Apollo】决策技术分享
  8. 安卓手机微信发不出去怎么办 微信不能发信息怎么办
  9. reduce()数组方法的使用场景
  10. 聊一聊Java8 Optional,让你的代码更加优雅