您好,欢迎访问三七文档
数学建模论文姓名:张润达20093986邓宇20093994李栋20093988一摘要复杂的随机事件系统,无法用数学计算直接进行求解,为此我们可以在计算机上进行模拟仿真,一般以时间作为变量,其他作为因变量,一次来进行系统的离散时间的模拟,本题采用下次事件法即以下次时间作为事件的起始时刻。我们采用matlab进行模拟,用其产生随机均匀分布和泊松分布表,其中车辆到达的时间误差、汽车到站时汽车上的人数、到站时下车人数,下车时间和上车时间采用均匀分布,30分钟到达的人数12采用泊松分布。这样就可以大大简化,不必考虑到达人数过多的情况。设计步骤如下:(1)设计一个逻辑框图,即模拟模型。这个框图要正确反映系统各部分运行时的逻辑关系。(2)模拟随机现象,可通过各种具有概率分布的模拟随机数来模拟随机现象。关键字:离散matlab二问题描述问题:某公共汽车站每隔30分钟到达一辆汽车,但可能有[0,3]分钟的误差,此误差大小与前一辆汽车的到达时间无关,汽车最多容纳50名旅客,到达汽车站时车内旅客人数服从[20,50]的均匀分布,到站下车的旅客人数服从[3,7]的均匀分布,每名旅客下车的时间服从[1,7]秒的均匀分布旅客按每30分钟到达12个人的泊松分布到达汽车站,单列排列上车,先到先上。如果某位旅客未能上车,他不再等候。旅客上车时间服从[4,12]秒的均匀分布。上下车的规则:先下后上,逐个上车,逐个下车。假设每天发车25辆,要求模拟一天汽车的运行情况。了解一天中在站内等车的总人数,能上车及不能上车的人数,旅客排队时间分布,不能上车人数的分布情况。上车规则:先下后上,逐个下车,逐个上车。三问题分析这是一个离散随机事例,我们采用计算机模拟,在matlab中产生随机数列表,采用下次事件法来推进模拟时间,这是一个排队服务系统,因此运用离散型模拟。题中,汽车到站的时间,到达汽车站时车内旅客人数,到站下车的旅客人数,每名旅客下车的时间,旅客上车时间,都满足均匀分布,可以用matlab产生相应的随机数。旅客按每30分钟到达12个人的泊松分布到达汽车站,也可以用matlab实现,旅客排队时间分布可以通过matlab中的指数分布来模拟得出,上车的人数最多不能超过下车后车内的总空位数,如果排队人数大于总空位数,则有人不能上车,这时记下不能上车的人数。反之所有人都可以上车,并且假设未上车的人不会再继续等待。上一辆汽车离开的时间到下一辆车到达的时间是排队时间,根据泊松分布就可以等待人数的随机数列表。之后一一对应,在excel中进行计算即可。四模型假设(1)我们近似认为前后两辆汽车的到站时间没有必然的关系。(2)假设乘客先下后上,并且是一个挨一个,之间不计入时间误差。(3)假设若为等到上车则不在等待。(4)只要有空位就可以上车,知道没有人为止。(5)假设其服从车辆到达的时间误差、汽车到站时汽车上的人数、到站时下车人数,下车时间和上车时间采用均匀分布。(6)30分钟到达的人数12采用泊松分布。(7)假设汽车到站后,排队的人数不在增加,并且其排队时间不考虑其前面的人的上车时间,但考虑总的下车时间五模型分析六符号说明其中n表示到站的次数,总共包括25俩车,即1=n=25。汽车的到达时间误差:sw(n);产生随机数P车、P下、P列下车时间是否全部下车输出不能上车人数到达车次1、等车总人数2、能上车人数3、不能上车人数结束开始是否有人上车输出等待时间上车时间累计上车总人数上车时间累计单次上车人数YYNNY下车时间累计汽车到达时车内的人数:zr(n);每次的下车人数:xr(n);每个乘客的下车时间:xs(n);每个乘客的上车时间:ss(n);排队的时间:pds(n);每分钟到达的人数fr(n)不能上车的人数bs(n)上车的人数sr(n)车内的空车人数z排队等车的人数y七模型的建立题中,汽车到站的误差时间,到达汽车站时车内旅客人数,到站下车的旅客人数,每名旅客下车的时间,旅客上车时间,都满足均匀分布,因此关键是要产生相应的随机数,模型建立如下:(1=n=25)(1)汽车到站的事件误差为【-3,3】并且满足均匀分布,所以可以采用matlab产生误差时间:sw(n)=unifrnd(-3,3,1,25);(2)汽车到站时车内的人数满足【20,50】的均匀分布,所以可以采用matlab产生误差时间:zr(n)=unifrnd(20,50,1,25);(3)每次下车的人数满足【3,7】的均匀分布,所以可以采用matlab产生误差时间:xr(n)=unifrnd(3,7,1,25);(4)每个乘客的下车时间满足【1,7】的均匀分布,所以可以采用matlab产生误差时间:xs(n)=unifrnd(1,7,1,25);(5)每个乘客的上车时间满足【4,12】的均匀分布,所以可以采用matlab产生误差时间:Ss(n)=unifrnd(4,12,1,25);(8)我们由假设可知道,排队的时间为上一辆车离开的时间到下一辆车到达的时间差加上乘客下车的时间在加上前面的上车人数上车的时间即为:pds(n)=30+sw(n)-sw(n-1)+xr(n)*xs(n)(9)旅客按每30分钟到达12个人的泊松分布到达汽车站,因此泊松分布的期望值=0.4,所以每分钟到达人数:fr(n)=poissrnd(0.4,1,25);(10)上车的人数sr(n)=min{50-zr(n)+xr(n),fr(n)*pds(n)},即当车内空位多于排队人数时,上车人数为排队的人数,当车内空位少于排队人数时,上车的人数为车内的空位数,这时有人不能上车,因此不能上车的人数为:bs(n)=fr(n)*ps(n)-sr(n);八模型的求解假设第一趟汽车的时间是7:00,乘客从6:30开始排队sw(n)=unifrnd(-3,3,1,25);-1.7-1.80.6-1.4-1.8-2.91.5-0.32.6-0.2-0.52.10.16-1.81.02.0-2.91.1-0.72.00.11.3-0.4-1.2-1.8zr(n)=unifrnd(20,50,1,25);33212029203140222138382020253721313841402233333024xr(n)=unifrnd(3,7,1,25);5465463445353364575665637fr(n)=poissrnd(0.4,1,25);0.70.20.60.20.30.30.20.10.40.40.50.40.50.40.30.10.50.90.30.31.70.20.20.50pds(n)=30+sw(n)-sw(n-1)28303228292834283227293228283231293428322931282929车内的空车人数:z=zr(n)-xr(n)28171424162537181733351517223117263136341628272717排队等车的人数y=pds(n)*fr(n)206196987313101513141110315348104966150九表格分析车次理论时间误差时间/分车内人数下车人数车上空位数排队人数上车人数不能上车人数16:30-1.7335282020027:00-1.82141766037:300.6206141914548:00-1.42952466058:30-1.82041699069:00-2.93162588079:301.540337770810:00-0.322418330910:302.621417131301011:00-0.238533101001111:30-0.538335151501212:002.120515131301312:300.1620322111101413:00-1.825317141401513:301.037631101001614:002.0214173301714:30-2.931526151501815:001.138731343131915:30-0.7415368802016:002.040634101002116:300.1226164916332217:001.3335286602317:30-0.4336276602418:00-1.230327151502518:30-1.824717000总述:一天内总的等车人数为:310人一天中能上车的人数为:269人一天中不能上车的人数为:41人十模型评价在该模型中采用了很多近似运算,尤其是在得到随机数列的过程中采用四舍五入取其整数部分,并且并未讨论在上车过程中的等车时间,和在上下乘过程中忽略继续有人在排队,计算过程稍微有点繁琐,并且将许多情况都采用理想化模式,是讨论的过程变得简单,容易理解。
本文标题:数学建模论文1
链接地址:https://www.777doc.com/doc-5724418 .html