Python实现元胞自动机——十字路口

本文探讨了使用Python进行数学建模,模拟十字路口绿灯亮50秒内最多能通过多少辆汽车的问题。车辆长度按比例分配,犹豫时间随机,考虑了车间距、加速度、启动间隔和速度限制。通过代码实现并展示了运行结果。
摘要由CSDN通过智能技术生成
十字路口绿灯亮50秒,最多可以通过多少辆汽车?

规则:

  • 1.通过十字路口的车各不相同,但遵循50%的车长L为2米,50%的车长L为2.5米。
  • 2.假设每一辆车在前一辆车已经启动的前提下由于自身原因犹豫是否开始启动的时间是随机的,定义为犹豫时间Ht(犹豫时间包括启动间隔T,且时间为整数秒)。设犹豫时间Ht在区间内[T,T+5](单位为秒)。

假设与变量:

  • 车间隔D均为2米
  • 加速度a均为2米/平方秒
  • 启动间隔(即开始启动到车身滑动的时间)为T=1秒
  • 速度上限V为11米/秒
  • 第n辆车第t秒离红绿灯的距离Dist(n,t)
  • 第n辆车实际上启动的时刻tn
  • 每辆车达到满速的时刻Tn
#可以提前考虑极端情况,所有车都不“犹豫”,且车长均为2米,且均以11m/s的速度行驶,显然,第40辆车必然不可能通过路口(因为40*4/11+40>50)
#故假设后续有25辆车正在等待绿灯亮起
import numpy as np
Ht_car=np.random.randint(1,6,40)
Long_car=np.where(Ht_car>5,2.5,2)

#计算第n辆车距十字路口的距离
def Dist(n,D=2):
    dist=(n-1)
  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值