交叉口信号配时

合集下载

智能交通系统中的交叉口信号配时优化方法比较研究

智能交通系统中的交叉口信号配时优化方法比较研究

智能交通系统中的交叉口信号配时优化方法比较研究智能交通系统(Intelligent Transportation System,简称ITS)的发展已经为城市交通管理和交通运输带来了巨大的变革。

而交叉口是城市道路网络中最繁忙、最复杂的部分之一,因此,交叉口信号配时的优化对于提高交通流效率、减少车辆延误、缓解交通拥堵具有重要意义。

本文将比较研究几种常见的交叉口信号配时优化方法,希望能够为智能交通系统的进一步发展提供参考。

一、传统的交叉口信号配时优化方法1. 固定配时方法固定配时方法是最早也是最简单的交叉口信号配时方法之一。

它是通过根据交叉口繁忙方向的通行需求确定各个方向的信号灯显示时间,并在整个时间段内保持不变。

这种方法的优点是操作简单、适用范围广;缺点是不能根据实时交通流量变化进行调整,因此在交通流量变化较大的情况下效果不佳。

2. 阶段配时方法阶段配时方法是基于事先确定的信号灯阶段组合,根据交叉口的流量情况及调度要求来选择合适的信号灯阶段组合,以适应交通流量的变化。

这种方法相对于固定配时方法来说,在适应交通流量变化方面有一定的灵活性,但是还是需要事先确定好阶段组合,对于交通流量变化较为剧烈的交叉口,效果依然不理想。

二、基于智能交通系统的交叉口信号配时优化方法1. 基于车辆传感器的实时配时方法该方法通过在交叉口的车道上安装车辆传感器,实时感知车辆的存在与否,以此为基础进行信号灯的配时。

当车辆经过传感器时,传感器会向交通信号控制器发送信号,交通信号控制器据此进行智能的信号配时。

该方法可以根据交通流量的变化进行即时调整,有效地减少车辆等待时间,提高交通效率。

2. 基于智能算法的优化配时方法这种方法利用智能算法(如遗传算法、模拟退火算法等)对交叉口的信号灯配时进行优化。

首先,利用传感器采集到的交通数据来建立优化模型,然后,应用智能算法对模型进行求解,以得到最优的信号配时方案。

这种方法可以根据实时交通数据进行智能调整,以适应交通流量的变化和优化交通状况。

道路平面交叉口信号配时计算

道路平面交叉口信号配时计算

四、交通设计与改善方案4.1 交通设计方案4.2 交通组织改善4.2.1 信号配时的计算(1)迎江路与和州大道交叉口相位方案为:①南北向直行和右转②南北向专用左转③东西向直行和右转④东西向专用左转。

交叉口信号相位如图4.1所示,交叉口信号相位配时如图4.2所示。

图4.1 迎江路与和州大道交叉口信号相位图图4.2 迎江路与和州大道交叉口现在信号相位配时图交叉口各进口道的流量及通行能力如表4.1所示。

流量比q y s=,式中q-小时流量,s-通行能力。

经计算,各进口道的流量比如表4.2所示。

根据图4.1、表4.2,可以得出:第一相位的流量比取0.2352,第二相位的流量比取0.1415,第三相位的流量比取0.1991,第四相位的流量比取0.0945。

总流量比:12340.23520.14150.19910.09450.6703Y y y y y =+++=+++= 已知起动损失时间3s L s =,黄灯时长3A s =,绿灯间隔时间3I s =。

信号周期内总的损失时间1()(333)12ns kk kL L I A ==+-=+-=∑∑s因此,最佳信号周期0 1.55 1.5*1252370110.67030.3297L C Y ++====--s 一个周期总的有效绿灯时间为:0701258e G C L =-=-=s 第一相位的有效绿灯时间为:110.235258200.6703e e y g G Y =⨯=⨯=s 第二相位的有效绿灯时间为:220.141558120.6703e e y g G Y =⨯=⨯=s 第三相位的有效绿灯时间为:330.199158180.6703e e y g G Y =⨯=⨯=s第四相位的有效绿灯时间为:440.09455880.6703e e y g G Y =⨯=⨯=s 第一相位的显示绿灯时间:11203320e s g g L A =+-=+-=s 第二相位的显示绿灯时间:22123312e s g g L A =+-=+-=s 第三相位的显示绿灯时间:33183318e s g g L A =+-=+-=s 第四相位的显示绿灯时间:448338e s g g L A =+-=+-=s 第一相位的显示红灯时间:1017020347r C g A =--=--=s 第二相位的显示红灯时间:2027012355r C g A =--=--=s 第三相位的显示红灯时间:3037018349r C g A =--=--=s 第四相位的显示红灯时间:404708359r C g A =--=--=s 交叉口信号相位配时如图4.3所示。

交叉口信号配时

交叉口信号配时

信号配时课程设计题目:院(系):专业班级:学号:学生姓名:指导教师:教师职称:起止时间:课程设计任务及评语院(系):教研室:目录1 课程设计的目的和要求课程设计的目的城市交通管理与控制课程设计,是交通工程专业课程设计的一部分,是交通工程专业高年级学生进行的专业实践课程。

课程设计目的在于让学生比较全面的掌握交叉口信号灯配时的设计和优化方法,巩固课堂上所学过的交通管理与控制知识,对城市道路平面交叉口进行交通设计,锻炼我们综合运用所学专业知识解决实际问题的能力,进而使我们具备简单的工程设计及实践动手能力。

课程设计的基本要求本课程设计对象为锦州市某一实际道路交叉口进行交通设计,要求我们进行实际交通数据调查,独立完成设计的各部分内容。

并进行相关资料查阅,有自己的见解,在课程设计结束时交一份详细的课程设计说明书。

2 中央大街与南宁路交叉口交通设计中央大街与南宁路交叉口简介本小组进行的是锦州市中央大街与南宁路交叉口的交通设计,中央大街地处锦州市商业繁华地带。

中央大街与南宁路交叉口四周分布着交通银行、中大购物广场和中国银行以及锦州华联家具广场的,交叉口交通较为复杂,是一个比较旧的交叉口。

中央大街和南宁路的路面标线很难看清。

经过实地调查和观测,中央大街为双向四车道,对向行驶的机动车分离,机动车与非机动车没有分离,道路宽度为30m ,南宁路是双向二车道,对向行驶的机动车没有分离,机动车与非机动车也没有分离,道路宽度为9m 。

中央大街正在修路,使现有的道路宽度变窄,中央大街与南宁路交叉口是一个无信号控制的交叉口,仅在早、晚高峰时才产生一些轻微的拥堵。

比较特殊的是,南宁路在6点以后为锦州古塔夜市,此时南宁路已无机动车行驶,而中央大街由于南宁路过往人流非常大,而导致过了晚高峰以后造成拥堵现象。

中央大街与南宁路交叉口数据调查中央大街与南宁路交叉口几何数据通过我们对中央大街与南宁路交叉口的步行测量和观测得知该交叉口的几何数据如下表所示:中央大街与南宁路交叉口的示意图如下图所示图1 交叉口示意图中央大街与南宁路交叉口交通数据通过对中央大街与南宁路交叉口的实地调查可以得到以下几方面:1)当前中央大街与南宁路交叉口车辆到达情况。

道路交叉口处信号灯的黄灯时间和优化配时问题-文档

道路交叉口处信号灯的黄灯时间和优化配时问题-文档

道路交叉口处信号灯的黄灯时间和优化配时问题-文档道路交叉口处信号灯的黄灯时间和优化配时问题在道路交叉口,都会设置红绿灯,为了让那些正行驶在交叉路口或离交叉路口太近而无法停车的车辆通过路口,红绿灯转换中间还要亮起一段时间的黄灯,近几年,国内很多城市已经对路口信号灯灯序及黄灯闪烁时间进行了“标准化”设置。

以保山市为例,将黄灯过渡信号时间统一设置为3 s,那么如何优化配时问题至关重要。

怎么设置科学合理的路标,才能让驾驶员作出正确的决策,避免由徘徊在停车还是继续前进的两难中引起的交通违法、交通事故。

为此,本文将研究如下两个优化配时问题:1)在给定的黄灯过渡信号时间下,在什么位置设立停车路标,即优化配置停车距离问题;2)要正确作出停车还是继续驾驶的决策,司机应在停车路标处以什么样的速度驾驶。

即速度的优化配时问题。

1 黄灯时间确定的数学模型下面给定一个道路交叉口,如图1。

图1 车辆在十字路口的平面示意图1.1 模型假设及符号说明1)设十字路口的长度为L,车身长度为l,停车线的路标为s,停车距离为吨ds。

2)设驾驶员反映时间T1,汽车通过十字路口时间T2,距停车线距离的驾驶时间T3,刹车的时间和距离为Tb、db,则黄灯应亮时间为T=T1+T2+T3。

3)设汽车质量为m,刹车摩擦因数为,g为重力加速度。

4)汽车从刹车时经过时间t的行驶距离为x(t),速度为v(t),且记汽车到路标s处的时刻为t=0时刻,且记v(0)=v0。

1.2 模型的建立由牛顿第二定律,刹车过程应满足如下微分方程:1.3 模型的求解对式(1)积分,将初始条件代入得显然,停车线(路标)s处是驾驶员在看到黄灯后确定停车还是继续通过路口的临界线。

黄灯时间应包含当汽车驾驶到s出时,驾驶员仍按速度v0均速通过的时间,即根据资料[4],各种路面与轮胎之间的动摩擦因数见表1。

表1 路面与轮胎之间的动摩擦因数对于模型(7)中的系数,取重力加速度g=10m/s2,路面类型为=0.8,驾驶员的反应时间T1=1.5s,典型车身长度为l=4m,路口宽度L设为10m~40m,不同黄灯过渡信号时间、不同路口宽度下,模型(7)算出优化配置速度v0及停车距离 ds的值。

交叉口信号灯配时案例计算模板

交叉口信号灯配时案例计算模板

高峰信号配时计算一、信号配时计算书交叉口几何现状为:北进口道五个车道,一个右转车道,三个直行车道,一个专用左转车道;南进口道五个车道,一个右转车道,三个直行车道,一个专用左转车道;西进口道两个车道,一个直右转车道,一个专用左转车道;东进口道三个车道,一个直右转车道,一个专用左转车道。

1、计算四个进口道各流向车道饱和流量S1)饱和流量用实测平均基本饱和流量乘以各影响因素校正系数的方法得到估算值。

即进口到的饱和流量:S=S bi·f式中:S——进口道的估算饱和流量(pcu/h);S bi——第i条进口道基本把饱和流量(pcu/h),i取T、L或R,分别表示相应的直行、左转或右转;各类进口道各有其专用相位时的基本饱和流量S bi,可采用下表数值:2、高峰各交叉口进口道交通量如下表本图需要替换掉表如下所示:3、采用四相位的信号控制方案,右转车道不受信号控制;结合上述问题分析,相位相序设置如图。

相位一:Y 1=max (0.195,0.261)=0.261 相位二:Y 2=max (0.143,0.165)=0.165 相位三:Y 3=max (0.254,0.200)=0.2 相位四:Y 4=max (0.121,0.200)=0.2流量比总和:Y=0.261+0.165+0.2+0.2=0.826由于交叉口总的饱和流量比小于0.9,可采用Webster 方法进行信号配时 5、信号总损失时间L启动损失时间s L =3s ,黄灯时长A=3s ,绿灯间隔时间I=3s ,一个周期内的绿灯间隔数为k=4。

则信号总损失时间 :()s L I A K L =+−=∑12s6、信号最佳周期时长0C已知流量比总和 Y=0.826,则0 1.551L YC +=−=133s ,取0C =135s 。

(周期取5的整数倍,不小于60s )7、计算绿灯时间总有效绿灯时间:0L G C e =−=123s相位1:11ee ygG Y ==123*0.261/0.826=39s 相位2:22ee yg G Y ==123*0.165/0.826=24s 相位3:33ee yg G Y ==123*0.2/0.826=30s 相位4:44=ee y gG Y=123*0.2/0.826=30s 8、初始各相位显示绿灯时间各相位实际显示绿灯时间:s 各相位显示绿灯时间: G1 = Ge1 – A + Ls = 39S G2 = Ge2 – A + Ls =24S G3 = Ge3 – A + Ls =30S G4 = Ge4 – A + Ls =30S 各相位绿信比:λ1 = Ge1 / C=39/135=0.29 λ2 = Ge2 / C=24/135=0.18 λ3 = Ge3 / C =30/135=0.22 λ4 = Ge4 / C =30/135=0.22于是,得信号配时如下表所示:e g g A L =−+。

信号交叉口信号配时

信号交叉口信号配时
=0.345
右转车道
1550
S S f f 左转专用车道饱和流量: = × ×
L
bL
w
g
S ―左转专用车道有专用相位时的基本饱和流量,pcu/h bL
饱和流量: S d = ST + S L
②计算流量比,公式如下。
yi=qi/si
③计算流量比的总和,公式如下式:
Y=Σmax[yj,yj……]= Σmax[(qd/sd)j, (qd/sd)j……]
2 交叉口渠化设计及优化组织方案设计.................................................................................................. 4 2.1 交叉口渠化设计方案....................................................................................................................... 4 2.2 交叉口设计相位方案....................................................................................................................... 5
1
目录
1 交叉口现状调查及数据分析............................................................................................................... 2 1.1 解放路/长征路交叉口现状概况..................................................................................................... 2 1. 2 交叉口设计交通流量数据.............................................................................................................. 3 1.3 交叉口各进口道大车率................................................................................................................... 3

交叉口信号配时

交叉口信号配时

信号配时课程设计题目:院(系):专业班级:学号:学生姓名:指导教师:教师职称:起止时间:课程设计任务及评语院(系):教研室:目录1 课程设计的目的和要求.................................................................课程设计的目的.....................................................................课程设计的基本要求.................................................................2 中央大街与南宁路交叉口交通设计.......................................................中央大街与南宁路交叉口简介.........................................................中央大街与南宁路交叉口数据调查.....................................................中央大街与南宁路交叉口几何数据 ................................................中央大街与南宁路交叉口交通数据 ................................................中央大街与南宁路交叉口目前交通设计情况分析 .........................................中央大街与南宁路交叉口交通现状 ................................................中央大街与南宁路交叉口设置交通控制信号依据 ....................................重新设计..........................................................................交叉口渠化....................................................................平峰信号配时方案设计..........................................................平峰配时参数计算..............................................................平峰配时方案验证..............................................................新旧交叉口渠化比较分析........................................................ 参考文献............................................................................... 附表................................................................................... 课程设计总结...........................................................................1 课程设计的目的和要求课程设计的目的城市交通管理与控制课程设计,是交通工程专业课程设计的一部分,是交通工程专业高年级学生进行的专业实践课程。

实验6交叉口信号相位配时调查

实验6交叉口信号相位配时调查
2.计算南北、东西方向的绿信比。
对实验结果的讨论
(讨论在实验过程中存在的问题及如何解决,或自己通过本次实验的收获等。)
2.调查时间:选择气候良好时间即可。
实验设备及器材
秒表、记录纸、笔等。
实验内容及流程
1.进行安全教育、调查方法等的培训,拟定调查方案。
2.调查方法:观察某固定周期信号控制的交叉口交通信号灯,分别记录各个相位的红、绿、黄色灯的时间,以及总的信号周期时间。
问题
(学生自己根据预习报告内容提出自己的问题)
指导教师批阅、签字:
实验报告册
课程名称:交通工程学实验实验项目:交叉口信号相位及配时调查
实验时间:2013年12月日指导老师:王丽
一、预习报告
实验目的
对交叉口的信号相位及配时进行调查分析,通过调查资料掌握信号相位及配时的规律,为交通管理与控制、交通安全等提供依据。
实验原理或相关知识
1.调查对象:某固定周期信号控制的交叉口交通信号灯相位及配时情况。
二、原始数据或信息记录
交叉口信号相位及配时调查记录表
调查日期:年月日 星期:天气:
调查地点:路路交叉口 调查时间:~
相位时间
绿灯
黄灯
红灯
信号周期时间
一(南北直行)
二(南北左转)
三(东西直行)
四(东西左转)
三、实验报告
数据或信息处理及实验结果
调查结果整理与分析:
1.画出信号运行相位图及信号配பைடு நூலகம்图。(参考课本213页图)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

摘要道路交叉口是指两条或两条以上道路的相交处。

车辆、行人汇集、转向和疏散的必经之地,为交通的咽喉。

因此,正确设计道路交叉口,合理组织、管理交叉口交通,是提高道路通行能力和保障交通安全的重要方面。

此次交叉口信号灯控制配时的调查地点是西南路和五一路交叉口。

该交叉口地处市区西南部,属于平面十字型交叉口。

西南路方向路段为双向五车道;五一路方向由东向西黄线以北是五车道,黄线以南是五车道,五一路由西向东黄线以北是两车道,黄线以南是三车道。

周围分布饭店、居民住宅区、净水厂等,是一个非常重要的交叉口,并且西南路是主干道。

本组通过实际观测的方法测得了道路交叉口的交通流量等信息。

西南路车流量比五一路车流量大很多,在五一路方向均有左转车流,西南路只在南进口存在左转车流,另外在五一路西路口和西南路南路口均有直行加右转相位。

且西南路南进口的左转仅限公交且车流量极少。

到目前为止,定时信号的配时方法在国际上主要有英国的WEBSTER法,澳大利亚ARRB法及美国HCM法等。

我们在《交通管理与控制》课本中已经学会了webster法和HCM法,我国有停车线法和冲突点法等方法。

随着研究不断深入,定时信号的配时方法也在进一步的改进。

本设计采用的方法以英国的WEBSTER法为主。

本次设计本小组分工合作,共采集了车道宽、交通流量、车头时距、信号灯信号显示及周期等数据。

并且对数据作出了运算整理.摒弃了有问题的数据,保证使用严谨的数据进行运算.关键字道路交叉口,信号配时,WEBSTER法,相位,课程设计。

目录第一章现状交通调查1.1西南路与五一路交叉口现状概况 (1)1.2交通流量调整 (2)1.3交叉口几何尺寸调查 (2)第二章信号相位分析2.1实地观测 (3)2.2理论依据 (5)2.3具体算法步骤 (5)2.4必要性分析结果 (6)第三章制定配时方案3.1信号配时方案原理 (7)3.2程序计算结果 (8)第四章延误分析及服务水平测定4.1延误估算方法 (10)4.2服务水平 (10)第五章结果分析5.1结果对比 (12)第一章现状交通调查1.1 西南路/五一路交叉口现状概况道路交叉口是指两条或两条以上道路的相交处。

车辆、行人汇集、转向和疏散的必经之地,为交通的咽喉。

因此,正确设计道路交叉口,合理组织、管理交叉口交通,是提高道路通行能力和保障交通安全的重要方面。

此次交叉口信号灯控制配时的调查地点是西南路和五一路交叉口。

该交叉口地处市区西南部,属于平面十字型交叉口。

西南路方向路段为双向五车道;五一路由东向西方向为双向五车道,包括自行车道,五一路由西向东黄线以北是两辆车道、黄线以南是三车道,周围分布饭店、居民住宅区、净水厂和大连沙河口区的部分政府部门等,是一个非常重要的交叉口,并且西南路是主干道。

根据实地观察测量和分析讨论,本组对整个交叉口形状、车道划分与交通流运行轨迹进行了绘制,如下1.2交通流量调查本组通过实际观测的方法测得了道路交叉口的交通流量等信息。

具体观测时间为。

具体测量方法为,对各车道分配人员进行定时计数以获得交通流量,对直行和左转的车道在红灯结束时按车计时获得车头时距,对各相位红绿灯分别计时等。

交通流量通过在交叉口的高峰时间观测2小时获得,整理后的高峰小时流量见下表。

高峰小时交通量(pcu)车道1车道2车道3车道4车道5车道6车道7车道8车道9 634376398190160207169169198车道10车道11车道12车道13车道14车道15车道16车道17 166166251278206578962241.3 交叉口几何尺寸调查交叉口几何尺寸通过实际测量,整理后的信息见下表2 信号相位分析2.1实地观测由本次设计实地观测的西南路/五一路交叉口情况可知:西南路车流量比五一路车流量大很多,且只有西南路南进口和五一西进口存在左转车流。

且西南路南进口的左转仅限公交且车流量极少。

而我们想知道是否有必要设置专有的左转相位,就必须求出各相位的左转通行能力与实测值进行比较。

2.2理论依据可插车间隙理论虽然是用于计算无信号机的平面交叉口通行能力,而无信号交叉口遵循的是优先规则控制,即其通行顺序依次为:主要道路直行流向、主要道路左转流向、次要道路直行流向、次要道路左转流向。

两相位交叉口车流运行特征跟交叉口优先规则控制有一些相似之处,因此可以根据可穿插间隙理论来分析其左转车道的通行能力。

2.3具体算法步骤根据可插入间隙理论,假设主要道路车流按泊松分布到达,可建立计算左转通行能力Q ’max 的公式如下:)1/(max qh q e Qe Q ---='τ 式中:Q ’max ---次要道路可通过的最大交通量Q---主要道路交通量 q--- Q/3600t c ---次要道路可以穿过主要道路车流的临界间隙(s ) h---次要道路车辆连续通过时的车头时距(s )2.4必要性分析结果由计算可以得出:可见每个相位都能满足其冲突左转交通量。

故没必要增设一个专用左转相位。

所以我们决定对西南路/五一路交叉口采用四相位配时方案是合理的。

3 制定配时方案到目前为止,定时信号的配时方法在国际上主要有英国的WEBSTER法,澳大利亚ARRB法及美国HCM法等。

我国有停车线法和冲突点法等方法。

随着研究不断深入,定时信号的配时方法也在进一步的改进。

本设计采用的方法以英国的WEBSTER法为主。

其信号配时设计流程图和信号相位基本方案如下:3.1信号配时方案原理①首先计算每车道的饱和流量S,使用下式进行计算:S=3600/hh——饱和车头时距②然后计算流量比。

公式如下。

y i=q i/s i③计算流量比的总和,公式如下式: y=Σmax[y j ,y j ……]= Σmax[(q d /s d )j ,(q d /s d )j……]④启动损失时间L=Σ(l+I -A)⑤信号周期时长的计算,公式如下所示: C=(1.5l+5)/(1-y)C0—周期时长,Y —流量比总和,L —信号总损失时间,⑥各个相位的有效绿灯时间和显示绿灯时间,计算式所示:ge j =Ge*max[y i ,y i ……]/YGe —总有效绿灯时间,就是C 0减去L 。

计算各个相位的显示绿灯时间,公式如下所示:g j = ge i - a j + l j3.2程序计算结果表4 各车道交通流量周期为203第一相位绿灯时间63s 第二相位绿灯时间71s 第三相位绿灯时间45s第四相位绿灯时间12s第一相位绿信比0.375第二相位绿信比0.1875第三相位绿信比0.74375第四相位绿信比0.05625图4 输入的数据和输出结果4 延误分析及服务水平测定4.1延误估算方法延误是一个影响因素十分复杂的指标。

1. 设计交叉口时各车道延误用下式估算: d = d 1+d 2d 1=0.5C(1-λ)2/(1-min[1,x] λ)d 2=900T[(x-1)+√[(x -1)2+8ex/(CAP*T)]式中:C —周期时长(s )λ—所计算车道的绿信比; x —所计算车道的饱和度; CAP —所计算车道的通行能力; T —分析时段的持续时长(h ),取0.25h ;e —定时信号取0.5; 2. 各进口道的平均信控延误按该进口道中的各车道延误的加权平均数估算:d 1=Σd i q i /Σq i式中:dA —进口道A 的平均信控延误(s/pcu );di —进口道A 中第i 车道的平均信控延误(s/pcu );qi —进口道A 中第i 车道的小时交通量换算为其中高峰15min 的交通流量(辆/15min );3. 整个交叉口的平均信控延误按交叉口各进口道延误的加权平均数估计:d A =Σd A q A /Σq A式中:d1—交叉口每车的平均信控延误(s/pcu );qa —进口道A 的高峰15min 交通流率(辆/15min );4.2服务水平5 结果分析5.1 结果对比WEBSTER法的配时仿真实验结果和实测值的比较如下表:由上表可以看出,实际采用的配时方案相关参数与我们通过调查得到的优化配时方案得到的配时方案相关参数都大致接近,说明实际情况与理论分析基本符合,说明配时方案可行。

参考文献【1】吴兵《交通管理与控制》第四版北京人民交通出版社2009.1【2】徐吉谦陈学武《交通工程总论》第三版北京人民交通出版社2008.6【3】全永燊《城市交通控制》北京人民交通出版社1989附录本次课程设计是我们小组几名同学共同完成的,起初是调查交叉口的交通流量,早高峰同学们要起的很早的,之后是两个人一小组测量车速和红绿灯时间并且在此基础上算出绿信比和信号周期。

之后以班级为单位分上下午在机房进行信号配时,用C语言或其它形式将自己的数据编程序,算出所需要的数据。

附录一:交通流量调查表交叉口:西南路/五一路方向:东进口时间: 调查者:马心怡,柳继波交叉口:西南路/五一路方向:西进口时间: 调查者:张博宇,姚博其他数据调查表附录二:#include "stdio.h"#include "stdlib.h"#include "math.h"floatS[18],l[5],Ge[5],maxA,maxB,maxC,maxD,D[5],g[5],max,A;float di,dk=0,dj=0,lkk;float da[5],cap[18];float P[18],Ql[18],Fa[18];float Tu[18],Qb[18],Ku[18],Ju[17],min;floatdA[5],dab[5],da1[17],T=0.25,x[18],Ds[5],Tu[18],Dd[5],Hu[18],e,d[ 18],Co,D[5],Q[18];floatQb[18],CAPP[18],v,o,Fs[18],y[18],Du[18],j[5],Ql[18],Qb[18],d[18] ,d1[18],d2[18],d3[18];int i;float fun1 () /*绿灯间隔时间计算公式*/{ float z,u,t,h,I;printf("请输入停止线到冲突点的距离z(m):");scanf("%f",&z);printf("请输入车辆在进口道上的行驶车速u(m/s):");scanf("%f",&u);printf("请输入车辆制动时间t(s):");scanf("%f",&t);h=z/u; /*此处需插入一个界面*/I=h+t;printf("计算得绿灯间隔时间I为%f s",I);if(I<3)printf("黄灯时间A=3s");elseprintf("(其中3s配以黄灯,其余时间配以红灯)\n");return (I);}float fun2 () /*最大流量比计算公式*/{ int i,c,e;printf("请输入第一相位各车道的交通流量(1-3):");for(i=1;i<4;i++)scanf("%f",&Q[i]);for(c=1;c<4;c++)y[c]=Q[c]/S[c]; /*S[c]为各车道对应的饱和流量*/maxA=y[1]; /*第一相位最大流量比*/for(e=1;e<=3;e++)if(y[e]<=maxA)maxA=y[e];printf("第一相位最大流量比为%f\n",maxA);printf("请输入第二相位各车道的交通流量(4-8):");for(i=4;i<9;i++)scanf("%f",&Q[i]);for(c=4;c<9;c++)y[c]=Q[c]/S[c]; /*S[c]为各车道对应的饱和流量*/maxB=y[4]; /*第二相位最大流量比*/for(e=4;e<=9;e++)if(y[e]>=maxB)maxB=y[e];printf("第二相位最大流量比为%f\n",maxB);printf("请输入第三相位各车道的交通流量(9-15):");for(i=9;i<16;i++)scanf("%f",&Q[i]);for(c=9;c<16;c++)y[c]=Q[c]/S[c]; /*S[c]为各车道对应的饱和流量*/maxC=y[9]; /*第二相位最大流量比*/for(e=9;e<=15;e++)if(y[e]>=maxC)maxC=y[e];printf("第三相位最大流量比为%f\n:",maxC);printf("请输入第四相位各车道的交通流量(16-17):");for(i=16;i<18;i++)scanf("%f",&Q[i]),y[c]=Q[c]/S[c]; /*S[c]为各车道对应的饱和流量*/maxD=y[16]; /*第二相位最大流量比*/for(e=16;e<=17;e++)if(y[e]>=maxD)maxD=y[e];printf("第四相位最大流量比为%f\n:",maxD);max=maxA+maxB+maxC+maxD;printf("此交叉口的流量比为%f:",max);return (max);}fun31(){ int i;for(i=1;i<5;i++)g[i]=Ge[i]-A+l[i],printf("第%d相位的显示绿灯时间为%f s\n",i,g[i]);}fun32(){int i;for(i=1;i<3;i++)Ge[i]=g[i]+A-l[i],printf("第%d相位的有效绿灯时间为%f s\n",i,Ge[i]);}int fun15(){for(i=1;i<18;i++){printf("请输入第%d车道的分析期初初始积余车辆(辆):",i);scanf("%f",&Qb[i]);printf("请输入第%d车道的分析期离开车辆(辆):",i);scanf("%f",&Ql[i]);}}fun3(){for(i=1;i<18;i++){ if(i<4)CAPP[1]+=S[i]*D[1];else if(i>=4&&i<9)CAPP[2]+=S[i]*D[2];else if(i>=9&&i<16)CAPP[3]+=S[i]*D[3];elseCAPP[4]+=S[i]*D[4];}}fun4(){for(i=1;i<5;i++)Ds[i]=(float)1.5*Co*(1-D[i]);}fun5() /*不饱和延误的计算公式*/{ float j[5],min,Hu[18];for(i=1;i<5;i++)j[i]=0.5*Co*(1-D[i])*(1-D[i]);for(i=1;i<18;i++){ if(i<4)cap[i]=S[i]*D[1];else if(i>=4&&i<9)cap[i]=S[i]*D[2];else if(i>=9&&i<16)cap[i]=S[i]*D[3];elsecap[i]=S[i]*D[4];}for(i=1;i<18;i++)x[i]=(float)Q[i]/cap[i];for(i=1;i<18;i++){ min=x[i];if(min>1)min=1;lkk=(float)1-min;if(i<4)Hu[i]=(float)1-min*D[1];else if(i>=4&&i<9)Hu[i]=(float)1-min*D[2];else if(i>=9&&i<16)Hu[i]=(float)1-min*D[3];elseHu[i]=(float)1-min*D[4];}for(i=1;i<18;i++){ if(i<4)Du[i]=j[1]/Hu[i];else if(i>=4&&i<9)Du[i]=j[2]/Hu[i];else if(i>=9&&i<16)Du[i]=j[3]/Hu[i];elseDu[i]=j[4]/Hu[i];}}fun6() /*在T中积余车辆的持续时间*/{min=T;for(i=1;i<18;i++){ { if(i<4)Ku[i]=cap[i]*lkk,Ju[i]=Qb[i]/Ku[i];else if(i>=4&&i<9)Ku[i]=cap[i]*lkk,Ju[i]=Qb[i]/Ku[i];else if(i>=9&&i<16)Ku[i]=cap[i]*lkk,Ju[i]=Qb[i]/Ku[i];elseKu[i]=cap[i]*lkk,Ju[i]=Qb[i]/Ku[i];}{ if(min<Ju[i])Tu[i]=min;elseTu[i]=Ju[i];}}}fun7() /*绿灯期车流到达率校正系数*/{for(i=1;i<18;i++)P[i]=(Ql[i]-Qb[i])/Ql[i];for(i=1;i<18;i++){ if(i<4)Fa[i]=(1-P[i])/((float)1-D[1]);else if(i>=4&&i<9)Fa[i]=(1-P[i])/(1-D[2]);else if(i>=9&&i<16)Fa[i]=(1-P[i])/(1-D[1]);elseFa[i]=(1-P[i])/(1-D[2]);}}fun8() /*均匀延误计算公式*/ { float ar[18],an[18],am[18],al[18],az[18];for(i=1;i<18;i++)if(i<4)ar[i]=Ds[1]*Tu[i]/T,an[i]=Fs[i]*Du[i]*(T-Tu[i]),d1[i]=ar[i]+an[i]/T;else if("i>=4&&i<9")d1[i]=(Ds[2]*Tu[i]/T)+(Fs[i]*Du[i]*(T-Tu[i])/T);else if("i>=9&&i<16")d1[i]=(Ds[3]*Tu[i]/T)+(Fs[i]*Du[i]*(T-Tu[i])/T);elsed1[i]=(Ds[4]*Tu[i]/T)+(Fs[i]*Du[i]*(T-Tu[i])/T);}float fun13( float x){if (x>=0.000000&&x<=0.500000)e=0.13;else if(x>0.500000&&x<=0.600000)e=0.2;else if(x>0.600000&&x<=0.700000)e=0.28;else if(x>0.700000&&x<=0.800000)e=0.35;else if(x>0.800000&&x<=1.000000)e=0.43;else if(x>1)e=0.5;elseprintf("输入错误\n");return (e);}fun9() /*随机附加延误计算公式*/{ float c[18],ad,ac,ae,ar;for(i=1;i<18;i++){ e=fun13(x[i]);ac=pow((x[i]-1),2);ae=(float)8*e*x[i];if(i<4)ar=cap[i]*T;else if(i>=4&&i<9)ar=cap[i]*T;else if(i>=9&&i<16)ar=cap[i]*T;elsear=cap[i]*T;c[i]=ac+ae/ar;ad=sqrt(c[i]);d2[i]=(float)900*T*((x[i]-1)+ad);}}fun10() /*初始排队延误计算公式*/{ float min,ji[18],jk[18],jh[18];for(i=1;i<18;i++){ min=x[i];{if(min>1)min=1;}if(Tu[i]==T){ ji[i]=(float)3600*Qb[i];jk[i]=(float)1800*T*(1-min);if(i<4)d3[i]=ji[i]/cap[i]-jk[i];else if(i>=4&&i<9)d3[i]=ji[i]/cap[i]-jk[i];else if(i>=9&&i<16)d3[i]=ji[i]/cap[i]-jk[i];elsed3[i]=ji[i]/cap[i]-jk[i];}else{ if(i<4)d3[i]=(float)1800*Qb[i]*Tu[i]/(T*cap[i]);else if(i>=4&&i<9)d3[i]=(float)1800*Qb[i]*Tu[i]/(T*cap[i]);else if(i>=9&&i<16)d3[i]=(float)1800*Qb[i]*Tu[i]/(T*cap[i]);elsed3[i]=(float)1800*Qb[i]*Tu[i]/(T*cap[i]);}}}fun16(){ for(i=1;i<18;i++)d[i]=d1[i]+d2[i]+d3[i];}fun17(){ for(i=1;i<18;i++)d[i]=Du[i]+d2[i];}fun11() /*各进口道平均信控延误计算公式*/{int k;for(i=1;i<4;i++)dab[1]+=(d[i]*(Q[i]/4)),da1[1]+=(Q[i]/4);dA[1]=(float)dab[1]/da1[1];for(i=4;i<9;i++)dab[2]+=(d[i]*(Q[i]/4)),da1[2]+=(Q[i]/4);dA[2]=dab[2]/da1[2];for(i=9;i<12;i++)dab[3]+=(d[i]*(Q[i]/4)),da1[3]+=(Q[i]/4);dA[3]=dab[3]/da1[3];for(i=12;i<16;i++)dab[4]+=(d[i]*(Q[i]/4)),da1[4]+=(Q[i]/4);dA[4]=dab[4]/da1[4];i=16;dab[3]+=(d[i]*(Q[i]/4)),da1[3]+=(Q[i]/4);dA[3]=dab[3]/da1[3];i=17;dab[4]+=(d[i]*(Q[i]/4)),da1[4]+=(Q[i]/4);dA[4]=dab[4]/da1[4];}fun14(float dl){if (dl>=0&&dl<=10)printf("服务水平为A级\n");else if(dl>10&&dl<=20)printf("服务水平为B级\n");else if(dl>20&&dl<=35)printf("服务水平为C级\n");else if(dl>35&&dl<=55)printf("服务水平为D级\n");else if(dl>55&&dl<=80)printf("服务水平为E级\n");else if(dl>80)printf("服务水平为F级\n");elseprintf("error");}fun12() /*整个交叉口*/{ for(i=1;i<5;i++){ dk+=da1[i];dj+=(float)(dA[i]*dab[i]);}di=(float)dj/dk;printf("此交叉口的信控延误为%f\n",di);fun14(di);}void main(){int L,i,I,k,n;float a,b,Y,ge,h[17];printf("请输入黄灯时间A(一般取值3s):");scanf("%f",&A); /*此处需插入一个界面*/printf("请输入一个周期内的相位数k:");scanf("%d",&k);for(i=1;i<4;i++)printf("请输入第一相位第%d车道的车头时距:",i),scanf("%f",h+i),S[i]=3600/h[i];for(i=4;i<9;i++)printf("请输入第二相位第%d车道的车头时距:",i),scanf("%f",h+i),S[i]=3600/h[i];for(i=9;i<16;i++)printf("请输入第三相位第%d车道的车头时距:",i),scanf("%f",h+i),S[i]=3600/h[i];for(i=16;i<18;i++)printf("请输入第四相位第%d车道的车头时距:",i),scanf("%f",h+i),S[i]=3600/h[i];I=fun1();Y=fun2();for(i=1;i<5;i++)printf("\n请输入第%d相位的启动损失时间l(无实测数据时可取3s):",i),scanf("%f",&l[i]);for(i=1,L=0;i<=k;i++)L+=(l[i])+I-A; /*I为绿灯间隔时间*/a=1.5*L+5;b=1-Y;Co=a/b;printf("计算得周期时长Co为%d s\n",Co);ge=Co-L;printf("总有效绿灯时间为%d\n",ge);Y=maxA+maxB+maxC+maxD;a=ge*(maxA);b=ge*maxB;v=ge*maxC;o=ge*(maxD);Ge[1]=a/Y;Ge[2]=b/Y;Ge[3]=v/Y;Ge[4]=o/Y;for(n=1;n<5;n++)D[n]=Ge[n]/Co,printf("第%d相位的绿信比为%f\n",n,D[n]); for(i=1;i<5;i++)printf("第%d相位有效绿灯时间为%f\n",i,Ge[i]); fun31();fun15();fun3();fun4();fun5();fun6();fun7();fun8();fun9();fun10();fun17();fun11();fun12();}附录二:#include "stdio.h"#include "stdlib.h"#include "math.h"floatS[18],l[5],Ge[5],maxA,maxB,maxC,maxD,D[5],g[5],max,A;float di,dk,dj,lkk;float da[5],cap[18];float P[18],Ql[18],Fa[18];float Tu[18],Qb[18],Ku[18],Ju[17],min;floatdA[5],dab[5],da1[17],T=0.25,x[18],Ds[5],Tu[18],Dd[5],Hu[18],e,d[ 18],Co,D[5],Q[18];floatQb[18],CAPP[18],v,o,Fs[18],y[18],Du[18],j[5],Ql[18],Qb[18],d[18] ,d1[18],d2[18],d3[18];int i;float fun1 () /*绿灯间隔时间计算公式*/{ float z,u,t,h,I;printf("请输入停止线到冲突点的距离z(m):");scanf("%f",&z);printf("请输入车辆在进口道上的行驶车速u(m/s):");scanf("%f",&u);printf("请输入车辆制动时间t(s):");scanf("%f",&t);h=z/u; /*此处需插入一个界面*/I=h+t;printf("计算得绿灯间隔时间I为%f s",I);if(I<3)printf("黄灯时间A=3s");elseprintf("(其中3s配以黄灯,其余时间配以红灯)\n");return (I);}float fun2 () /*最大流量比计算公式*/{ int i,c,e;printf("请输入第一相位各车道的交通流量(1-3):");for(i=1;i<4;i++)scanf("%f",&Q[i]);for(c=1;c<4;c++)y[c]=Q[c]/S[c]; /*S[c]为各车道对应的饱和流量*/maxA=y[1]; /*第一相位最大流量比*/for(e=1;e<=3;e++)if(y[e]<=maxA)maxA=y[e];printf("第一相位最大流量比为%f\n",maxA);printf("请输入第二相位各车道的交通流量(4-8):");for(i=4;i<9;i++)scanf("%f",&Q[i]);for(c=4;c<9;c++)y[c]=Q[c]/S[c]; /*S[c]为各车道对应的饱和流量*/maxB=y[4]; /*第二相位最大流量比*/for(e=4;e<=9;e++)if(y[e]>=maxB)maxB=y[e];printf("第二相位最大流量比为%f\n",maxB);printf("请输入第三相位各车道的交通流量(9-15):");for(i=9;i<16;i++)scanf("%f",&Q[i]);for(c=9;c<16;c++)y[c]=Q[c]/S[c]; /*S[c]为各车道对应的饱和流量*/maxC=y[9]; /*第二相位最大流量比*/for(e=9;e<=15;e++)if(y[e]>=maxC)maxC=y[e];printf("第三相位最大流量比为%f\n:",maxC);printf("请输入第四相位各车道的交通流量(16-17):");for(i=16;i<18;i++)scanf("%f",&Q[i]),y[c]=Q[c]/S[c]; /*S[c]为各车道对应的饱和流量*/maxD=y[16]; /*第二相位最大流量比*/for(e=16;e<=17;e++)if(y[e]>=maxD)maxD=y[e];printf("第四相位最大流量比为%f\n:",maxD);max=maxA+maxB+maxC+maxD;printf("此交叉口的流量比为%f:",max);return (max);}fun31(){ int i;for(i=1;i<5;i++)g[i]=Ge[i]-A+l[i],printf("第%d相位的显示绿灯时间为%f s\n",i,g[i]);}fun32(){int i;for(i=1;i<5;i++)Ge[i]=g[i]+A-l[i],printf("第%d相位的有效绿灯时间为%f s\n",i,Ge[i]);}int fun15(){for(i=1;i<18;i++){printf("请输入第%d车道的分析期初初始积余车辆(辆):",i);scanf("%f",&Qb[i]);printf("请输入第%d车道的分析期离开车辆(辆):",i);scanf("%f",&Ql[i]);}}fun3(){for(i=1;i<18;i++){ if(i<4)CAPP[1]+=S[i]*D[1];else if(i>=4&&i<9)CAPP[2]+=S[i]*D[2];else if(i>=9&&i<16)CAPP[3]+=S[i]*D[3];elseCAPP[4]+=S[i]*D[4];}}fun4(){for(i=1;i<5;i++)Ds[i]=(float)1.5*Co*(1-D[i]);}fun5() /*不饱和延误的计算公式*/{ float j[5],min,Hu[18];for(i=1;i<5;i++)j[i]=0.5*Co*(1-D[i])*(1-D[i]);for(i=1;i<18;i++){ if(i<4)cap[i]=S[i]*D[1];else if(i>=4&&i<9)cap[i]=S[i]*D[2];else if(i>=9&&i<16)cap[i]=S[i]*D[3];elsecap[i]=S[i]*D[4];}for(i=1;i<18;i++)x[i]=(float)Q[i]/cap[i];for(i=1;i<18;i++){ min=x[i];if(min>1)min=1;lkk=(float)1-min;if(i<4)Hu[i]=(float)1-min*D[1];else if(i>=4&&i<9)Hu[i]=(float)1-min*D[2];else if(i>=9&&i<16)Hu[i]=(float)1-min*D[3];elseHu[i]=(float)1-min*D[4];}for(i=1;i<18;i++){ if(i<4)Du[i]=j[1]/Hu[i];else if(i>=4&&i<9)Du[i]=j[2]/Hu[i];else if(i>=9&&i<16)Du[i]=j[3]/Hu[i];elseDu[i]=j[4]/Hu[i];}}fun6() /*在T中积余车辆的持续时间*/{min=T;for(i=1;i<18;i++){ { if(i<4)Ku[i]=cap[i]*lkk,Ju[i]=Qb[i]/Ku[i];else if(i>=4&&i<9)Ku[i]=cap[i]*lkk,Ju[i]=Qb[i]/Ku[i];else if(i>=9&&i<16)Ku[i]=cap[i]*lkk,Ju[i]=Qb[i]/Ku[i];elseKu[i]=cap[i]*lkk,Ju[i]=Qb[i]/Ku[i];}{ if(min<Ju[i])Tu[i]=min;elseTu[i]=Ju[i];}}}fun7() /*绿灯期车流到达率校正系数*/{for(i=1;i<18;i++)P[i]=(Ql[i]-Qb[i])/Ql[i];for(i=1;i<18;i++){ if(i<4)Fa[i]=(1-P[i])/((float)1-D[1]);else if(i>=4&&i<9)Fa[i]=(1-P[i])/(1-D[2]);else if(i>=9&&i<16)Fa[i]=(1-P[i])/(1-D[1]);elseFa[i]=(1-P[i])/(1-D[2]);}}fun8() /*均匀延误计算公式*/ { float ar[18],an[18],am[18],al[18],az[18];for(i=1;i<18;i++)if(i<4)ar[i]=Ds[1]*Tu[i]/T,an[i]=Fs[i]*Du[i]*(T-Tu[i]),d1[i]=ar[i]+an[i]/T;else if("i>=4&&i<9")d1[i]=(Ds[2]*Tu[i]/T)+(Fs[i]*Du[i]*(T-Tu[i])/T);else if("i>=9&&i<16")d1[i]=(Ds[3]*Tu[i]/T)+(Fs[i]*Du[i]*(T-Tu[i])/T);elsed1[i]=(Ds[4]*Tu[i]/T)+(Fs[i]*Du[i]*(T-Tu[i])/T);}float fun13( float x){if (x>=0.000000&&x<=0.500000)e=0.13;else if(x>0.500000&&x<=0.600000)e=0.2;else if(x>0.600000&&x<=0.700000)e=0.28;else if(x>0.700000&&x<=0.800000)e=0.35;else if(x>0.800000&&x<=1.000000)e=0.43;else if(x>1)e=0.5;elseprintf("输入错误\n");return (e);}fun9() /*随机附加延误计算公式*/{ float c[18],ad,ac,ae,ar;for(i=1;i<18;i++){ e=fun13(x[i]);ac=pow((x[i]-1),2);ae=(float)8*e*x[i];if(i<4)ar=cap[i]*T;else if(i>=4&&i<9)ar=cap[i]*T;else if(i>=9&&i<16)ar=cap[i]*T;elsear=cap[i]*T;c[i]=ac+ae/ar;ad=sqrt(c[i]);d2[i]=(float)900*T*((x[i]-1)+ad);}}fun10() /*初始排队延误计算公式*/{ float min,ji[18],jk[18],jh[18];for(i=1;i<18;i++){ min=x[i];{if(min>1)min=1;}if(Tu[i]==T){ ji[i]=(float)3600*Qb[i];jk[i]=(float)1800*T*(1-min);if(i<4)d3[i]=ji[i]/cap[i]-jk[i];else if(i>=4&&i<9)d3[i]=ji[i]/cap[i]-jk[i];else if(i>=9&&i<16)d3[i]=ji[i]/cap[i]-jk[i];elsed3[i]=ji[i]/cap[i]-jk[i];}else{ if(i<4)d3[i]=(float)1800*Qb[i]*Tu[i]/(T*cap[i]);else if(i>=4&&i<9)d3[i]=(float)1800*Qb[i]*Tu[i]/(T*cap[i]);else if(i>=9&&i<16)d3[i]=(float)1800*Qb[i]*Tu[i]/(T*cap[i]);elsed3[i]=(float)1800*Qb[i]*Tu[i]/(T*cap[i]);} }}fun16(){ for(i=1;i<18;i++)d[i]=d1[i]+d2[i]+d3[i];}fun17(){ for(i=1;i<18;i++)d[i]=Du[i]+d2[i];}fun11() /*各进口道平均信控延误计算公式*/{int k;for(i=1;i<4;i++)dab[1]+=(d[i]*(Q[i]/4)),da1[1]+=(Q[i]/4);dA[1]=(float)dab[1]/da1[1];for(i=4;i<9;i++)dab[2]+=(d[i]*(Q[i]/4)),da1[2]+=(Q[i]/4);dA[2]=dab[2]/da1[2];for(i=9;i<12;i++)dab[3]+=(d[i]*(Q[i]/4)),da1[3]+=(Q[i]/4);dA[3]=dab[3]/da1[3];for(i=12;i<16;i++)dab[4]+=(d[i]*(Q[i]/4)),da1[4]+=(Q[i]/4);dA[3]=dab[3]/da1[3];i=16;dab[3]+=(d[i]*(Q[i]/4)),da1[3]+=(Q[i]/4);dA[3]=dab[3]/da1[3];i=17;dab[4]+=(d[i]*(Q[i]/4)),da1[4]+=(Q[i]/4);dA[4]=dab[3]/da1[3];}fun14(float dl){if (dl>=0&&dl<=10)printf("服务水平为A级\n");else if(dl>10&&dl<=20)printf("服务水平为B级\n");else if(dl>20&&dl<=35)printf("服务水平为C级\n");else if(dl>35&&dl<=55)printf("服务水平为D级\n");else if(dl>55&&dl<=80)printf("服务水平为E级\n");else if(dl>80)printf("服务水平为F级\n");elseprintf("error");}fun12() /*整个交叉口*/ { for(i=1;i<5;i++){ dk+=da1[i];dj+=(float)(dA[i]*dab[i]);}di=(float)dj/dk;printf("此交叉口的信控延误为%f\n",di);fun14(di);}void main(){int L,i,I,k,ge,n;float a,b,Y,h[18];printf("请输入黄灯时间A(一般取值3s):");scanf("%f",&A);/*此处需插入一个界面*/printf("请输入一个周期内的绿灯间隔数k:");scanf("%d",&k);for(i=1;i<9;i++){if(i<=3){printf("请输入第一相位第%d车道的车头时距:",(0+i));scanf("%f",h+i);S[i]=3600/h[i];}else{printf("请输入第二相位第%d车道的车头时距:",(i));scanf("%f",&h[i]);S[i]=3600/h[i];}}for(i=1;i<10;i++){if(i<=7)printf("请输入第三相位第%d车道的车头时距:",8+i),scanf("%f",&h[8+i]),S[8+i]=3600/h[8+i];elseprintf("请输入第四相位第%d车道的车头时距:",8+i),scanf("%f",&h[8+i]),S[8+i]=3600/h[8+i];}printf("请输入绿灯间隔时间I:");scanf("%f",&I);Y=fun2();printf("请输入现有交叉口的信号周期Co:");scanf("%f",&Co);for(i=1;i<5;i++)printf("请输入第%d相位的启动损失时间l(无实测数据时可取3s):",i),scanf("%f",&l[i]);for(i=1;i<=4;i++)L+=(l[i])+I-A,printf("请输入第%d相位的实际显示绿灯时间:",i),scanf("%f",&g[i]);fun32();for(n=1;n<5;n++)D[n]=Ge[n]/Co,printf("第%d相位的绿信比为%.2f\n",n,D[n]);for(i=1;i<3;i++)printf("第%d相位有效绿灯时间为%.1f\n",i,Ge[i]);fun15();fun3();fun4();fun5();fun6();fun7();fun8();fun9();fun10();fun16();fun11();fun12();}(此文档部分内容来源于网络,如有侵权请告知删除,文档可自行编辑修改内容,供参考,感谢您的配合和支持)。

相关文档
最新文档