登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 毕业论文 > 交通运输类 > 交通工程 > 正文

南京市鼓楼区北京西路交通信号线控方案设计毕业论文

 2020-05-14 10:05  

2016 届毕业设计程序

题 目: 南京市鼓楼区和燕路

交通信号线控设计

专 业:交通工程(轨道交通方向)

班 级: 轨道1202

姓 名: 孙桂兵

指导老师: 吕孟兴

起讫日期: 2016.3-2016.6

2016年 6 月

交通信号点控计算程序:

#include "stdio.h"

#include "stdlib.h"

#include "math.h"

float S[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;

float dA[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];

float Qb[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",amp;z);

printf("请输入车辆在进口道上的行驶车速u(m/s):");

scanf("%f",amp;u);

printf("请输入车辆制动时间t(s):");

scanf("%f",amp;t);

h=z/u; /*此处需插入一个界面*/

I=h t;

printf("计算得绿灯间隔时间I为%f s",I);

if(Ilt;3)

printf("黄灯时间A=3s");

else

printf("(其中3s配以黄灯,其余时间配以红灯)\n");

return (I);

}

float fun2 () /*最大流量比计算公式*/

{ int i,c,e;

printf("请输入第一相位各车道的交通流量(1-3):");

for(i=1;ilt;4;i )

scanf("%f",amp;Q[i]);

for(c=1;clt;4;c )

y[c]=Q[c]/S[c]; /*S[c]为各车道对应的饱和流量*/

maxA=y[1]; /*第一相位最大流量比*/

for(e=1;elt;=3;e )

if(y[e]lt;=maxA)

maxA=y[e];

printf("第一相位最大流量比为%f\n",maxA);

printf("请输入第二相位各车道的交通流量(4-8):");

for(i=4;ilt;9;i )

scanf("%f",amp;Q[i]);

for(c=4;clt;9;c )

y[c]=Q[c]/S[c]; /*S[c]为各车道对应的饱和流量*/

maxB=y[4]; /*第二相位最大流量比*/

for(e=4;elt;=9;e )

if(y[e]gt;=maxB)

maxB=y[e];

printf("第二相位最大流量比为%f\n",maxB);

printf("请输入第三相位各车道的交通流量(9-15):");

for(i=9;ilt;16;i )

scanf("%f",amp;Q[i]);

for(c=9;clt;16;c )

y[c]=Q[c]/S[c]; /*S[c]为各车道对应的饱和流量*/

maxC=y[9]; /*第二相位最大流量比*/

for(e=9;elt;=15;e )

if(y[e]gt;=maxC)

maxC=y[e];

printf("第三相位最大流量比为%f\n:",maxC);

printf("请输入第四相位各车道的交通流量(16-17):");

for(i=16;ilt;18;i )

scanf("%f",amp;Q[i]),

y[c]=Q[c]/S[c]; /*S[c]为各车道对应的饱和流量*/

maxD=y[16]; /*第二相位最大流量比*/

for(e=16;elt;=17;e )

if(y[e]gt;=maxD)

maxD=y[e];

printf("第四相位最大流量比为%f\n:",maxD);

max=maxA maxB maxC maxD;

printf("此交叉口的流量比为%f:",max);

return (max);

}

fun31()

{ int i;

for(i=1;ilt;5;i )

g[i]=Ge[i]-A l[i],

printf("第%d相位的显示绿灯时间为%f s\n",i,g[i]);

}

fun32()

{int i;

for(i=1;ilt;3;i )

Ge[i]=g[i] A-l[i],

printf("第%d相位的有效绿灯时间为%f s\n",i,Ge[i]);

}

int fun15()

{

for(i=1;ilt;18;i )

{printf("请输入第%d车道的分析期初初始积余车辆(辆):",i);

scanf("%f",amp;Qb[i]);

printf("请输入第%d车道的分析期离开车辆(辆):",i);

scanf("%f",amp;Ql[i]);

}

}

fun3()

{

for(i=1;ilt;18;i )

{ if(ilt;4)

CAPP[1] =S[i]*D[1];

else if(igt;=4amp;amp;ilt;9)

CAPP[2] =S[i]*D[2];

else if(igt;=9amp;amp;ilt;16)

CAPP[3] =S[i]*D[3];

else

CAPP[4] =S[i]*D[4];

}

}

fun4()

{

for(i=1;ilt;5;i )

Ds[i]=(float)1.5*Co*(1-D[i]);

}

fun5() /*不饱和延误的计算公式*/

{ float j[5],min,Hu[18];

for(i=1;ilt;5;i )

j[i]=0.5*Co*(1-D[i])*(1-D[i]);

for(i=1;ilt;18;i )

{ if(ilt;4)

cap[i]=S[i]*D[1];

else if(igt;=4amp;amp;ilt;9)

cap[i]=S[i]*D[2];

else if(igt;=9amp;amp;ilt;16)

cap[i]=S[i]*D[3];

else

cap[i]=S[i]*D[4];

}

for(i=1;ilt;18;i )

x[i]=(float)Q[i]/cap[i];

for(i=1;ilt;18;i )

{ min=x[i];

if(mingt;1)

min=1;

lkk=(float)1-min;

if(ilt;4)

Hu[i]=(float)1-min*D[1];

else if(igt;=4amp;amp;ilt;9)

Hu[i]=(float)1-min*D[2];

else if(igt;=9amp;amp;ilt;16)

Hu[i]=(float)1-min*D[3];

else

Hu[i]=(float)1-min*D[4];

}

for(i=1;ilt;18;i )

{ if(ilt;4)

Du[i]=j[1]/Hu[i];

else if(igt;=4amp;amp;ilt;9)

Du[i]=j[2]/Hu[i];

else if(igt;=9amp;amp;ilt;16)

Du[i]=j[3]/Hu[i];

else

Du[i]=j[4]/Hu[i];

}

}

fun6() /*在T中积余车辆的持续时间*/

{min=T;

for(i=1;ilt;18;i )

{ { if(ilt;4)

Ku[i]=cap[i]*lkk,

Ju[i]=Qb[i]/Ku[i];

else if(igt;=4amp;amp;ilt;9)

Ku[i]=cap[i]*lkk,

Ju[i]=Qb[i]/Ku[i];

else if(igt;=9amp;amp;ilt;16)

Ku[i]=cap[i]*lkk,

Ju[i]=Qb[i]/Ku[i];

else

Ku[i]=cap[i]*lkk,

Ju[i]=Qb[i]/Ku[i];}

{ if(minlt;Ju[i])

Tu[i]=min;

else

Tu[i]=Ju[i];}

}

}

fun7() /*绿灯期车流到达率校正系数*/

{

for(i=1;ilt;18;i )

P[i]=(Ql[i]-Qb[i])/Ql[i];

for(i=1;ilt;18;i )

{ if(ilt;4)

Fa[i]=(1-P[i])/((float)1-D[1]);

else if(igt;=4amp;amp;ilt;9)

Fa[i]=(1-P[i])/(1-D[2]);

else if(igt;=9amp;amp;ilt;16)

Fa[i]=(1-P[i])/(1-D[1]);

else

Fa[i]=(1-P[i])/(1-D[2]);

}

}

fun8() /*均匀延误计算公式*/

{ float ar[18],an[18],am[18],al[18],az[18];

for(i=1;ilt;18;i )

if(ilt;4)

ar[i]=Ds[1]*Tu[i]/T,

an[i]=Fs[i]*Du[i]*(T-Tu[i]),

d1[i]=ar[i] an[i]/T;

您需要先支付 80元 才能查看全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图