道路交通matlab代码纳格尔·施雷肯贝格交通
使用Nagel-Schreckenberg模型的基于Matlab的多车道交通模拟器
PHYS
3150-项目4
对于这个项目,我选择使用创建一个多车道交通模拟器。
该程序将生成2行,每行包含100个单元(或者用户希望使用多个单元),并在整个单元中均匀分配预定数量的汽车(默认为15个)。
该程序经过建模,因此可以认为“道路”的尽头与循环的起点相连。
每辆汽车的初始速度为每步3个单元。
每一步,都会根据一些不同的因素来修改每辆车的速度。
首先,如果每辆汽车的速度小于最大速度,则每步汽车将获得一个单元格的速度增加。
其次,它将检查是否正在接近其他任何汽车;
如果它在同一车道上靠近另一辆车,并且在另一车道上有空间,则该车将移动到另一车道。
如果程序发现两条车道都在驶近汽车,它将减速至与汽车之间的距离相等的速度。
如果意识到正在接近的汽车在另一车道上,则汽车将以相同的速度继续行驶。
该程序不会给汽车以车道优先权;
也就是说,它将车道视为相等,并且仅当它接近同一车道中的汽车时才会改变车道。
第三个因素是随机方面。
对于每一步,汽车的速度都有50%的机
2022-09-19 04:31:55
11KB
系统开源
1