下载此文档

交通系统仿真实验报告.doc


文档分类:高等教育 | 页数:约16页 举报非法文档有奖
1/16
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/16 下载此文档
文档列表 文档介绍
实验报告课程名称道路交通系统仿真学生姓名学号专业班级指导教师院系名称交通运输工程学院年11月10日实验一随机数生成程序实验要求产生1~1000的随机数,个数大约256个。实验环境工具使用VisualC++,程序类型Win32ConsoleApplication。实验原理根据公式x[i]=a*x[i-1]mod(m),可根据所需范围值确定a和m的值,本实验中需要1~1000的随机数,因此能够选择a=35,m=1024。其周期为(m/4)=256,产生256个1~1024之间随机数。根据需要,我们舍弃大于1000的随机数,原理是我们使用中间变量连接产生的数与我们需要的数组,通过对中间变量的不断循环,当产生大于1000的随机数时,我们继续使中间变量不断循环但不放入数组,从而舍弃这些数字,最终得到我们需要的1~1000的随机数的数组并输出数组中的数,并计数其个数,这样就完成了我们的产生随机数的目的。实验步骤图一随机数程序流程图图二随机数程序运行结果程序开始先给定初始值(1~1000以内奇数),根据给定的公式计算中间值temp,再判断temp的值是否小于1000,把小于1000的temp值赋给数组x[i],循环执行该命令直至x[i]=x[0],结束程序并输出数组值和数组大小。数组值随初始值改编而改变,初始值决定数组值的变化。分析总结由图二随机数程序运行结果能够看出,该程序运行结果与我们所给与的数学模型期望达到的效果一致。程序运行正确,伪随机数的周期为256个,由于去除了大于1000的随机数,故程序结果显示为249,与数学模型的周期一致。附录#include<>voidmain(void){inti=1,j=0,temp=0; inta=35,m=1024; intx[256]; intk; printf("输入到达服务时间随机初始值:"); scanf("%d",&x[0]); printf("\n"); while(i) { temp=a*x[i-1]%m; while(temp>1000) { temp=a*temp%m; } if(temp!=x[0]) { x[i]=temp; printf("%5d",x[i]); i++; } else{j=i-1,i=0;} } printf("\n\nj=%d\n\n",j);}实验二单服务台排队系统仿真实验要求单服务台对到达顾客进行服务,顾客单路排队,随机分配顾客的到达时间间隔和服务时间,从而确定顾客的到达时刻和服务开始结束时刻,并计算服务台的空闲时间和顾客的排队等待时间。通过程序实现对单服务台排队系统的仿真,根据程序运行结果计算重要结果属性值。实验环境工具使用VisualC++,程序类型Win32ConsoleApplication。实验原理在程序设计中,顾客到达时间间隔time_interval和服务时间service_time由随机数确定。顾客到达时间间隔通过随机数分布并定义其分布区间,从而确定其到达间隔时间;服务时间也是先通过随机数程序产生一组随机数,然后通过对随机数区间的定义确定随机服务时间。这两个参数确定后能够通过数学方法确定其它参数,因此到达时间间隔和服务时间是程序中最重要的两个参数。实验步骤图三单服务台仿真流程图图四随机时间间隔图五随机服务时间图六单服务台排队系统顾客服务时刻表程序先通过随机数方法分配排队顾客的随机到达时间间隔和随机服务时间。随机到达时间间隔是用1~1000之间的随机数进行等概率分配给1~8分钟的到达间隔;随机服务时间是将1~1000的随机数分配给1~6分钟的服务时间,,,,,,,通过这种方法将1~1000以内的随机数分配给各个时间段,从而得到顾客的随机到达时间间隔和随机服务时间。得到这两个基本参数后,通过数学方法联系其它参数,运用程序的循环过程最终能够输出单服务台顾客服务时刻表。分析总结通过程序运行和结果校正,程序输出结果正确,程序运行正确。我们以10个顾客为例,运行程序,能够计算出在该程序设定条件下的属性值:顾客平均等待时间=min服务员平均服务时间=min服务员平均空闲时间=min附录#include<>intimax(int,int);voidmain(void){ inttime_interval[256]; intreach_point[256]; intservice_time[256]; intservice_end_point[256]; intwait_time[256]; intfree_time[256]; intx[256];inty[256]; intn,max;inti=1,temp=0; inta=35,m=1024;/*输入顾客人数*/printf("输入顾客数n:");scanf("%d",&n);/*产生到达时间随机

交通系统仿真实验报告 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息