《MATLAB数学建模大作业.pdf》由会员分享,可在线阅读,更多相关《MATLAB数学建模大作业.pdf(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、*大学本科实验报告课程名称:*建模与仿真设计专题:单服务员的排队模型学生姓名:*学号:*20122012年0404月3030日日一、实验题目和要求实验题目:在某商店有一个售货员,顾客陆续来到,售货员逐个地接待顾客。当到来的顾客较多时,一部分顾客便须排队等待,被接待后的顾客便离开商店。设:a 顾客到来间隔时间服从参数为 5 分钟的指数分布;b 对顾客的服务时间服从3,12上的均匀分布;c 排队按先到先服务规则,队长无限制,并假定一个工作日为 8 小时,时间以分钟为单位。要求:1)模拟 1 个工作日内完成服务的个数及顾客平均等待时间 t。2)模拟 10 个工作日,求出平均每日完成服务的个数及每日顾
2、客的平均等待时间3)用柱状图画出 10 个工作日的平均每日完成的服务个数及每日顾客的平均等待时间。二、程序结构图(或功能说明)文件夹中的m文件在j取1时模拟单工作日的服务情况,j取1到10时模拟10个工作日的服务情况。三、程序流程图一个工作日:j=1构造顾客间隔时间序列(TjM)构造顾客所需服务时间序列(TfM)i=i+1计算第 i 个顾客离开时的时刻 t计算第 i+1个顾客的等待时间 st480 NO计算第 i 个顾客离开时的时刻 t计算第 i+1个顾客的等待时间 s YES记录 i 值,跳出循环 NO10个工作日:计算第 i 个顾客离开时的时刻 t计算第 i+1个顾客的等待时间 s计算第
3、i 个顾客离开时的时刻 t构造顾客所需服务时间序列(TfM)构造顾客间隔时间序列(TjM)j=1j=j+1i=i+1计算第 i+1个顾客的等待时间 s YES NO YESj480记录 i 值,跳出循环NO四、程序运行结果及说明1.j=1到10,即10个工作日的服务情况:2.j=1,即单工作日的服务情况:五、源程序清单clear,clc;sMeanM=;sIM=;%模拟10个工作日(for j=1:10)for j=1:10%求一天的话令j=1TjM=;TfM=;sTj=0;%构造单个工作日的排队系列while(sTj=480)while(sTj0);%计算第i+1个顾客的等待时间s%如果时刻
4、t480,记录i值,跳出循环if t480 sI=i;breakelse%记录第i+1个顾客等待时间s值,和第i个顾客离开时刻t T=T;t;sM=sM;s;endend%记算该工作日顾客平均等待时间sMean值sMean=mean(0;sM);%记录每个工作日顾客平均等待时间序列sMeanMsMeanM=sMeanM;sMean%记录服务员接待顾客数目序列sIMsIM=sIM;sIend%记算平均每天完成服务的个数和每日顾客的平均等待时间j=1:1:10;bar(sIM);title(平均每天完成服务人数);figure;bar(sMeanM);title(平均每天等待时间)六、对本课程的几
5、点建议 1.希望老师能够多提供一些 MATLAB的典型例题 让同学进行尝试,增强同学们的动手操作能力。例如本题就很具有代表性,以前我学习数学建模时这道例题做过好多遍,尤其是流程图的画法,它能够清楚地告诉同学们具体的运算流程与结构,使自己的做题思维有着很强的先后顺序,编代码时自然得心应手。同时,我记得自己在以前老师的指导下不停地进行完善这一题的结构与思路,从中也获得了很多知识与能力,这就是典型例题的作用。2.希望老师多重视同学们的上机实践机会与能力,有时心里想的与实际操作时差距很大,眼高手低也是我当时学习数学建模时的一大弊病,总感觉代码在自己的心里已经很清楚了,无须再进行上机亲自去编,但是这样就
6、无法让我了解到一些小的毛病,例如函数明编错等等不起眼的错误,但是他们的存在毕竟是自己一种错误的表现形式。3.还很清楚的记得在自己刚开始学习数学建模时手里就准备了一个小的笔记本,上面大大小小有很多例题,也有很多 MATLAB 的具体知识点,因为MATLAB 有些知识过于零碎,自然在学习时就应当不停地进行复习与回顾,这就要求同学们有自己的一个储存知识的本子,时刻进行回忆学习。所以我建议老师让同学们都准备一个笔记本来收录自己所学到的知识。4.建议老师能够不停地提醒同学们学习建模不能不懂装懂,不会的及时去问指导老师,建模的知识就在那里,如果我们因为没有接触过或者接触很少而不懂,这是很正常的,我们要做的就是不断地进行扩充自己的知识点,见多了自然就识广了,自己如果发现不了一定的新的知识,自己建模的水平就永远不会得到进步。附:个人联系方式手机:*邮箱:*