今天跟大家分享一个关于动态模型的问题(动态模型是什么意思)。以下是这个问题的总结。让我们来看看。
一、应力力学的动态模型
根据化学反应的不同特点和应用要求,常用的动力学模型有:从实用角度出发,不涉及反应机理,用简单的数学方程拟合实验数据,通常用幂函数表示。
对于涉及成千上万组分的复杂反应过程(如石油炼制中的催化裂化),不可能建立描述反应过程中各组分变化的分子反应模型。近年来发展了集总动力学 *** ,将反应体系中的所有组分组合成有限个集总组分,然后建立集总组分的动力学模型。集总动力学模型已成功应用于石油炼制过程,如催化裂化、催化重整和加氢裂化。
二、相扑中的车辆动力学模型
相扑中的车辆动力学模型包括两个方面。
纵向模型:描述车辆加速和减速的纵向动态模型。
横向模型:横向动态模型,描述车辆变道。
在纵向模型方面,由于SUMO主要用于研究车辆的外部行为、多车相互作用和交通流,因此单车的建模精度不高,可以近似视为质点,采用相对简单的跟驰模型来描述车速和位置的变化规律。跟车模型有两种情况:没有前车和有前车。
横向模型方面,相扑采用换道模型(参考)。简单来说就是以决策树的方式设置很多变道条件。只要满足一定的条件,就会进行相应的换道操作。
默认的变道模式是瞬时变道,即在一个模拟步骤中完成变道,直观上就是车辆在两条车道之间瞬间移动。
更复杂的型号包括:
具体设置请参考https://sumo.dlr.de/wiki/simulation/sublanemodel # subline-model。
本文主要介绍跟驰模型。
要理解相扑默认使用的改进的Krauss模型,我们需要先理解原Krauss模型的建模思想。
克劳斯模型来自文献:
假设是领导者和追随者之间的距离,哪里是车身的长度。
如果要求车辆不碰撞,需要满足。
在…之中
为了计算,需要给出速度和制动距离的函数表达式和。下面用函数at的泰勒展开式近似代替函数,忽略高阶项。
下面的问题是如何计算导数。
假设制动时加速度为0,则有
积分项对应于制动加速度为零时的制动距离。
一般在计算距离时,我们习惯将积分区间设为时间,被积函数设为速度。这里,积分区间被设置为速度的变化区间,并且时间被积分。在该积分之后,获得关于速度的函数用于后续操作。
把公式带入公式
上面表达式的右边包含,所以需要重新整理,得到的显式表达式为
其中,原来的也换成了更大制动加速度。
以上公式是相扑原始Krauss模型的安全跟车速度表达式,部分程序源代码如下:
这个公式的右边是安全跟车速度,记住。然而,这个速度不是最终车辆采用的跟随速度。类似于没有前车的情况,我们也要保证跟车速度不能超过允许更高速度,所以我们要取安全速度和允许更高速度的较小值,即
其中是更大加速度,是模拟更新步长。
另外,可以引入一个随机因子,表示车辆不一定遵循上述安全跟车速度,可以取一个较小的值,即
其中,为外部设置的影响参数表示偏离的程度。
总结算法步骤:
上面提到的最初的Krauss模型虽然包含在SUMO中,但并没有作为默认的跟车模型,而是做了很大的改动。改进后的车型出发点和原来的克劳斯车型一样:车速要尽可能快,不发生碰撞。但是在安全速度的计算上和原来的克劳斯完全不一样。
改进的Krauss模型仍然是基于上述公式,但它没有用泰勒展开式来近似制动距离函数,而是直接用数值计算。步骤和源代码实现如下:
上式中,是前车速度降至零所需的时间。
以上计算过程是通过SUMO源代码中的brakeGapEuler函数实现的。
这里需要注意的是,SUMO默认采用欧拉数值积分,计算位置的公式如下:
即力矩的位置等于力矩的位置加上力矩的速度引起的位置变化。
了解这种集成 *** ,才能更好地理解源代码中的计算公式。
得到安全跟车速度后,剩下的就和原来的Krauss模型差不多了,要和更大允许速度比较,还要考虑随机因素。它在followSpeed函数和蘑菇2函数中实现。
3.动态模型和传递函数有关系吗?
是。动力学模型是在运行的时候是会用到这个传递函数的,二者是有关的,关系是很密切的。应用系统动力学的基本理论和DYNAMO语言建立的仿真模型。系统动力学模型可用于宏观经济和微观经济。四、动态模型的定义
以上是边肖对动态模型问题(动态模型的含义是什么)及相关问题的回答。希望动态模型的问题(动态模型是什么意思)对你有用!