北邮通信网性能分析实验二 排队系统实验报告

合集下载

北邮 通信网实验报告

北邮 通信网实验报告

北京邮电大学实验报告通信网理论基础实验报告学院:信息与通信工程学院班级:2013211124学号:姓名:实验一 ErlangB公式计算器一实验内容编写Erlang B公式的图形界面计算器,实现给定任意两个变量求解第三个变量的功能:1)给定到达的呼叫量a和中继线的数目s,求解系统的时间阻塞率B;2)给定系统的时间阻塞率的要求B和到达的呼叫量a,求解中继线的数目s,以实现网络规划;3)给定系统的时间阻塞率要求B以及中继线的数目s,判断该系统能支持的最大的呼叫量a。

二实验描述1 实验思路使用MATLAB GUITOOL设计图形界面,通过单选按钮确定计算的变量,同时通过可编辑文本框输入其他两个已知变量的值,对于不同的变量,通过调用相应的函数进行求解并显示最终的结果。

2 程序界面3 流程图4 主要的函数符号规定如下:b(Blocking):阻塞率;a(BHT):到达呼叫量;s(Lines):中继线数量。

1)已知到达呼叫量a及中继线数量s求阻塞率b 使用迭代算法提高程序效率B(s,a)=a∙B(s−1,a) s+a∙B(s−1,a)代码如下:function b = ErlangB_b(a,s)b =1;for i =1:sb = a * b /(i + a * b);endend2)已知到达呼叫量a及阻塞率b求中继线数量s考虑到s为正整数,因此采用数值逼近的方法。

采用循环的方式,在每次循环中增加s的值,同时调用 B(s,a)函数计算阻塞率并与已知阻塞率比较,当本次误差小于上次误差时,结束循环,得到s值。

代码如下:function s = ErlangB_s(a,b)s =1;Bs = ErlangB_b(a,s);err = abs(b-Bs);err_s = err;while(err_s <= err)err = err_s;s = s +1;Bs = ErlangB_b(a,s);err_s = abs(b - Bs);ends = s -1;end3)已知阻塞率b及中继线数量s求到达呼叫量a考虑到a为有理数,因此采用变步长逼近的方法。

北京邮电大学网络实践实验报告-RIP和OSPF路由协议的配置及协议流程

北京邮电大学网络实践实验报告-RIP和OSPF路由协议的配置及协议流程

计算机网络技术实践实验报告实验名称:和路由协议的配置及协议流程姓名:学号:实验日期:年月日实验报告日期:年月日报告退发:(订正、重做)一、环境(详细说明运行的操作系统,网络平台,网络拓扑图)●操作系统:●网络平台:仿真平台●网络拓扑:二、实验目的三、实验内容及步骤(包括主要配置流程,重要部分需要截图):1.设计网拓扑2.配置地址以配置的的地址为例:配置完后,输入命令打开端口。

类似的配置完一共个端口的地址。

3.配置路由协议:以配置的路由协议为例:4.配置的默认路由,以为例:5.配置完成后,测试从到网络中各个节点的连通情况:a)到:b)到:c)到:d)到:e)到:f)到:6.打开调试模式:以为例:不久之后接收到发来的路由信息:同时,也在向周围路由器发送路由信息:从上图中我们路由器从端口发送路由信息告诉,到网络需要两跳,到网络需要一跳,到网络需要两跳。

通过计算从各个端口接收到的路由信息,需要到各个网络的最优路径之后,也会向外发出路由信息。

如上图所示,把路由信息从端口发出。

他告诉这个端口另一端所连的设备,到网络需要一跳,到网络需要两跳,到网路需要一跳。

收到这个路由信息的设备也会根据这个路由信息来计算自己到各个网络的最优路径。

通过获得的路由信息不难看出协议的工作过程:每个路由器都维护这一张路由表,这张路由表中写明了网络号、到该网络的最短路径(实验中的路径长短由跳数来衡量)以及转发的出口。

路由器会周期性得向周围路由器发送自己的路由表,同时也会接受周围路由器发来的路由表,以此来刷新自己的路由器,适应网络拓扑变化。

路由器在收到路由信息之后会根据某些路由算法、收到的路由信息和原先自己的路由表来计算到达各个网络最优的转发路径(即下一跳的出口),这便是距离矢量路由算法的工作过程。

7.在控制台中关闭路由器后(以此来改变网络拓扑),开始收到不可达的路由刷新报文:一段时间后,的路由表被刷新:重新打开一段时间后,路由表被刷新:解释:在路由器下线之后,邻居路由器将会长时间收不到,方向过来的路由信息,一段时间后,路由表会被重新计算。

北邮现代通信技术实验报告二

北邮现代通信技术实验报告二

信息与通信工程学院现代通信技术实验报告班级:**姓名:**学号:**序号:**日期:**一、程控交换机1、概念程控交换机通常专指用于电话交换网的交换设备,它以计算机程序控制电话的接续。

程控交换机是利用现代计算机技术,完成控制、接续等工作的电话交换机。

2、主要功能数字程控交换机的基本功能主要为:用户线接入,中继接续,计费,设备管理等。

本地交换机自动检测用户的摘机动作,给用户的电话机回送拨号音,接收话机产生的脉冲信号或双音多频(DTMF)信号,然后完成从主叫到被叫号码的接续(被叫号码可能在同一个交换机也可能在不同的交换机)。

在接续完成后,交换机将保持连接,直到检测出通信的一方挂机。

其中通话接续部分是利用交换机中的数字交换网络,采用PCM方式实现数字交换的,控制部分是通过软件由计算机来实现的。

3、基本构成电话交换机的主要任务是实现用户间通话的接续。

基本划分为两大部分:话路设备和控制设备。

话路设备主要包括各种接口电路(如用户线接口和中继线接口电路等)和交换(或接续)网络;控制设备在纵横制交换机中主要包括标志器与记发器,而在程控交换机中,控制设备则为电子计算机,包括中央处理器(CPU),存储器和输入/输出设备。

程控交换机实质上是采用计算机进行“存储程序控制”的交换机,它将各种控制功能,方法编成程序,存入存储器,利用对外部状态的扫描数据和存储程序来控制,管理整个交换系统的工作。

总体来说,程控交换机由以下几个部分组成:(1)交换网络交换网络的基本功能是根据用户的呼叫要求,通过控制部分的接续命令,建立主叫与被叫用户间的连接通路。

在纵横制交换机中它采用各种机电式接线器(如纵横接线器,编码接线器,笛簧接线器等),在程控交换机中主要采用由电子开关阵列构成的空分交换网络,和由存储器等电路构成的时分接续网络。

(2) 用户电路用户电路的作用是实现各种用户线与交换之间的连接,通常又称为用户线接口电路(SLIC,Subscriber Line Interface Circuit)。

北邮移动通信实验报告

北邮移动通信实验报告

北邮移动通信实验报告北邮移动通信实验报告一、引言本实验报告旨在总结北邮移动通信实验的实施情况、结果和分析,对实验数据进行归纳和解释,以及提出相应的建议和改进措施。

本实验旨在深入研究移动通信领域的相关技术,并通过实际操作和数据分析,加深对移动通信原理和应用的理解。

二、实验概述1·实验目的本实验的目的是通过模拟移动通信系统的工作原理和性能进行实际操作,熟悉移动通信系统的基本原理、标准和技术,并对系统的性能进行测试和评估。

2·实验设备和软件工具本实验使用的设备和软件工具包括:●移动通信实验设备(包括基站、移动终端、信道仿真器等)●相关的软件平台和工具(如Matlab、C++开发环境等)3·实验步骤本实验的步骤如下:●确定实验需求和目标,设计实验方案●配置实验设备和软件环境●进行实验操作和数据采集●对实验数据进行处理和分析●总结实验结果,提出建议和改进措施三、实验结果与分析1·实验数据收集和处理本实验收集到的数据主要包括移动通信系统的性能参数、信道传输情况、功率消耗等方面的指标。

收集到的数据经过处理和分析后,得出以下结论:●移动通信系统的覆盖范围和容量与基站的功率、天线高度、信道特性等因素相关●数据传输速率与信道带宽、调制方式和信噪比等因素相关2·实验结果分析根据实验数据的分析,可以得出以下结论:●移动通信系统的覆盖范围和容量可以通过调整基站的功率和天线高度来改善●数据传输速率可以通过增加信道带宽、改变调制方式和提高信噪比来提升四、实验总结1·实验成果本实验通过实际操作和数据分析,对移动通信系统的工作原理和性能有了更加深入的认识,对移动通信技术的应用和发展有了更加清晰的了解。

2·实验建议根据本实验的结果和分析,提出以下建议和改进措施:●在设计移动通信系统时,需要充分考虑基站的功率和天线高度对系统覆盖范围和容量的影响●需要注重提升信道传输质量,通过增大信道带宽、改变调制方式和提高信噪比等手段来提高数据传输速率五、附件本文档涉及的附件包括实验数据记录表、实验方案设计图等。

北邮现代通信技术实验报告

北邮现代通信技术实验报告

北邮现代通信技术实验报告实验名称:现代通信技术实验实验目的:1. 理解现代通信技术的基本理论和原理。

2. 掌握数字通信系统的基本组成和工作流程。

3. 熟悉通信系统中信号的调制与解调过程。

4. 学会使用通信系统实验设备,进行实验操作和数据分析。

实验原理:现代通信技术主要依赖于数字信号处理技术,通过数字信号的调制与解调实现信息的传输。

在本实验中,我们将学习数字通信系统中的信号调制方法,如幅度键控(ASK)、频率键控(FSK)和相位键控(PSK),以及相应的解调技术。

实验设备与材料:1. 计算机一台,安装有通信仿真软件。

2. 通信原理实验箱一套,包括调制解调模块、信号源模块等。

3. 通信信号发生器。

4. 示波器。

实验步骤:1. 打开通信仿真软件,设置实验参数,如信号频率、调制方式等。

2. 使用通信信号发生器产生模拟信号,输入到通信原理实验箱的信号源模块。

3. 通过实验箱的调制模块对信号进行调制,观察示波器上信号的变化。

4. 将调制后的信号传输至解调模块,观察解调后的信号波形。

5. 记录实验数据,包括调制前后的信号波形、频谱特性等。

实验结果:通过实验,我们得到了以下结果:1. 调制信号与原始信号的波形对比,展示了调制过程中信号的变化。

2. 解调后的信号与原始信号的对比,验证了调制解调技术的准确性。

3. 通过频谱分析,观察到调制信号的频谱特性,理解了调制对信号频谱的影响。

实验分析:在实验过程中,我们发现不同调制方式对信号的影响各有不同。

例如,ASK调制主要改变信号的幅度,而FSK和PSK调制则分别改变信号的频率和相位。

通过解调过程,我们能够从调制信号中恢复出原始信号,验证了通信系统的有效性。

实验结论:通过本次实验,我们深入理解了现代通信技术中的数字信号调制与解调过程。

实验结果表明,通过合理的调制解调技术,可以有效实现信息的传输和恢复。

同时,实验也加深了我们对通信系统基本原理的认识,为进一步学习通信技术打下了坚实的基础。

北邮数据结构实验报告-排序

北邮数据结构实验报告-排序

北邮数据结构实验报告-排序北邮数据结构实验报告-排序一、实验目的本实验旨在掌握常见的排序算法,包括冒泡排序、插入排序、选择排序、快速排序、归并排序等,并通过实际编程实现对数字序列的排序。

二、实验内容1.冒泡排序冒泡排序是一种简单的排序算法,其基本思想是依次比较相邻的两个元素,并按照从小到大或从大到小的顺序交换。

具体步骤如下:- 从待排序序列的第一个元素开始,依次比较相邻的两个元素;- 如果前面的元素大于后面的元素,则交换这两个元素的位置;- 重复上述步骤,直到整个序列有序。

2.插入排序插入排序是一种简单且直观的排序算法,其基本思想是将待排序序列分为已排序和未排序两部分,每次从未排序部分中选择一个元素插入到已排序部分的合适位置。

具体步骤如下:- 从待排序序列中选择一个元素作为已排序部分的第一个元素;- 依次将未排序部分的元素插入到已排序部分的合适位置,使得已排序部分保持有序;- 重复上述步骤,直到整个序列有序。

3.选择排序选择排序是一种简单且直观的排序算法,其基本思想是每次选择未排序部分中的最小(或最大)元素,并将其放在已排序部分的末尾。

具体步骤如下:- 在未排序部分中选择最小(或最大)的元素;- 将选择的最小(或最大)元素与未排序部分的第一个元素交换位置;- 重复上述步骤,直到整个序列有序。

4.快速排序快速排序是一种高效的排序算法,其基本思想是通过一趟排序将待排序序列分割成两部分,其中一部分的元素都比另一部分的元素小。

具体步骤如下:- 选择一个枢轴元素(一般选择第一个元素);- 将待排序序列中小于枢轴元素的元素放在枢轴元素的左侧,大于枢轴元素的元素放在枢轴元素的右侧;- 对枢轴元素左右两侧的子序列分别进行递归快速排序;- 重复上述步骤,直到整个序列有序。

5.归并排序归并排序是一种高效的排序算法,其基本思想是将待排序序列划分成足够小的子序列,然后对这些子序列进行两两合并,最终形成有序的序列。

具体步骤如下:- 将待排序序列递归地划分成足够小的子序列;- 对每个子序列进行归并排序;- 合并相邻的子序列,直到整个序列有序。

北邮通信网性能分析实验二MM排队系统实验报告

北邮通信网性能分析实验二MM排队系统实验报告

北邮通信网性能分析实验二M M排队系统实验报告集团标准化工作小组 [Q8QX9QT-X8QQB8Q8-NQ8QJ8-M8QMN]《通信网理论基础》实验二:二次排队问题——M/M/1排队系统的级联一、实验目的M/M/1是最简单的排队系统,其假设到达过程是一个参数为λ的Poisson过程,服务时间是参数为μ的负指数分布,只有一个服务窗口,等待的位置有无穷多个,排队的方式是FIFO。

M/M/1排队系统的稳态分布、平均队列长度,等待时间的分布以及平均等待时间,可通过泊松过程、负指数分布、生灭过程以及Little公式等进行理论上的分析与求解。

本次实验的目标有两个:实现M/M/1单窗口无限排队系统的系统仿真,利用事件调度法实现离散事件系统仿真,并统计平均队列长度以及平均等待时间等值,以与理论分析结果进行对比。

仿真两个M/M/1级联所组成的排队网络,统计各个队列的平均队列长度与平均系统时间等值,验证Kleinrock有关数据包在从一个交换机出来后,进入下一个交换机时,随机按负指数分布取一个新的长度的假设的合理性。

二、实验原理1、M/M/1排队系统根据排队论的知识我们知道,排队系统的分类是根据该系统中的顾客到达模式、服务模式、服务员数量以及服务规则等因素决定的。

设到达过程是一个参数为λ的Poisson过程,则长度为t的时间内到达k个呼叫的概率)(tPk服从Poisson分布,即()()!ktktP tkeλλ-=,⋅⋅⋅⋅⋅⋅⋅⋅⋅=,2,1,0k,其中λ>0为一常数,表示了平均到达率或Poisson呼叫流的强度。

设每个呼叫的持续时间为iτ,服从参数为μ的负指数分布,即其分布函数为{}1,0tP X t e tμ-<=-≥.服务规则采用先进先服务的规则(FIFO)。

在该M/M/1系统中,设λρμ=,则稳态时的平均队长为[]1E N ρρ=-,顾客的平均等待时间为1T μλ=-。

2、 二次排队网络由两个M/M/1排队系统所组成的级联网络,顾客以参数为λ的泊松过程到达第一个排队系统A ,服务时间为参数为1μ的负指数分布;从A 出来后直接进入第二个排队系统B ,B 的服务时间为参数为2μ的负指数分布,且与A 的服务时间相互独立。

北邮现代通信技术实验报告

北邮现代通信技术实验报告

北邮现代通信技术实验报告北邮现代通信技术实验报告一、引言随着科技的不断进步和社会的快速发展,通信技术已经成为现代社会中不可或缺的一部分。

作为一所专注于信息与通信工程的高校,北京邮电大学一直致力于培养学生在通信技术领域的专业能力。

本实验报告将对北邮现代通信技术实验进行详细介绍和分析。

二、实验目的本次实验的目的是让学生通过实际操作和实验数据分析,深入了解现代通信技术的原理和应用。

通过实验,学生将能够掌握数字通信系统的基本原理、调制解调技术、信道编码和解码等相关知识。

三、实验内容1. 数字通信系统的基本原理在实验开始之前,我们首先对数字通信系统的基本原理进行了详细讲解。

学生们了解到数字通信系统主要由源编码、信道编码、调制解调、信道、解调解码等几个关键部分组成。

2. 调制解调技术在本次实验中,我们重点学习了调制解调技术。

学生们使用软件仿真工具进行了调制解调实验,通过观察和分析实验数据,他们深入理解了调制解调技术的原理和应用。

3. 信道编码和解码信道编码和解码是数字通信系统中非常重要的一环。

学生们通过实验了解了不同的信道编码和解码技术,如卷积码、RS码等,并分析了它们在实际应用中的优缺点。

四、实验结果与分析通过实验,我们得到了大量的实验数据。

通过对这些数据的分析,我们可以得出以下结论:1. 调制解调技术的选择对通信系统的性能有重要影响。

不同的调制解调技术适用于不同的应用场景,需要根据实际需求进行选择。

2. 信道编码和解码技术可以有效提高通信系统的抗干扰能力和误码率性能。

在实际应用中,选择合适的信道编码和解码技术对系统性能至关重要。

3. 实验数据的分析和处理是评估通信系统性能的重要手段。

通过对实验数据的统计和分析,我们可以得到通信系统的性能指标,如误码率、信噪比等。

五、实验总结通过本次实验,学生们深入了解了现代通信技术的原理和应用。

他们通过实际操作和数据分析,掌握了数字通信系统的基本原理、调制解调技术、信道编码和解码等相关知识。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《通信网理论基础》实验二:二次排队问题——M/M/1排队系统的级联一、实验目的M/M/1是最简单的排队系统,其假设到达过程是一个参数为λ的Poisson过程,服务时间是参数为μ的负指数分布,只有一个服务窗口,等待的位置有无穷多个,排队的方式是FIFO。

M/M/1排队系统的稳态分布、平均队列长度,等待时间的分布以及平均等待时间,可通过泊松过程、负指数分布、生灭过程以及Little公式等进行理论上的分析与求解。

本次实验的目标有两个:➢实现M/M/1单窗口无限排队系统的系统仿真,利用事件调度法实现离散事件系统仿真,并统计平均队列长度以及平均等待时间等值,以与理论分析结果进行对比。

➢仿真两个M/M/1级联所组成的排队网络,统计各个队列的平均队列长度与平均系统时间等值,验证Kleinrock有关数据包在从一个交换机出来后,进入下一个交换机时,随机按负指数分布取一个新的长度的假设的合理性。

二、实验原理1、M/M/1排队系统根据排队论的知识我们知道,排队系统的分类是根据该系统中的顾客到达模式、服务模式、服务员数量以及服务规则等因素决定的。

设到达过程是一个参数为λ的Poisson过程,则长度为t的时间内到达k个呼叫的概率)(t P k 服从Poisson 分布,即()()!ktk t P t k eλλ-=,⋅⋅⋅⋅⋅⋅⋅⋅⋅=,2,1,0k ,其中λ>0为一常数,表示了平均到达率或Poisson 呼叫流的强度。

设每个呼叫的持续时间为i τ,服从参数为μ的负指数分布,即其分布函数为{}1,0t P X t e t μ-<=-≥.服务规则采用先进先服务的规则(FIFO )。

在该M/M/1系统中,设λρμ=,则稳态时的平均队长为[]1E N ρρ=-,顾客的平均等待时间为1T μλ=-。

2、 二次排队网络由两个M/M/1排队系统所组成的级联网络,顾客以参数为λ的泊松过程到达第一个排队系统A ,服务时间为参数为1μ的负指数分布;从A 出来后直接进入第二个排队系统B ,B 的服务时间为参数为2μ的负指数分布,且与A 的服务时间相互独立。

在该级联网络中,如稳态存在,即1λμ<且2λμ<,则两个排队系统相互独立,顾客穿过网络的总时延为各个排队系统的时延之和,即1211T μλμλ=+--。

如将该模型应用于数据包穿越网络的平均时延的计算,假设数据包的包长服从负指数分布,平均包长为b ;排队系统A 的信道速率为1C ,B 的信道速率为2C 。

为保证两次排队的独立性,Kleinrock 假设数据包在从一个交换机出来后,进入下一个交换机时,随机按负指数分布取一个新的长度。

三、 实验内容1、 仿真时序图示例本实验中的排队系统为当顾客到达分布服从负指数分布,系统服务时间也服从负指数分布,单服务台系统,单队排队,按FIFO 方式服务为M/M/1排队系统。

理论上,我们定义服务员结束一次服务或者有顾客到达系统均为一次事件。

ib 为第i 个任何一类事件发生的时间,其时序关系如下图所示。

bi?第i 个任何一类事件发生的时间 ti?第i 个顾客到达类事件发生的时间 ci?第i 个顾客离开类事件发生的时间 Ai?为第i-1个与第i 个顾客到达时间间隔 Di?第i 个顾客排队等待的时间长度 Si?第i 个顾客服务的时间长度顾客平均等待队长()Q n 及平均排队等待时间()d n 的定义为其中,i R 为在时间区间1[,]i i b b -上排队人数i q 乘以该区间长度1()i i b b --。

iD 为第i 个顾客排队等待时间。

2、 仿真设计算法(1)利用负指数分布与泊松过程的关系,产生符合泊松过程的顾客流。

(2)对每个排队系统,分别构建一个顾客到达队列和一个顾客等待队列。

顾客到达后,首先进入到达队列的队尾排队,并检测是否有顾客等待以及是否有服务台空闲,如果无人等待并且有服务员空闲则进入服务状态,否则顾客将进入等待队列的队尾等待。

(3)产生符合负指数分布的随机变量作为每个顾客的服务时间。

(4)当服务员结束一次服务后,就取出等待队列中位于队头的顾客进入服务状态,如果等待队列为空则服务台空闲等待下一位顾客的到来。

(5)顾客结束A系统的服务后,立即进入B系统排队等待服务。

(6)由事件来触发仿真时钟的不断推进。

每发生一次事件,记录下两次事件间隔的时间以及在该时间段内排队的人数。

(7)在排队网络达到稳态时,计算顾客平均系统时间以及平均队长。

3、仿真结果分析(1)分析仿真数据,统计顾客的平均系统时间与平均队长,计算其方差,分析与理论计算结果的吻合程度,验证仿真程序的正确性。

(2)验证Kleinrock假设的合理性。

——假设包长不变,即二次排队不独立,统计平均值与理论值的相近程度。

4、仿真结果分析分析仿真数据,统计顾客的平均等待时间与顾客的平均等待队长,计算其方差,分析与理论计算结果的吻合程度,验证仿真程序的正确性。

四、实验要求1.两人一组,利用MATLAB实现排队网络的仿真模拟。

2.统计给定λ和μ条件下系统的平均队长和平均系统时间,与理论结果进行比对。

3.统计单个系统的平均队长和平均系统时间随λμ的变化曲线。

五、仿真模拟和理论仿真结果的对比1.仿真设计算法(主要函数)利用负指数分布与泊松过程的关系,产生符合泊松过程的顾客流,产生符合负指数分布的随机变量作为每个顾客的服务时间:ArriveInterval=-log(rand(1,SimNum))/Lambda;%到达时间间隔ServeInterval=-log(rand(1,SimNum))/Mu;%服务时间ArriveTime(1)=ArriveInterval(1);%顾客到达时间时间计算SystemTime=LeaveTime-ArriveTime; %各顾客的系统时间WaitTime=SystemTime-ServeInterval;%各顾客的等待时间由事件来触发仿真时钟的不断推进。

每发生一次事件,记录下两次事件间隔的时间以及在该时间段内排队的人数:TimePoint=[ArriveTime,LeaveTime];%系统中顾客数随时间的变化ArriveFlag=zeros(size(TimePoint));%到达时间标志CusNumAvg=sum(CusNumStart.*[IntervalTime 0] )/TimePoint(end); %系统中平均顾客数SysCusNum=zeros(size(TimePoint));QueLengthAvg=sum([0 QueLength].*[IntervalTime 0] )/TimePoint(end);%系统平均等待队长ArriveTime 每个顾客的到达时间LeaveTime 每个顾客的离开时间ArriveInterval 顾客的到达时间间隔ServeInterval 每个顾客的服务时间ArriveNum 到达总人数SimNum 仿真人数SystemTime 每个人的系统时间SystemTimeAvg 平均系统时间WaitTime 排队等待时间WaitTimeAvg 平均排队等待时间SysCusNum 系统中的顾客人数IntervalTime 事件间隔时间CusNumStart 系统中的顾客数?CusNumAvg CusNum_avg系统中的平均顾客数QueLengthAvg QueLength_avg平均等待队长2.算法的流程图3.仿真结果分析设置Lambda=0.5,Mu=0.9,顾客的平均等待时间与顾客的平均等待队长,计算其方差如下:从上表可以看出,通过这种模型和方法仿真的结果和理论值十分接近,增加仿真顾客数时,可以得到更理想的结果。

当仿真人数超过100000人时,仿真结果与理论结果已经十分接近。

在误差允许的范围内,认为相符。

实验结果截图如下(SimNum分别为100、1000、10000、100000)100人仿真结果与理论结果对比1000人仿真结果与理论对比10000人仿真结果与理论结果对比100000人仿真结果与理论对比1000000人仿真结果与理论结果对比4.实验源代码语言:matlab代码:clear;clc;%M/M/1排队系统仿真SimNum=input('请输入仿真顾客总数SimNum='); %仿真顾客总数;Lambda=input('请输入到达率Lambda='); %到达率LambdaMu=input('请输入服务率Mu='); %到达率MuArriveTime=zeros(1,SimNum);LeaveTime=zeros(1,SimNum);ArriveNum=zeros(1,SimNum);LeaveNum=zeros(1,SimNum);ArriveInterval=-log(rand(1,SimNum))/Lambda;%到达时间间隔ServeInterval=-log(rand(1,SimNum))/Mu;%服务时间ArriveTime(1)=ArriveInterval(1);%顾客到达时间ArriveNum(1)=1;for i=2:SimNumArriveTime(i)=ArriveTime(i-1)+ArriveInterval(i);ArriveNum(i)=i;endLeaveTime(1)=ArriveTime(1)+ServeInterval(1);%顾客离开时间LeaveNum(1)=1;for i=2:SimNumif LeaveTime(i-1)<ArriveTime(i)LeaveTime(i)=ArriveTime(i)+ServeInterval(i);elseLeaveTime(i)=LeaveTime(i-1)+ServeInterval(i);endLeaveNum(i)=i;endSystemTime=LeaveTime-ArriveTime; %各顾客的系统时间SystemTimeAvg=mean(SystemTime);WaitTime=SystemTime-ServeInterval;%各顾客的等待时间WaitTimeAvg=mean(WaitTime);TimePoint=[ArriveTime,LeaveTime];%系统中顾客数随时间的变化TimePoint=sort(TimePoint);ArriveFlag=zeros(size(TimePoint));%到达时间标志SysCusNum=zeros(size(TimePoint));temp=2;SysCusNum(1)=1;for i=2:length(TimePoint)if (temp<=length(ArriveTime))&&(TimePoint(i)==ArriveTime(temp)) SysCusNum(i)=SysCusNum(i-1)+1;temp=temp+1;ArriveFlag(i)=1;elseSysCusNum(i)=SysCusNum(i-1)-1;endend%系统中平均顾客数计算IntervalTime=zeros(size(TimePoint));IntervalTime(1)=ArriveTime(1);for i=2:length(TimePoint)IntervalTime(i)=TimePoint(i)-TimePoint(i-1);endCusNumStart=[0 SysCusNum];CusNumAvg=sum(CusNumStart.*[IntervalTime 0] )/TimePoint(end);%系统中平均顾客数QueLength=zeros(size(SysCusNum));for i=1:length(SysCusNum)if SysCusNum(i)>=2QueLength(i)=SysCusNum(i)-1;elseQueLength(i)=0;endendQueLengthAvg=sum([0 QueLength].*[IntervalTime 0] )/TimePoint(end);%系统平均等待队长%仿真图figure(1);set(1,'position',[0,0,1000,700],'Color',[1 1 1]);subplot(2,2,1);% title('各顾客到达时间和离去时间');stairs([0 ArriveNum],[0 ArriveTime],'r');hold on;stairs([0 LeaveNum],[0 LeaveTime],'g');legend('到达时间','离去时间');hold off;title('各顾客到达时间和离去时间');xlabel('顾客数');ylabel('时间');subplot(2,2,2);stairs(TimePoint,SysCusNum,'r')title('系统等待队长分布');xlabel('时间');ylabel('队长');subplot(2,2,3);stairs([0 ArriveNum],[0 WaitTime],'r');hold on;stairs([0 LeaveNum],[0 SystemTime],'g');hold off;title('各顾客在系统中的等待时间和系统时间');legend('等待时间','系统时间');xlabel('顾客数');ylabel('时间');%仿真值与理论值比较disp(['理论平均系统时间SystemTimeAvg=',num2str(1/(Mu-Lambda))]);disp(['理论平均等待时间WaitTimeAvg=',num2str(Lambda/(Mu*(Mu-Lambda)))]);disp(['理论系统中平均顾客数CusNumAvg=',num2str(Lambda/(Mu-Lambda))]);disp(['理论系统中平均等待队长QueLengthAvg=',num2str(Lambda*Lambda/(Mu*(Mu-Lambda)))]);disp(['仿真平均系统时间SystemTimeAvg=',num2str(SystemTimeAvg)])disp(['仿真平均等待时间WaitTimeAvg=',num2str(WaitTimeAvg)])disp(['仿真系统中平均顾客数CusNumAvg=',num2str(CusNumAvg)]);disp(['仿真系统中平均等待队长QueLengthAvg=',num2str(QueLengthAvg)]);六、单个系统的平均队长和平均系统时间随λ/μ的变化曲线1.实现原理默认仿真人数为100000人,μ为0.5,故只需要λ变化就可以使得λ/μ都变化。

相关文档
最新文档