ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:394.20KB ,
资源ID:4608952      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4608952.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(完整版MM1排队系统仿真matlab实验报告.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

完整版MM1排队系统仿真matlab实验报告.docx

1、完整版MM1排队系统仿真matlab实验报告M/M/1排队系统实验报告一、实验目的本次实验要求实现M/M/1单窗口无限排队系统的系统仿真,利用事件调度法实现离散事件系统仿真,并统计平均队列长度以及平均等待时间等值,以与理论分析结果进行对比。二、实验原理根据排队论的知识我们知道,排队系统的分类是根据该系统中的顾客到达模式、服务模式、服务员数量以及服务规则等因素决定的。1、 顾客到达模式设到达过程是一个参数为的Poisson过程,则长度为的时间内到达个呼叫的概率 服从Poisson分布,即,其中0为一常数,表示了平均到达率或Poisson呼叫流的强度。2、 服务模式设每个呼叫的持续时间为,服从参数

2、为的负指数分布,即其分布函数为3、 服务规则先进先服务的规则(FIFO)4、 理论分析结果在该M/M/1系统中,设,则稳态时的平均等待队长为,顾客的平均等待时间为。三、实验内容M/M/1排队系统:实现了当顾客到达分布服从负指数分布,系统服务时间也服从负指数分布,单服务台系统,单队排队,按FIFO(先入先出队列)方式服务。四、采用的语言MatLab语言源代码:clear;clc;%M/M/1排队系统仿真SimTotal=input(请输入仿真顾客总数SimTotal=); %仿真顾客总数;Lambda=0.4; %到达率Lambda;Mu=0.9; %服务率Mu;t_Arrive=zeros(1

3、,SimTotal); t_Leave=zeros(1,SimTotal);ArriveNum=zeros(1,SimTotal);LeaveNum=zeros(1,SimTotal);Interval_Arrive=-log(rand(1,SimTotal)/Lambda;%到达时间间隔Interval_Serve=-log(rand(1,SimTotal)/Mu;%服务时间t_Arrive(1)=Interval_Arrive(1);%顾客到达时间ArriveNum(1)=1;for i=2:SimTotal t_Arrive(i)=t_Arrive(i-1)+Interval_Arriv

4、e(i); ArriveNum(i)=i;endt_Leave(1)=t_Arrive(1)+Interval_Serve(1);%顾客离开时间LeaveNum(1)=1;for i=2:SimTotal if t_Leave(i-1)t_Arrive(i) t_Leave(i)=t_Arrive(i)+Interval_Serve(i); else t_Leave(i)=t_Leave(i-1)+Interval_Serve(i); end LeaveNum(i)=i;endt_Wait=t_Leave-t_Arrive; %各顾客在系统中的等待时间t_Wait_avg=mean(t_Wai

5、t);t_Queue=t_Wait-Interval_Serve;%各顾客在系统中的排队时间t_Queue_avg=mean(t_Queue);Timepoint=t_Arrive,t_Leave;%系统中顾客数随时间的变化Timepoint=sort(Timepoint);ArriveFlag=zeros(size(Timepoint);%到达时间标志CusNum=zeros(size(Timepoint);temp=2;CusNum(1)=1;for i=2:length(Timepoint) if (temp=2 QueLength(i)=CusNum(i)-1; else QueLen

6、gth(i)=0; endendQueLength_avg=sum(0 QueLength.*Time_interval 0 )/Timepoint(end);%系统平均等待队长%仿真图figure(1);set(1,position,0,0,1000,700);subplot(2,2,1);title(各顾客到达时间和离去时间);stairs(0 ArriveNum,0 t_Arrive,b);hold on;stairs(0 LeaveNum,0 t_Leave,y);legend(到达时间,离去时间);hold off;subplot(2,2,2);stairs(Timepoint,Cu

7、sNum,b)title(系统等待队长分布);xlabel(时间);ylabel(队长);subplot(2,2,3);title(各顾客在系统中的排队时间和等待时间);stairs(0 ArriveNum,0 t_Queue,b);hold on;stairs(0 LeaveNum,0 t_Wait,y);hold off;legend(排队时间,等待时间);%仿真值与理论值比较disp(理论平均等待时间t_Wait_avg=,num2str(1/(Mu-Lambda);disp(理论平均排队时间t_Wait_avg=,num2str(Lambda/(Mu*(Mu-Lambda);disp(

8、理论系统中平均顾客数=,num2str(Lambda/(Mu-Lambda);disp(理论系统中平均等待队长=,num2str(Lambda*Lambda/(Mu*(Mu-Lambda);disp(仿真平均等待时间t_Wait_avg=,num2str(t_Wait_avg)disp(仿真平均排队时间t_Queue_avg=,num2str(t_Queue_avg)disp(仿真系统中平均顾客数=,num2str(CusNum_avg);disp(仿真系统中平均等待队长=,num2str(QueLength_avg);五、数据结构1.仿真设计算法(主要函数)利用负指数分布与泊松过程的关系,产

9、生符合泊松过程的顾客流,产生符合负指数分布的随机变量作为每个顾客的服务时间:Interval_Arrive=-log(rand(1,SimTotal)/Lambda;%到达时间间隔,结果与调用exprnd(1/Lambda,m)函数产生的结果相同Interval_Serve=-log(rand(1,SimTotal)/Mu;%服务时间间隔t_Arrive(1)=Interval_Arrive(1);%顾客到达时间时间计算t_Wait=t_Leave-t_Arrive; %各顾客在系统中的等待时间t_Queue=t_Wait-Interval_Serve; %各顾客在系统中的排队时间由事件来触发

10、仿真时钟的不断推进。每发生一次事件,记录下两次事件间隔的时间以及在该时间段内排队的人数:Timepoint=t_Arrive,t_Leave; %系统中顾客数变化CusNum=zeros(size(Timepoint);CusNum_avg=sum(CusNum_fromStart.*Time_interval 0 )/Timepoint(end); %系统中平均顾客数计算QueLength_avg=sum(0 QueLength.*Time_interval 0 )/Timepoint(end); %系统平均等待队长2.算法的流程图六、仿真结果分析顾客的平均等待时间与顾客的平均等待队长,计算

11、其方差如下:从上表可以看出,通过这种模型和方法仿真的结果和理论值十分接近,增加仿真顾客数时,可以得到更理想的结果。但由于变量定义的限制,在仿真时顾客总数超过1,500,000时会溢出。证明使此静态仿真的思想对排队系统进行仿真是切实可行的。实验结果截图如下(SimTotal分别为100、1000、10000、100000):(仿真顾客总数为100000和1000000时,其图像与10000的区别很小)七、遇到的问题及解决方法1.在算法设计阶段对计算平均队长时对应的时间段不够清楚,重新画出状态转移图后,引入变量Timepoint用来返回按时间排序的到达和离开的时间点,从而得到正确的时间间隔内的CusNum,并由此计算出平均队长。2.在刚开始进行仿真时仿真顾客数设置较小,得到的仿真结果与理论值相差巨大,进行改进后,得到的结果与理论值相差不大。3.刚开始使用exprnd(Mu,m)产生负指数分布,但运行时报错,上网查找资料后找到替代方法:改成Interval_Serve=-log(rand(1,SimTotal)/Mu;方法生成负指数分布,运行正常。八、实验心得通过本次实验我对M/M/1单窗口无限排队系统有了更深的认识,同时对MatLab编程语言更加熟悉,并了解到仿真在通信网中的重要作用。此次实验我受益匪浅。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1