元胞自动机 NaSch 模型及其 MATLAB 代码
作业要求
根据前面的介绍,对 NaSch 模型编程并进行数值模拟:
模型参数取值:Lroad=1000,p=0.3,Vmax=5。
边界条件:周期性边界。
数据统计:扔掉前 50000 个时间步,对后 50000 个时间步进行统计,需给出的结
果。
基本图(流量-密度关系):需整个密度范围内的。
时空图(横坐标为空间,纵坐标为时间,密度和文献中时空图保持一致, 画 500
个时间步即可)。
指出 NaSch 模型的创新之处,找出 NaSch 模型的不足,并给出自己的改进思路。
流量计算方法:
密度=车辆数/路长;
流量 flux=density×V_ave。
在道路的某处设置虚拟探测计算统计时间 T 内通过的车辆数 N;
流量 flux=N/T。
在计算过程中可都使用无量纲的变量。
1、NaSch 模型的介绍
作为对 184 号规则的推广,Nagel 和 Schreckberg 在 1992 年提出了一个模拟车
辆交通的元胞自动机模型,即 NaSch 模型(也有人称它为 NaSch 模型)。 � 时
间、空间和车辆速度都被整数离散化。道路被划分为等距离的离散的格子,即元
胞。
每个元胞或者是空的,或者被一辆车所占据。
车辆的速度可以在(0~Vmax)之间取值。
2、NaSch 模型运行规则
在时刻 t 到时刻 t+1 的过程中按照下面的规则进行更新:
(1)加速:vn min(vn 1,vmax)
规则(1)反映了司机倾向于以尽可能大的速度行驶的特点。
(2)减速:vn min(vn,dn)
规则(2)确保车辆不会与前车发生碰撞。
(3)随机慢化:以随机概率 p 进行慢化,令:vn min(vn-1,0)
规则(3)引入随机慢化来体现驾驶员的行为差异,这样既可以反映随机加速行为,
又可以反映减速过程中的过度反应行为。这一规则也是堵塞自发产生的至关重要
因素。
(4)位置更新:vn�xn�vn,车辆按照更新后的速度向前运动。 其中 vn,xn
分别表示第 n 辆车位置和速度;l(l≥1)为车辆长度;
p 表示随机慢化概率;dn�xn�1�xn�1 表示 n 车和前车 n+1 之间空的元胞数;
vmax 为最大速度。
3、NaSch 模型实例
根据题目要求,模型参数取值:L=1000,p=0.3,Vmax=5,用 matlab 软件进行编
程,扔掉前 11000 个时间步,统计了之后 500 个时间步数据,得到如下基本图和
时空图。
3.1 程序简介
初始化:在路段上,随机分配 200 个车辆,且随机速度为 1-5 之间。