交通系统仿真实验报告


    




    实验报告



    课程名称 道路交通系统仿真

    学生姓名

    学 号

    专业班级

    指导教师

    院系名称 交通运输工程学院

















    2012 年 X 月 X 日
    实验 机数生成程序
    实验求
    产生1~1000机数数约256
    二 实验环境
    工具Visual C++ 60程序类型 Win32 Console Application
    三 实验原理
    根公式x[i]a*x[i1]mod(m)根需范围值确定am值实验中需1~1000机数选择a35m1024周期(m4)256产生2561~1024间机数根需舍弃1000机数原理中间变量连接产生数需数组通中间变量断循环产生1000机数时继续中间变量断循环放入数组舍弃数字终需1~1000机数数组输出数组中数计数数样完成产生机数目
    四 实验步骤

    图 机数程序流程图

    图二 机数程序运行结果
    程序开始先定初始值(1~1000奇数)根定公式计算中间值temp判断temp值否10001000temp值赋数组x[i]循环执行该命令直x[i]x[0]结束程序输出数组值数组数组值初始值改编改变初始值决定数组值变化
    五. 分析总结
    图二机数程序运行结果出该程序运行结果数学模型期达效果致程序运行正确伪机数周期2561000机数程序结果显示249数学模型周期致
    附录

    #include
    void main(void)
    {
    int i1j0temp0
    int a35m1024
    int x[256]
    int k
    printf(输入达服务时间机初始值:)
    scanf(d&x[0])
    printf(\n)
    while(i)
    { tempa*x[i1]m
    while(temp>1000)
    {
    tempa*tempm
    }
    if(tempx[0])
    {
    x[i]temp
    printf(5dx[i])
    i++
    }
    else {ji1i0}
    }
    printf(\n\njd\n\nj)}

    实验二 单服务台排队系统仿真
    实验求
    单服务台达顾客进行服务顾客单路排队机分配顾客达时间间隔服务时间确定顾客达时刻服务开始结束时刻计算服务台空闲时间顾客排队等时间通程序实现单服务台排队系统仿真根程序运行结果计算重结果属性值
    二 实验环境
    工具Visual C++ 60程序类型 Win32 Console Application
    三 实验原理
    程序设计中顾客达时间间隔time_interval服务时间service_time机数确定顾客达时间间隔通机数分布定义分布区间确定达间隔时间服务时间先通机数程序产生组机数然通机数区间定义确定机服务时间两参数确定通数学方法确定参数达时间间隔服务时间程序中重两参数
    四 实验步骤

    图三 单服务台仿真流程图

    图四 机时间间隔

    图五 机服务时间

    图六 单服务台排队系统顾客服务时刻表

    程序先通机数方法分配排队顾客机达时间间隔机服务时间机达时间间隔1~1000间机数进行等概率分配1~8分钟达间隔机服务时间1~1000机数分配1~6分钟服务时间分配时段根概率01020350201005分配通种方法1~1000机数分配时间段顾客机达时间间隔机服务时间
    两基参数通数学方法联系参数运程序循环程终输出单服务台顾客服务时刻表
    五 分析总结
    通程序运行结果校正程序输出结果正确程序运行正确10顾客例运行程序计算出该程序设定条件属性值:
    顾客均等时间07 min
    服务员均服务时间34 min
    服务员均空闲时间12 min

    六 附录
    #include
    int imax(int int)
    void main(void)
    {
    int time_interval[256]
    int reach_point[256]
    int service_time[256]
    int service_end_point[256]
    int wait_time[256]
    int free_time[256]
    int x[256]
    int y[256]
    int nmax
    int i1temp0
    int a35m1024
    *输入顾客数*
    printf(输入顾客数n )
    scanf(d&n)
    *产生达时间机间隔*
    printf(\n输入达时间间隔机初始值(1~1000) )
    scanf(d&x[0])
    printf(\n)
    while(i>1)
    {
    tempa*x[i1]m
    while(temp>1000)
    {
    tempa*tempm
    }
    if(tempx[0])
    {
    x[i]temp
    i++
    }
    else {i0}
    }
    for(i1i {
    if(x[i]>1&&x[i]<125)
    time_interval[i]1
    if(x[i]>126&&x[i]<250)
    time_interval[i]2
    if(x[i]>251&&x[i]<375)
    time_interval[i]3
    if(x[i]>376&&x[i]<500)
    time_interval[i]4
    if(x[i]>501&&x[i]<625)
    time_interval[i]5
    if(x[i]>626&&x[i]<750)
    time_interval[i]6
    if(x[i]>751&&x[i]<875)
    time_interval[i]7
    if(x[i]>876&&x[i]<1000)
    time_interval[i]8
    }
    i1
    printf(第1位顾客达时间间隔 0)
    for(i2i {
    printf(\n第d位顾客机达时间间隔位 ditime_interval[i])
    }
    printf(\n\n)
    *产生机服务时间*
    i1temp0
    a35m1024
    printf(\n输入达服务时间机初始值(1~1000) )
    scanf(d&y[0])
    printf(\n)
    while(i>1)
    { tempa*y[i1]m
    while(temp>1000)
    {
    tempa*tempm
    }
    if(tempy[0])
    {
    y[i]temp
    i++
    }
    else {i0}
    }
    for(i1i {
    if(y[i]>1&&y[i]<100)
    service_time[i]1
    if(y[i]>101&&y[i]<300)
    service_time[i]2
    if(y[i]>301&&y[i]<650)
    service_time[i]3
    if(y[i]>651&&y[i]<850)
    service_time[i]4
    if(y[i]>851&&y[i]<950)
    service_time[i]5
    if(y[i]>951&&y[i]<1000)
    service_time[i]6
    }
    for(i1i {
    printf(\n第d位顾客机服务时间:d iservice_time[i])
    }
    printf(\n\n\n)
    *程序排队序列开始第单独考虑面连续分配间隔时间*
    time_interval[0]0
    reach_point[0]0
    service_time[0]0
    service_end_point[0]0
    wait_time[0]0
    free_time[0]0
    time_interval[1]0
    reach_point[1]0
    wait_time[1]0
    free_time[1]0
    service_end_point[1]reach_point[1]+service_time[1]
    printf(顾客号1)
    printf( 达时间间隔dtime_interval[1])
    printf( 达时刻dreach_point[1])
    printf( 服务时间dservice_time[1])
    printf( 服务结束时刻dservice_end_point[1])
    printf( 等时间dwait_time[1])
    printf( 空闲时间dfree_time[1])
    for(i2i {
    reach_point[i]reach_point[i1]+time_interval[i]
    maximax(service_end_point[i1]reach_point[i])
    service_end_point[i]service_time[i]+max
    if(service_end_point[i1]reach_point[i]>0)
    free_time[i]0wait_time[i]service_end_point[i1]reach_point[i]
    if(service_end_point[i1]reach_point[i]<0)
    wait_time[i]0free_time[i]reach_point[i]service_end_point[i1]
    printf(\n顾客号di)
    printf( 达时间间隔dtime_interval[i])
    printf( 达时刻dreach_point[i])
    printf( 服务时间dservice_time[i])
    printf( 服务结束时刻dservice_end_point[i])
    printf( 等时间dwait_time[i])
    printf( 空闲时间dfree_time[i])
    }
    printf(\n)
    }
    int imax(int x int y)
    {
    int z
    if(x>y)
    zx
    else zy
    return(z)
    }
    实验三 单车道车辆驰仿真
    实验求
    运编程方法实现车辆驰仿真三种类型:
    1 前车匀速行驶车运行状况
    2前车加速行驶车运行状况
    3前车减速行驶停止车运行状况
    二 实验环境
    Visual C++60程序类型:MFC Application
    三 实验原理
    单车道车辆驰仿真实验描述三种程:前车匀速行驶时车前车间初始时段距离车判断间距通加速减速前车达安全距离保持前车相速度行驶前车加速行驶时车先初始速度通反应时间前车加速度追赶前车车前车达安全距离时车前车相加速度行驶前车减速时车先初始速度反应时间前车减速度减速间距安全距离时车保持前车相减速度行驶直停车重参数车辆位置前车初始速度前车加速度车司机反应时间模拟步长等
    四 实验步骤

    图七 驰仿真流程图 图八 前车匀速时车驰状态

    图九 前车加速时车驰状态 图十 前车减速事车驰状态

    五 分析总结
    程序设计时图形边界进行设置运程序命令实现循环边界样更完整该程序设计条件汽车运行状态通循环边界完整观测前车加速行驶时车先加速追前车前车保持相加速度程
    六 附录
    void CFollowingSimulationViewOnDraw(CDC* pDC)
    {
    CFollowingSimulationDoc* pDoc GetDocument()
    ASSERT_VALID(pDoc)
    if (pDoc)
    return

    CRect rect
    GetClientRect(&rect)
    CBitmap bitmap_1bitmap_2
    bitmap_1LoadBitmap(IDB_BITMAP_CAR)CBitmap实数结构
    bitmap_2LoadBitmap(IDB_BITMAP_CAR2)
    BITMAP bmp
    bitmap_1GetBitmap(&bmp)样素材

    CDC dcCompatible_1dcCompatible_2
    dcCompatible_1CreateCompatibleDC(pDC)
    dcCompatible_1SelectObject(&bitmap_1)确定dcCompatible_1显示表面位图作图背景位图进行画图
    dcCompatible_2CreateCompatibleDC(pDC)
    dcCompatible_2SelectObject(&bitmap_2)

    if(changes0)
    {
    if(pos_2 {
    pDC>StretchBlt(pos_1100bmpbmWidth4bmpbmHeight4&dcCompatible_100bmpbmWidthbmpbmHeightSRCCOPY)
    pDC>StretchBlt(pos_2100bmpbmWidth4bmpbmHeight4&dcCompatible_200bmpbmWidthbmpbmHeightSRCCOPY)
    汽车走距离x轴起点
    }
    else {前车移动行车行驶完width()pos_2距离移动行
    KillTimer(1)
    pos_20
    distance()
    pos_1inidis两车初始距离
    Velocity()计算deltaX_1deltaX_2值两车初始速度
    Accelerated_Velocity_1()前车加速度获Av_1
    changes+1
    step0
    Sleep(2000)
    SetTimer(250NULL)

    停车
    }
    }
    if(changes1)
    {
    if(pos_2 {
    pDC>StretchBlt(pos_1200bmpbmWidth4bmpbmHeight4&dcCompatible_100bmpbmWidthbmpbmHeightSRCCOPY)
    pDC>StretchBlt(pos_2200bmpbmWidth4bmpbmHeight4&dcCompatible_200bmpbmWidthbmpbmHeightSRCCOPY)
    汽车走距离x轴起点
    }
    else {前车移动行车行驶完width()pos_2距离移动行
    KillTimer(2)
    pos_20
    distance()
    pos_1inidis两车初始距离
    Velocity()计算deltaX_1deltaX_2值两车初始速度
    deltaX_130deltaX_220
    Accelerated_Velocity_1()前车加速度获Av_1
    changes+1
    step0
    Sleep(2000)
    SetTimer(350NULL)
    停车
    }
    }
    if(changes2)
    {
    if(pos_20))车位置
    {
    pDC>StretchBlt(pos_1300bmpbmWidth4bmpbmHeight4&dcCompatible_100bmpbmWidthbmpbmHeightSRCCOPY)
    pDC>StretchBlt(pos_2300bmpbmWidth4bmpbmHeight4&dcCompatible_200bmpbmWidthbmpbmHeightSRCCOPY)
    汽车走距离x轴起点
    }
    else {
    KillTimer(3)
    pDC>StretchBlt(pos_1300bmpbmWidth4bmpbmHeight4&dcCompatible_100bmpbmWidthbmpbmHeightSRCCOPY)
    pDC>StretchBlt(pos_2300bmpbmWidth4bmpbmHeight4&dcCompatible_200bmpbmWidthbmpbmHeightSRCCOPY)
    bitmap_1DeleteObject()
    bitmap_2DeleteObject()
    dcCompatible_1DeleteDC()
    dcCompatible_2DeleteDC()
    }
    }
    void CFollowingSimulationViewOnTimer(UINT_PTR nIDEvent)
    {
    TODO Add your message handler code here andor call default
    step+1
    int temp0存储步长
    if(changes0)说明刚开始第时间段两车均匀速行驶deltaX_1>deltaX_2需车加速完成车距保持目
    {
    Av_2(30*(deltaX_1deltaX_2)+realdis200)465计算次
    pos_1+deltaX_1
    pos_2+deltaX_2
    if(step>20)通if语句判断两车实时距离没200左右话停止
    {
    if(abs(pos_1pos_2)>200)
    {
    deltaX_2+1
    pos_2+deltaX_2
    }
    else {deltaX_2deltaX_1}
    }
    }
    if(changes1)
    {
    deltaX_1+1前车加速度
    pos_1+deltaX_1
    if(step<15)
    pos_2+deltaX_2
    if(step>15)
    {
    if(abs(pos_1pos_2)>200)
    {
    deltaX_2+3
    pos_2+deltaX_2
    }
    else {deltaX_2deltaX_1}

    }
    }
    if(changes2)
    {
    deltaX_11前车加速度
    pos_1+deltaX_1
    if(step<20)
    pos_2+deltaX_2
    if(step>20)
    {
    if(abs(pos_1pos_2)>200)
    {
    deltaX_22
    pos_2+deltaX_2
    }
    else {deltaX_2deltaX_1}

    }
    }
    Invalidate(true)
    CViewOnTimer(nIDEvent)
    }
    合肥工业学
    文档香网(httpswwwxiangdangnet)户传

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 2 香币 [ 分享文档获得香币 ]

    下载文档

    相关文档

    动态系统建模仿真实验报告四旋翼仿真

    动态系统建模仿真实验报告(2)四旋翼飞行器仿真20121实验内容基于Simulink建立四旋翼飞行器的悬停控制回路,实现飞行器的悬停控制;建立UI界面,能够输入参数并绘制运动轨迹;基于VR T...

    3年前   
    880    0

    实验报告-电力电子仿真实验

    掌握单相交-直-交变频电路仿真模型的建立及模块参数和仿真参数的设置。理解单相交-直-交变频电路的工作原理及仿真波形。

    4年前   
    1122    0

    “广茂达”仿真机器人实验报告

    实验四  “广茂达”仿真机器人实验报告     06计本② 曾XX 44       成绩: 教师评语         指导教师签名:                ...

    14年前   
    16917    0

    动态系统建模(四旋翼飞行器仿真)实验报告

     动态系统建模(四旋翼飞行器仿真)实验报告 院(系)名称大飞机班 学号 学生姓名 任课教师...

    3年前   
    901    0

    连锁企业经营仿真决策实验报告

    连锁企业模拟经营决策实验报告公司名称: 10am 学生姓名: 丁晨 徐朝梅 陈波倩 专 ...

    2年前   
    322    0

    模糊控制的MALTAB系统仿真实验报告

    可编程控制器智能控制技术仿真实验 题 目: 模糊控制系统MATLAB仿真实验报告 院系名称: 电气工程学院 专业班级: ...

    3年前   
    756    0

    单相桥式逆变电路的仿真实验报告

    掌握相桥式逆变器电路的双极性SPWM调制和单极性SPWM调制方法。

    5年前   
    5157    0

    智能交通系统毕业论文

    智能交通系统毕业论文摘 要随着现代社会的快速发展,各种各样的交通工具成为了代步工具,特别是近年来小汽车的普及,加重了现有交通资源的压力。优化交通网络可以缓解交通压力,但是投入成本较高,还要受...

    3年前   
    1311    0

    交通系统竞职演讲

    交通系统竞职演讲第一篇:交通系统竞职演讲各位领导、同志们:我生于是1953年12月 ,现年49周岁,1969年11月参加工作 ,1978年加入中国共产党,刑事技术侦察工程师,高级政工师。参加工...

    10年前   
    507    0

    仿真培训总结

    仿真培训总结  变电运行仿真培训总结  XX年11月21日至XX年11月25日,变电管理所12名职工在贵州电网培训中心参加了220kv变电运行仿真的培训。  此次培训的内容主要围绕两大内容进行...

    12年前   
    511    0

    化工仿真实习心得

    化工仿真实习心得 这次的化工仿真实习,这个实训让我学到了许多,获得了许多以前单纯从课堂上无法获得的学问、阅历。下面是我为大家收集整理的化工仿真实习心得,欢迎大家阅读。 化工仿真实习心得篇...

    3个月前   
    95    0

    单服务台排队系统仿真研究报告物流系统建模与仿真

    物流系统建模与仿真09级自动化学院物流工程班单服务台排队系统仿真研究报告——选重庆大学A区门口中国银行分行某一服务窗口为单服务台排队系统研究对象一、系统基本背景 社会的进步越来越快,人们...

    2年前   
    724    0

    化学实验报告

    化学实验报告  化学是一门以实验为基础的学科。化学上的许多理论和定律都是从实验中发现归纳出来的。同时,化学理论的应用、评价也有赖于实验的探索和检验。虽然到了近代乃至现代,化学的飞速进步已经产生...

    11年前   
    1025    0

    教育实验报告

    教育实验报告  教育实验报告  对某种教育现象实验后,要对整个实验过程进行全面总结,提出一个客观的、概括的、能反映全过程及其结果的书面材料,即谓教育实验报告。教育实验报告可分为三部分:①前言。...

    12年前   
    740    0

    **学院实验报告

    实验内容:使用金融数据库查找宏观经济及行业相关数据,使用Excel进行作图分析。根据所得数据以及图形分析相关问题。实验目的:掌握金融数据库软件的相关使用,操作,快捷查找数据,能够制作美观图形,对于数据有效分析。

    3年前   
    671    0

    上机实验报告

    上机实验报告  一.     题目1.  建立一个学生档案,内容包括学号,姓名,年龄,性别,数学,物理和英语3门功课成绩。要求实现以下功能:1)        数据输入;2)        查...

    8年前   
    858    0

    电路实验报告

    实验一 元件特性的示波测量法一、实验目的1、学习用示波器测量正弦信号的相位差。2、学习用示波器测量电压、电流、磁链、电荷等电路的基本变量3、掌握元件特性的示波测量法,加深对元件特性的理解。二...

    2年前   
    2893    0

    爱情实验报告

    爱情实验报告  爱情实验报告   这学期要做一周的模块实验,我和欣儿分在一组,欣儿是班里的学习委员,负责收缴每天实验后大家必写的实验报告。    欣儿长的很美,碰到人总是浅浅地笑,不象有些女生...

    12年前   
    743    0

    生物实验报告

    生物实验报告  实验   生物组织中还原糖、脂肪、蛋白质的鉴定  一、实验目的  初步掌握鉴定生物组织中还原糖、脂肪、蛋白质的基本方法。  二、实验原理  1.还原糖的鉴定原理  生物组织中普...

    9年前   
    822    0

    oracle实验报告

    《Oracle数据库设计与 实现》 总结报告 成绩:-------------- ...

    2年前   
    498    0

    文档贡献者

    文***享

    贡献于2023-05-18

    下载需要 2 香币 [香币充值 ]
    亲,您也可以通过 分享原创文档 来获得香币奖励!
    下载文档

    该用户的其他文档