资源简介
编写此代码的目的是解决17年美赛D题,采用排队论模型进行仿真,计算出各个区域的总耗费时间,代码为原创,是单通道多服务台模型,后续的多通道多服务台混联模型编写好后也会上传,和大家一起学习
代码片段和文件信息
clear
clc
%% MM1∞和单队列单通道—多服务台串联式
N=100;%乘客总数
M=4;%服务台总数
lambda0=4.65;%乘客的到达率(每分钟平均到达4.65人)
%%
%乘客的平均到达时间
l0=1/lambda0;
%每个区域的平均服务时间,时间单位均为分钟
lambda1=11.21/60;
lambda2=13.2/60;
lambda3=27/60;
lambda4=13.2/60;
%%
%按负指数分布产生各乘客到达的时间间隔
arr_interval= exprnd(l01N);
%各乘客的到达时刻等于时间间隔的累积和
arr_moment= cumsum(arr_interval);
%按负指数分布产生每个乘客在各区域的服务时间serve(ij)表示第i个乘客在第j个区域的服务时间
serve(:1)=exprnd(lambda11N)‘;
serve(:2)=exprnd(lambda21N)‘;
serve(:3)=exprnd(lambda31N)‘;
serve(:4)=exprnd(lambda41N)‘;
%%
%第i个乘客在第j个区域花费的时间为A(ij)(i=1:100j=1:4花费的时间等于服务的时间加上等待的时间)
%第i个乘客离开第j个区域的时刻为B(ij)
%在假设不计区域之间花费的时间的条件下有这样一个关系:到达第j个区域的时刻等于离开第j-1个区域的时刻
A=zeros(NM);
%先计算第一个乘客的花费时间和离开时刻,然后采用迭代的方法计算出剩下所有乘客的花费时间
A(1:)=serve(1:);
B(11)=A(11)+arr_moment(1);
for j=2:4
B(1j)=B(1j-1)+A(1j);
end
for i=2:N
for j=1:M
if j==1
if arr_moment(i) A(ij)=B(i-1j)-arr_moment(i)+serve(ij);
B(ij)=B(i-1j)+serve(ij);
else
A(ij)=serve(ij);
B(ij)=arr_moment(i)+serve(ij);
end
else
- 上一篇:SAR 三点目标仿真及RD算法 MATLAB程序
- 下一篇:排队论仿真代码后续
相关资源
- 单通道盲源分离SSA-ICA算法Matlab代码
- 排队论matlab程序
- 基于MATLAB的多服务台排队系统分析
- 单列多服务台排队matlab仿真系统
- 单通道图像转化为三通道,并与彩色
- 排队论的matlab仿真(包括仿真代码)
- 单服务器排队模型matlab程序
- 静态排队论模型 m/m/c
- 故障电机单通道振动信号数据
- 用MATLAB实现的MM1仿真
- 多服务台混合制排队论
- 排队论仿真代码后续
- matlab仿真设计-多服务台排队系统建模
- mmn排队论matlab GUI源文件
- 数学建模中排队论问题的原理分析及
- OMLSA 目前传统单通道语音增强中效果
- 排队论matlab代码
- Matlab解决排队论
- MATLAB模拟银行单服务台排队模型
- MATLAB 排队论动态仿真
- 无线通信matlab排队论仿真
- Matlab简单排队仿真
评论
共有 条评论