计算机仿真与建模实验报告
计算机仿真实验报告-实验三

一、实验内容:实验三 利用欧拉法、梯形数法和二阶显式Adams 法对RLC 串联电路的仿真1前向欧拉法状态方程:Du CX y Bu AX X m +=+=+•1 然后根据前向欧拉法(其中h 为步长)•++=m m m hX X X 1即可得到系统的差分方程2后向欧拉法根据前向欧拉法得到的系统状态方程,结合后向欧拉法(其中h 为步长)•+++=11m m m hX X X 即可得到系统的差分方程3梯形法由前面的系统状态方程,结合梯形法)(211+••+++=m m m m X X h X X 即可得到系统的差分方程4二阶显式Adams 方法由前面的状态方程,结合二阶显式Adams 方法)51623(12211--++-+=m m m m m F F F h X X 即可得到系统的差分方程但是二阶显式Adams 法不能自起步,要使方程起步,需要知道开始的三个值,但是我们只知道第一个值。
经过分析后,二阶显式Adams 方法精度是二阶的,而梯形法精度也是二阶的,因此我们可以先借助梯形法得到输出的前三个值,以达到起步的目的,然后借助上面得到的差分方程对其进行求解。
二、实验波形:下图为前向欧拉法、后向欧拉法、梯形法、二阶显式Adams 方法的系统差分方程得到相应的输出波形:图1 h=410 时四种方法的输出波形图2 h=56-⨯时四种方法的输出波形10图3 h=510-时四种方法的输出波形图4 h=610-时四种方法的输出波形三、实验分析:由输出波形可以看到各种方法的特点(在图中蓝色线均表示连续系统模型的实际输出波形,红色线表示在对应方法下系统的输出波形。
):1前向欧拉法和二阶显式Adams方法对步长的要求很强。
步长太大,最后的到的结果不是绝对收敛,而是发散。
在小步长下才显得收敛,这也从另一方面验证,步长越小,截断误差越小;2步长不能太小,太小的步长相应的舍入误差和累积误差也会增大;3前向欧拉法也可称为显式欧拉法,后向欧拉法也可称为隐式欧拉法,可以看到,后向欧拉法的稳定域要比前向欧拉法大,计算精度也要高一些。
计算机仿真实验实验报告4次

(3)模块复制及删除;
(4)模块的调整
(5)ቤተ መጻሕፍቲ ባይዱ块参数的设置
(6)模块的连接
3、系统仿真运行
(1)在Simulink模型窗口下仿真
(2)在MATLAB命令窗口下仿真
4、仿真结果的输出和保存
(1)利用Scope模块;
(2)利用Out模块(在sinks库中),数据保存在MATLAB工作空间中(有tout和yout两项,分别为仿真时间向量和仿真输出向量),供以后调用和分析;
系统零极点增益模型
状态空间模型
系统模型的转换
系统模型参数的获取
时间延迟系统建模
模型属性设置和获取
系统模型的连接。
实验题目:
1、见教材《机电系统动态仿真》(机械工业出版社,刘白雁编)P-104,习题3、4。
获取已建立模型的参数;
2、系统开环传递函数为:
绘制当K=5、30时系统的Bode图,并判断系统的稳定性;计算K=5、30时系统的幅值和相位裕度;绘制K=5、30时系统的Nyquist图;绘制K=5、30时系统的Nichols图。
转速调节器是调速系统的主导调节器,它使转速n很快地跟随给定电压变化,稳态时可减小转速误差,如果采用PI调节器,则可实现无静差。电流调节器是内环调节器,在外环转速的调节过程中,它的作用是使电流紧紧跟随外环调节器的输出量变化。
实验要求:
根据直流电动机双闭环调速系统机构图,可以建立系统的Simulink仿真模型,经过仿真后,对所得结论进行分析比较,提高系统的动态性能。
3.在[–6,2]范围内用plot和fplot函数分别绘制二维曲线图。
4.绘制z=sin(x)*cos(y)的三维网格和三维曲面图,x,y变化范围均为[0,2π]。
计算机仿真技术实验报告 实验一 利用替换法构建系统仿真模型实验

计算机仿真技术实验报告实验一 利用替换法构建系统仿真模型实验一.实验目的a) 熟悉MATLAB 的工作环境;b) 掌握在MATLAB 命令窗口调试运行程序;c) 掌握M 文件编写规则及在MATLAB 命令窗口运行程序; d) 掌握利用替换法构造离散模型的方法。
e)二.实验内容电路如图1所示电路进行仿真试验。
元件参数:V E 1=,Ω=10R ,H L 01.0=,F C μ1=。
初始值:A i L 0)0(=,V u c 0)0(=。
输出量电容电压)(t u c 。
DC)(t u c 图1 RLC 串联电路三、实验要求a) 利用替换法建立图1电路的离散数需模型; b)建立计算机仿真模型;c) 选择一组离散时间间隔值,进行仿真试验; d)分析仿真结果,从仿真模型实现的难易性、模型的稳定性、模型的精度及离散时间间隔等方面,对两种方法构造的离散系统模型进行对比分析,并给出分析结论。
四、实验原理及方法系统的数学模型根据计算可知:该连续系统的传递函数为2(s)1(s)(s)1c U G U LCs RCs ==++ 下面对系统的离散仿真模型进行分析:1. 简单替换法由简单替换法计算方法可知,将1z s T-=带入上式得到下面的传递函数方程: 22221()11111()*[2()]*(1())G z LC z RC LC z LC RC T T T T T=+-++- 由此得到该传递函数的差分方程:338282(n 2)(210T)y(n 1)(10T 110T )y(n)10y T +=-++--+2. 双线性替换法根据计算,得到该种方式下的传递函数方程:222222*1()11111[4()2()1]*[28()]*[4()2()1]z z G z LC RC z LC z LC RC T T T T T++=+++-+-+并由此得到差分方程:82823828231(n 2)((8210T )y(n 1)(10T 102T 4)y(n)410T )101024y T T +=-⨯+--⨯++⨯+⨯+五、实验结果根据以上理论编程并得到以下结果:利用简单替换法和双线性替换法仿真数据,依次为采样时间增加的图像。
仿真软件操作实验报告(3篇)

第1篇实验名称:仿真软件操作实验实验目的:1. 熟悉仿真软件的基本操作和界面布局。
2. 掌握仿真软件的基本功能,如建模、仿真、分析等。
3. 学会使用仿真软件解决实际问题。
实验时间:2023年X月X日实验地点:计算机实验室实验器材:1. 仿真软件:XXX2. 计算机一台3. 实验指导书实验内容:一、仿真软件基本操作1. 打开软件,熟悉界面布局。
2. 学习软件菜单栏、工具栏、状态栏等各个部分的功能。
3. 掌握文件操作,如新建、打开、保存、关闭等。
4. 熟悉软件的基本参数设置。
二、建模操作1. 学习如何创建仿真模型,包括实体、连接器、传感器等。
2. 掌握模型的修改、删除、复制等操作。
3. 学会使用软件提供的建模工具,如拉伸、旋转、镜像等。
三、仿真操作1. 设置仿真参数,如时间、步长、迭代次数等。
2. 学习如何进行仿真,包括启动、暂停、继续、终止等操作。
3. 观察仿真结果,包括数据、曲线、图表等。
四、分析操作1. 学习如何对仿真结果进行分析,包括数据统计、曲线拟合、图表绘制等。
2. 掌握仿真软件提供的分析工具,如方差分析、回归分析等。
3. 将仿真结果与实际数据或理论进行对比,验证仿真模型的准确性。
实验步骤:1. 打开仿真软件,创建一个新项目。
2. 在建模界面,根据实验需求创建仿真模型。
3. 设置仿真参数,启动仿真。
4. 观察仿真结果,进行数据分析。
5. 将仿真结果与实际数据或理论进行对比,验证仿真模型的准确性。
6. 完成实验报告。
实验结果与分析:1. 通过本次实验,掌握了仿真软件的基本操作,包括建模、仿真、分析等。
2. 在建模过程中,学会了创建实体、连接器、传感器等,并能够进行模型的修改、删除、复制等操作。
3. 在仿真过程中,成功设置了仿真参数,启动了仿真,并观察到了仿真结果。
4. 在分析过程中,运用了仿真软件提供的分析工具,对仿真结果进行了数据分析,并与实际数据或理论进行了对比,验证了仿真模型的准确性。
计算机算法及建模实训报告

本次实训的主要目的是通过实际操作和项目实践,使我对计算机算法及建模有更深入的了解和掌握。
通过实训,我将学习到算法的基本原理、常用算法的实现方法,以及建模的基本步骤和技巧。
同时,通过实际项目操作,提高我的编程能力和解决实际问题的能力。
二、实习内容1. 算法学习在本次实训中,我学习了以下几种常用算法:(1)排序算法:冒泡排序、选择排序、插入排序、快速排序、归并排序等。
(2)查找算法:顺序查找、二分查找、斐波那契查找等。
(3)动态规划:最长公共子序列、最长递增子序列等。
(4)贪心算法:背包问题、最小生成树等。
2. 建模学习在本次实训中,我学习了以下建模步骤和技巧:(1)明确问题背景:分析问题的性质,确定问题的类型。
(2)建立数学模型:根据问题背景,选择合适的数学工具,建立数学模型。
(3)求解模型:使用算法求解数学模型,得到问题的解。
(4)结果分析:对求解结果进行分析,评估模型的适用性和准确性。
3. 实践项目本次实训中,我参与了以下项目:(1)图书管理系统:使用Java编程语言,实现了图书的借阅、归还、查询等功能。
(2)学生成绩管理系统:使用C++编程语言,实现了学生成绩的录入、查询、统计等功能。
(3)背包问题求解器:使用Python编程语言,实现了背包问题的贪心算法和动态规划算法求解。
1. 理论知识掌握通过本次实训,我对计算机算法及建模的基本原理和常用方法有了更深入的了解。
我能够熟练掌握排序、查找、动态规划、贪心算法等基本算法,并能够根据实际问题选择合适的算法进行求解。
2. 编程能力提高在实训过程中,我参与了多个项目的实际开发,提高了我的编程能力。
我学会了使用Java、C++、Python等编程语言进行项目开发,并掌握了基本的编程规范和技巧。
3. 解决实际问题能力增强通过实际项目操作,我学会了如何将实际问题转化为数学模型,并使用算法进行求解。
这使我能够更好地解决实际问题,提高我的解决实际问题的能力。
四、实习总结1. 算法及建模在计算机科学中的应用非常广泛,是计算机专业学生的必备技能。
计算机仿真技术实验报告

计算机仿真技术实验报告今天我要给大家讲一讲我做的计算机仿真技术实验。
这个实验可有趣啦,就像玩一场超级神奇的游戏。
我做这个实验的目的呢,就是想看看计算机怎么能像变魔术一样模拟出真实的东西。
我用到的工具就是学校电脑室里的电脑,那电脑的屏幕大大的,闪着光,好像在等着我去探索它的秘密。
实验开始的时候,我打开了一个专门做仿真的软件。
这个软件的界面花花绿绿的,有好多小图标。
我点了一个看起来像小房子的图标,屏幕上就出现了一个简单的小房子模型。
这个小房子就像我们用积木搭起来的一样,方方正正的,还有个三角形的屋顶。
我可以用鼠标拖着它转来转去,从各个角度看这个小房子,就像我真的围着小房子在走一样。
然后呢,我想让这个小房子变得更像真的。
我就在软件里找到了一个可以给小房子加颜色的功能。
我给房子的墙涂成了白色,就像我们家的房子一样。
屋顶呢,我涂成了红色,就像圣诞老人的帽子。
这时候的小房子看起来漂亮多了,就像从童话里走出来的一样。
接着,我又想给小房子周围加点东西。
我就在软件里找啊找,发现了可以加树的工具。
我在小房子前面加了几棵大树,那些大树有粗粗的树干和绿绿的树叶。
我还在树下加了一些小花,五颜六色的小花在风中好像还会轻轻晃动呢。
现在小房子看起来就像是住在森林里的小木屋,感觉特别温馨。
在这个实验里,我还发现了一些特别有趣的事情。
比如说,我可以让太阳在小房子的上空移动。
当太阳慢慢升起的时候,阳光洒在小房子和树上,小房子和树的影子就会慢慢变短。
当太阳慢慢落下的时候,影子又会变长。
这就像我们在外面玩的时候,早上和傍晚影子长长的,中午影子短短的一样。
我还能让天空中的云动起来。
我加了一些白白的云,那些云就像棉花糖一样。
我让风一吹,云就慢慢地飘走了,有的云还会变成各种形状,像小兔子,像小绵羊。
这个计算机仿真技术实验真的太好玩了。
它就像一个魔法世界,我可以在这个世界里创造出我想要的东西。
通过这个实验,我也明白了计算机好厉害呀,它能做出这么像真的东西。
计算机仿真技术实验报告

计算机仿真技术实验报告1. 引言计算机仿真技术是一种基于计算机模型的虚拟实验手段,通过对真实系统的建模和仿真运行,可以模拟系统在不同条件下的行为和性能,从而实现系统优化、预测和决策支持等目的。
本实验旨在通过一个简单的例子,介绍计算机仿真技术的基本原理和应用。
2. 实验目的掌握计算机仿真技术的基本原理和方法,通过实际操作了解模型建立、参数设置和结果分析等相关内容。
3. 实验过程3.1 模型建立选择一个适合的仿真软件,如Arena、Simulink等,并根据实际需要,在软件中建立相应的仿真模型。
模型的建立包括确定系统的输入、输出、变量和参数,并定义其关系和约束条件。
3.2 参数设置为了保证仿真结果的准确性和可靠性,需要对模型中的参数进行设置。
根据实际情况,选择合适的参数值,并考虑不同参数对仿真结果的影响。
3.3 仿真运行设置好参数后,可以运行仿真程序,观察系统在不同条件下的运行情况。
可以通过改变输入、输出、变量和参数等相关参数,来模拟不同的系统行为。
3.4 结果分析根据仿真运行的结果,进行相应的数据分析和结果评估。
可以通过绘制柱状图、折线图、散点图等,直观地展示系统的性能和行为。
4. 实验结果与讨论根据实际情况,展示实验的结果,并进行相应的讨论。
可以比较不同参数下的仿真结果,分析其差异和影响因素。
在讨论时,可以考虑系统的稳定性、效率、安全性等方面。
5. 实验结论通过本次实验,我们深入了解了计算机仿真技术的基本原理和方法,并通过实际操作,掌握了模型建立、参数设置和结果分析等相关技能。
计算机仿真技术具有广泛的应用领域,包括交通运输、物流管理、生产调度、风险评估等,可以帮助我们理解和优化现实系统的运行和性能。
6. 参考文献[1] Robert, J. (2007). Simulation Modeling and Analysis. Boston: McGraw-Hill.[2] Banks, J., Carson, J., Nelson, B. L., & Nicol, D. M. (2000). Discrete-Event System Simulation. New Jersey: Prentice Hall.7. 致谢感谢实验指导教师对本次实验的支持和指导,也感谢实验中的所有参与人员的付出和帮助。
(完整版)系统建模与仿真实验报告

实验1 Witness仿真软件认识一、实验目的熟悉Witness 的启动;熟悉Witness2006用户界面;熟悉Witness 建模元素;熟悉Witness 建模与仿真过程。
二、实验内容1、运行witness软件,了解软件界面及组成;2、以一个简单流水线实例进行操作。
小部件(widget)要经过称重、冲洗、加工和检测等操作。
执行完每一步操作后小部件通过充当运输工具和缓存器的传送带(conveyer)传送至下一个操作单元。
小部件在经过最后一道工序“检测”以后,脱离本模型系统。
三、实验步骤仿真实例操作:模型元素说明:widget 为加工的小部件名称;weigh、wash、produce、inspect 为四种加工机器,每种机器只有一台;C1、C2、C3 为三条输送链;ship 是系统提供的特殊区域,表示本仿真系统之外的某个地方;操作步骤:1:将所需元素布置在界面:2:更改各元素名称:如;3:编辑各个元素的输入输出规则:4:运行一周(5 天*8 小时*60 分钟=2400 分钟),得到统计结果。
5:仿真结果及分析:Widget:各机器工作状态统计表:分析:第一台机器效率最高位100%,第二台机器效率次之为79%,第三台和第四台机器效率低下,且空闲时间较多,可考虑加快传送带C2、C3的传送速度以及提高第二台机器的工作效率,以此来提高第三台和第四台机器的工作效率。
6:实验小结:通过本次实验,我对Witness的操作界面及基本操作有了一个初步的掌握,同学会了对于一个简单的流水线生产线进行建模仿真,总体而言,实验非常成功。
实验2 单品种流水线生产计划设计一、实验目的1.理解系统元素route的用法。
2.了解优化器optimization的用法。
3.了解单品种流水线生产计划的设计。
4.找出高生产效率、低临时库存的方案。
二、实验内容某一个车间有5台不同机器,加工一种产品。
该种产品都要求完成7道工序,而每道工序必须在指定的机器上按照事先规定好的工艺顺序进行。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中南大学计算机仿真与建模实验报告题目:理发店的服务过程仿真姓名:XXXX班级:计科XXXX班学号:0909XXXX日期:2013XXXX理发店的服务过程仿真1 实验案例 (2)1.1 案例:理发店系统研究 (2)1.1.1 问题分析 (3)1.1.2 模型假设 (3)1.1.3 变量说明 (3)1.1.4 模型建立 (3)1.1.5 系统模拟 (4)1.1.6 计算机模拟算法设计 (5)1.1.7 计算机模拟程序 (6)1实验案例1.1 案例:理发店模拟一个理发店有两位服务员A和B顾客随机地到达该理发店,每分钟有一个顾客到达和没有顾客到达的概率均是1/2 , 其中60%的顾客理发仅用5分钟,另外40%的顾客用8分钟. 试对前10分钟的情况进行仿真。
(“排队论”,“系统模拟”,“离散系统模拟”,“事件调度法”)1.1.1 问题分析理发店系统包含诸多随机因素,为了对其进行评判就是要研究其运行效率,从理发店自身利益来说,要看服务员工作负荷是否合理,是否需要增加员工等考虑。
从顾客角度讲,还要看顾客的等待时间,顾客的等待队长,如等待时间过长或者等待的人过多,则顾客会离开。
理发店系统是一个典型的排队系统,可以用排队论有关知识来研究。
1.1.2 模型假设1.60%的顾客只需剪发,40%的顾客既要剪发,又要洗发; 2.每个服务员剪发需要的时间均为5分钟,既剪发又洗发则花8分钟; 3.顾客的到达间隔时间服从指数分布; 4. 服务中服务员不休息。
1.1.3 变量说明u :剪发时间(单位:分钟),u=5m ;v: 既剪发又理发花的时间(单位:分钟),v=8m ;T : 顾客到达的间隔时间,是随机变量,服从参数为λ的指数分布,(单位:分钟)T 0:顾客到达的平均间隔时间(单位:秒),T 0=λ1;1.1.4 模型建立由于该系统包含诸多随机因素,很难给出解析的结果,因此可以借助计算机模拟对该系统进行模拟。
考虑一般理发店的工作模式,一般是上午9:00开始营业,晚上10:00左右结束,且一般是连续工作的,因此一般营业时间为13小时左右。
这里以每天运行12小时为例,进行模拟。
这里假定顾客到达的平均间隔时间T 0服从均值3分钟的指数分布,则有3小时到达人数约为603603=⨯人, 6小时到达人数约为1203606=⨯人, 10小时到达人数约为20036010=⨯人, 这里模拟顾客到达数为60人的情况。
(如何选择模拟的总人数或模拟总时间)1.1.5系统模拟根据系统模拟的一般方法,需要考虑系统的如下数据、参数。
1.状态(变量)(1)等待服务的顾客数;(2)A是否正在服务;(3)B是否正在服务;2.实体:两名服务员、顾客们3.事件:(1)一名新顾客的到达;(2)A开始服务;(3)A结束服务;(4)B开始服务;(5)B结束服务;4.活动:(1)顾客排队时间(2)顾客们到达的间隔时间(3)A的服务时间(4)B的服务时间;在系统模拟时,为了研究系统的整体情况,这里考虑顾客到达后不离开,且等待队长不限。
要考虑如果服务员均空闲时,顾客先选择谁服务?要考虑模拟的时间设置还有顾客数目。
模拟终止条件是根据顾客数目还是根据营业时间终止?1.1.6计算机模拟算法设计finished=0;初始化运行时钟while finished==0if 产生的顾客数不到规定数目时then,产生该顾客的有关数据;将顾客加入等待队列;else运行时钟继续;endif处理服务员的状态(包括工作状态,空闲时间);获得服务员的服务优先顺序;根据服务员优先顺序从等待队列中安排服务;endwhile参考算法为:离散系统仿真算法:事件调度法1.1.7 计算机模拟程序顾客到达的间隔时间T 的计算机产生方法,利用T=rand T rand ln ln 10-=-λ,%理发店系统的模拟(案例分析之一)%关键词:面向事件的计算机模拟技术clear allcurclock=0;%当前时刻,动态变化totalcustomer=0;%总共服务的顾客数numsrv=2;srvstatus=zeros(numsrv,5);%服务员有关数据%srvstatus 第1列:服务状态(0空闲,1正在服务);第2列:当前服务顾客编号;% 第3列:当前服务结束时刻;第4列:服务员空闲时间;第5列:服务的顾客总数endtime =0;%结束时间waiting=[];%等待队列数据%waiting 第1列:顾客编号;第2列:顾客到达时刻;第3列:顾客开始接受服务时刻;% 第4列:接受服务时间;第5列:顾客结束服务时刻;第6列:间隔时间 cur=zeros(1,6);%当前产生顾客的数据,对应关系同waitingavgwaitlen=[];%平均等待队长avgwaittime =[];% 平均等待时间ujiange=5;%平均间隔时间finished=0;numsimucustumer=yesinput('输入等待模拟的顾客数:',10,[101000]);while finished==0,if totalcustomer < numsimucustumer%产生一个顾客的到达及其有关性质的数据totalcustomer = totalcustomer+1;jiange= -log(rand)*ujiange;%与上一个顾客的到达的间隔时间curclock = curclock + jiange;cur(1)= totalcustomer ;% 第1列:顾客编号cur(2) = curclock;%第2列:顾客到达时刻cur(6) = jiange; 第6列:间隔时间%下面产生接受服务时间(可改进模型)if rand<0.6, %产生顾客有关性质:这里是产生接受服务时间cur(4) = 5;elsecur(4) = 8;end%放入等待队列if isempty(waiting),waiting= cur;else[m,n]=size(waiting);waiting(m+1,:)= cur;endelsecurclock = curclock + (-log(rand)*ujiange);end%if totalcustomer<%分配等待队列(看是否有服务员空闲,如果有则分配;否则继续执行)%处理服务员的服务状态for i=1:numsrv,if srvstatus(i,1)==1 & srvstatus(i,3) <= curclock,srvstatus(i,1)=0;%设置为空闲状态srvstatus(i,4)= curclock-srvstatus(i,3);%目前已经空闲的时间elseif srvstatus(i,1)==1 & srvstatus(i,3) > curclock, srvstatus(i,4)= 0;%没有休息(正在忙)elsesrvstatus(i,4)= curclock-srvstatus(i,3);%目前已经空闲的时间endend%处理服务员服务的先后顺序(依据空闲时间)(精细处理)tmp=srvstatus(:,4);for i=1:numsrv,[value,id]=max(tmp);b(i)=id;tmp(id)=0;%已经排序了end%此时等待队列必然不为空for j=1:numsrv,i=b(j);%确定服务员的序号if(srvstatus(i,1)==0)%找一个顾客开始服务,同时计算该顾客什么时候接受服务,结束服务;[m,n]=size(waiting);if m==0,break;endif waiting(1,5)==0,%还没有开始接受服务waiting(1,3)= curclock;waiting(1,5)= waiting(1,3)+waiting(1,4);%结束时刻srvstatus(i,1)=1;%设置为忙状态srvstatus(i,2)=waiting(1,1);%顾客编号srvstatus(i,3)= waiting(1,5);%结束时刻srvstatus(i,5)=srvstatus(i,5)+1;%又服务了一个顾客%计算等待时间avgwaittime(end+1) = waiting(1,3)-waiting(1,2); disp(sprintf('间隔时间(%8.2f) 顾客编号:%5d 接受服务员(%4d)服务(到达时刻%10.2f)',waiting(1,6),waiting(1,1),i,waiting(1,2)))endtime=max(endtime,waiting(1,5))waiting(1,:)=[];%从等待队列中离开endend%ifend%for[m,n]=size(waiting);%计算队长(这里的计算式子可以参考排队论有关术语进行确定)if totalcustomer < numsimucustumeravgwaitlen(end+1)=m;endif sum(srvstatus(:,5))>=numsimucustumer,%队列为空,结束finished=1;endend%whiledisp('服务顾客数:')disp(srvstatus(:,5)')disp('平均队长');disp(mean(avgwaitlen));disp('运行时间(分钟,小时)');disp(sprintf('%8.f%8.f',curclock,curclock/60));disp('平均等待时间(分钟)');disp(mean(avgwaittime ));disp('结束时间(分钟)');disp(endtime );figurehist(avgwaitlen)title('平均队长') figurehist(avgwaittime) title('平均等待时间');。