- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北邮通信网实验报告一
通信网理论基础实验报告实验一:M/M/1排队系统一、实验目的M/M/1是最简单的排队系统,其假设到达过程是一个参数为的Poisson过程,服务时间是参数为的负指数分布,只有一个服务窗口,等待的位置有无穷多个,排队的方式是FIFO。M/M/1排队系统的稳态分布、平均队列长度,等待时间的分布以及平均等待时间,可通过泊松过程、负指数分布、生灭过程以及Little公式等进行理论上的分析与求解。本次实验要求实现M/M/1单窗口无限排队系统的系统仿真,利用事件调度法实现离散事件系统仿真,并统计平均队列长度以及平均等待时间等值,以与理论分析结果进行对比。二、实验原理根据排队论的知识我们知道,排队系统的分类是根据该系统中的顾客到达模式、服务模式、服务员数量以及服务规则等因素决定的。顾客到达模式设到达过程是一个参数为的Poisson过程,则长度为的时间内到达个呼叫的概率服从Poisson分布,即,,其中0为一常数,表示了平均到达率或Poisson呼叫流的强度。服务模式设每个呼叫的持续时间为,服从参数为的负指数分布,即其分布函数为服务规则先进先服务的规则(FIFO)理论分析结果在该M/M/1系统中,设,则稳态时的平均等待队长为,顾客的平均等待时间为。实验内容实验算法分析采用的语言:matlab(1)利用负指数分布与泊松过程的关系,产生符合泊松过程的顾客流。产生符合负指数分布的随机变量作为每个顾客的服务时间。计算每个顾客的到达和离开时间。clear;clc;%M/M/1排队系统仿真SimTotal=input(请输入仿真顾客总数SimTotal=); %仿真顾客总数;Lambda=0.2; %到达率Lambda;Mu=0.5; %服务率Mu;t_Arrive=zeros(1,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_Arrive(i); ArriveNum(i)=i;endt_Leave(1)=t_Arrive(1)+Interval_Serve(1);%顾客离开时间LeaveNum(1)=1;for i=2:SimTotalif 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;end(2)Timepoint是发生任意时间的时间点,Time_interval时间区间。计算平均等待时间和平均队长。t_Wait=t_Leave-t_Arrive; %各顾客在系统中的等待时间t_Wait_avg=mean(t_Wait);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=length(t_Arrive))(Timepoint(i)==t_Arrive(temp)) CusNum(i)=CusNum(i-1)+1; temp=temp+1; ArriveFlag(i)=1;else CusNum(i)=CusNum(i-1)-1;endendTime_interval=zeros(size(Timepoint));Time_interval(1)=t_Arrive(1);for i=2:length(Timepoint) Time_interval(i)=Timepoint(i)-Timepoint(i-1);end
文档评论(0)