当前位置: 首页 版块 Matlab/Simulink
实时仿真的是指程序运行的时间和真实时间是一致的。我们都知道simulink仿真的时候可以设置仿真时间,默认的10s,但是这个时间不同于实际时间。对于一个简单的模型,比如显示一个正弦波,也许设置的仿真时间为10s而simulink仿真运行只用了零点几秒就完成了,而对于一个复杂的模型,也许仿真10s需要simulink计算十几分钟。也就是说simulink中设置的仿真时间可以看作是仿真步而不是实际的时间(仿真步的概念跟微分方程的数值解法有关,以simulink中求解器solver设为定步长为例,形象的说,仿真时间除以步长得到仿真步,例如10/0.01=1000步,matlab计算这1000个迭代步的时间才是模型运行的时间)
这个过程是非实时的。它所耗费的时间却决于模型的复杂程度、计算机性能等因素,因此这个时间对我们来说是不可控的。然而在进行仿真,特别是涉及到硬件的硬件再环仿真(HIL)的时候,我们往往要求程序的响应和真实时间是一致的。举例来说,如果我们建立了一个飞机的动力学模型,现在希望考察它对摇杆操纵的响应情况。如果程序运行的太快或太慢都将导致和摇杆输入量的不匹配,那么计算出来的结果也是没有意义的。所以实时仿真就显得十分重要了。一个程序要实时,包括两层含义:程序不能响应太慢,也就是在一个仿真步长内必须完成一次计算;也不能太快,完成一次计算后还没有到下一个步长就要等待。能进行实时仿真的工具很多,其中Matlab/Simulink的Simulink Desktop Real-Time功能可以很方便地实现这一功能。
内容来源于网络,版权归原作者所有。若涉及侵权,请告知删除!
请登录后评论~