- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
西北农林科技大学实验报告
继续研究十字路口红绿灯问题
一、 实验题目
继续研究十字路口红绿灯问题
二、题目重述
十字路口绿灯亮30秒,最多可以通过多少辆汽车?继续研究问题:十字路口绿灯亮t秒,最多可以通过多少辆汽车n=n(t)?
三、实验目的
数学建模是一种数学的思考方法,用数学的语言和方法,通过抽象、简化建立能近似刻画并“解决”实际问题的路径。因此,建模一般具有明确的应用背景,针对性较强。为了使所研究的模型有相当的普适性,能解决一类问题,就需要在模型确立之后,进一步分析推广,挖掘出模型更多的理论和实用价值。
四、 实验内容
问题要求很明确。求解的关键是绿灯亮后,汽车才启动,极速驶过路口。要确定在给定的时间内通过多少辆汽车,就要考虑汽车的加速度,从停车位置到路口的路程,以及城市行车的最高限速要求。记住在t时刻第n辆汽车的位置为Sn(t),用数轴表示车辆行驶道路,数轴的正向为汽车行驶方向,数轴原点为红绿灯位置。于是,当Sn(30)0时,表明在第30秒的n辆车已通过红绿灯,否则,结论相反。于是,只要确定限速行驶模型Sn(t),就可以确定30秒内通过的汽车数量n。在单向、单车道、直行、限速等假设下,得到以下模型:
其中Sn(0)=-(n-1)(L-D)表示第n辆车在绿灯亮前的位置,tn=n表示第n辆车的启动时间,tn*=v*/a+tn表示第n辆车达到最大限速的时间。参数取车长L=5cm,车距D=2cm,加速度a=2m/s2,最大限速v*=11m/s.可以得到结果,绿灯亮30秒,该路口单向,单车道可以通过17辆车。
确定十字路口绿灯亮多长时间是城市交通管理中最基本的一个问题。直接利用限速行驶模型计算每辆车到达路口的时间,由数值结果可见,绿灯亮后汽车才开始以最高限速穿过路口的时在11秒以后,从第六辆车开始,以后的车都以最高限速穿过路口。绿灯亮30秒通过路口的17辆车中有11辆汽车以最高限速穿过路口,如果绿灯只亮15秒,则在通过的7辆车中只有2辆车以最高的限速穿过路口。显然,这样的交通灯控制策略对于路口的利用率是不高的。
如果利用限速行驶模型得到通过的车辆数对绿灯亮的时间长度的依赖关系n=n(t),即得到当绿灯亮t秒时,单向、单车道通过的车辆数,对进一步的研究更方便。要写出这个分段函数,推导并不困难,虽然有些繁琐,但是在实际问题研究中找到显示表达函数的机会非常少。借助计算机编程,利用输入输出表达函数关系常常是唯一可取的办法。
一个基本的想法是,在有限时间内只能通过有限车辆,只要计算出n辆车通过路口的时间,在用规定的红绿灯的时间长度作为卡尺,就可以确定通过的车辆数。
算法:
计算每辆汽车达到最大限速时间t0,以加速度通过路口的时间t1和以最大限速通过路口时间t2。
比较t0和t1就可以确定这辆车实际通过路口的时间。
将充分多辆车通过路口的时间列出来,确定通过路口时间小于绿灯亮的时间长度T的所有车号,其中最大的就是能够通过的车辆数。
五、实验结果分析与讨论
只要输入T就会由pass(T)得到通过的车辆数。
确定十字路口绿灯亮多长时间是城市交通管理中最基本的一个问题。直接利用限速行驶模型计算每辆车到达路口的时间,由数值结果可见,绿灯亮后汽车才开始以最高限速穿过路口的时在11秒以后,从第六辆车开始,以后的车都以最高限速穿过路口。绿灯亮30秒通过路口的17辆车中有11辆汽车以最高限速穿过路口,如果绿灯只亮15秒,则在通过的7辆车中只有2辆车以最高的限速穿过路口。显然,这样的交通灯控制策略对于路口的利用率是不高的。
如果利用限速行驶模型得到通过的车辆数对绿灯亮的时间长度的依赖关系n=n(t),即得到当绿灯亮t秒时,单向、单车道通过的车辆数,对进一步的研究更方便。要写出这个分段函数,推导并不困难,虽然有些繁琐,但是在实际问题研究中找到显示表达函数的机会非常少。借助计算机编程,利用输入输出表达函数关系常常是唯一可取的办法。
一个基本的想法是,在有限时间内只能通过有限车辆,只要计算出n辆车通过路口的时间,在用规定的红绿灯的时间长度作为卡尺,就可以确定通过的车辆数。
实验程序(Matlab或者其它软件语言陈述)
M文件:
function m=pass(T)
k=50;t=zeros(1,k);
tt=solve(-(n-1)*7+(t-n)^2);
tt1=tt(1);
ttt=solve(-(n-1)*7+5.5^2+11*(t-n-5.5));
for n=1:k;
t0=5.5+n;x=subs(tt1,n);
if xt0
t(n)=subs(ttt,n);
else t(n)=x;
end
end
m=max(find(tT));
您可能关注的文档
最近下载
- 2025年基层全科医生能力提升题库答案-华医网项目学习.docx VIP
- 《“1+X”无人机摄影测量》课件——项目三 像控点采集.pptx VIP
- 中医英语入门-学堂在线网课答案修改版.doc VIP
- 健康照护师练习试题及答案.docx
- 总公司与分公司的协议书.docx
- 一例脑梗死合并消化道出血的个案护理(1) PPT课件.pptx VIP
- 股东无息借款协议通用7篇.docx VIP
- 基于BIM技术降低机电管线综合布置碰撞率.docx VIP
- 《“1+X”无人机摄影测量》课件——项目六 数字正射影像图.pptx VIP
- 2023年江苏省健康照护行业职业技能竞赛考试复习题库-下(判断题部分).pdf VIP
文档评论(0)