排队论大作业Word文档格式.docx

上传人:b****3 文档编号:8225636 上传时间:2023-05-10 格式:DOCX 页数:9 大小:68.41KB
下载 相关 举报
排队论大作业Word文档格式.docx_第1页
第1页 / 共9页
排队论大作业Word文档格式.docx_第2页
第2页 / 共9页
排队论大作业Word文档格式.docx_第3页
第3页 / 共9页
排队论大作业Word文档格式.docx_第4页
第4页 / 共9页
排队论大作业Word文档格式.docx_第5页
第5页 / 共9页
排队论大作业Word文档格式.docx_第6页
第6页 / 共9页
排队论大作业Word文档格式.docx_第7页
第7页 / 共9页
排队论大作业Word文档格式.docx_第8页
第8页 / 共9页
排队论大作业Word文档格式.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

排队论大作业Word文档格式.docx

《排队论大作业Word文档格式.docx》由会员分享,可在线阅读,更多相关《排队论大作业Word文档格式.docx(9页珍藏版)》请在冰点文库上搜索。

排队论大作业Word文档格式.docx

N)。

通过对不同X0的一步转移矩阵计算其n值,得到收敛快慢与X0的关系,再比较不同的一步转移矩阵P收敛快慢,得到P与收敛快慢的关系。

一概述:

马尔科夫链的应用非常重要,同事也非常广泛的应用在现代的各个领域中,像马尔科夫链预测,能够对状态转移和时间序列做很好的预测,同时一步转移矩阵在市场营销上也有起到预测作用。

当然还有很多的其他应用,这里就不多说了。

二一步转移矩阵的模型分析

根据前面的假设,初始状态为X0,一步转移矩阵概率为P,当n足够大时

X0*P^n=Y

设置一个初始转态X0,计算n的收敛阈值,当矩阵收敛到一个稳定的状态时,会得到Y为一个稳定的行列式。

P11p12p13p14p15

P21p22p23p24p25

P31p32p33p34p35

P41p42p43p44p45

P51p52p53p54p55

X0*P^n=

其中p11+......+p15=1

P21+......+p25=1

.

P51+......+p55=1

根据计算对于不同的X0,一步转移矩阵收敛时n的值没有变化,可以得到其与初始状态X0无关。

此时,改变一步转移矩阵的类型,使用不同的一步转移矩阵,并设置同样的初始状态X0,计算此时的阈值n发现对于不同的一步转移矩阵,其收敛速度并不一样。

对于不同的一步转移矩阵,其收敛速度与什么有关,有以下假设:

1一步转移矩阵行列式的值会对收敛速度有影响。

对于一步转移矩阵的行列式值,通过计算不同行列式的值的得到矩阵的收敛速度图如下

仿真结果:

环境:

matlab,win7

对于行列式为1的此矩阵,是收敛的,且速度最快

对于一个随机转移矩阵B,n在19时收敛det(B)=;

对于行列式值为的矩阵D,n=100时收敛

对于行列式值为0的矩阵E在n=150时收敛

对于行列式值为的矩阵F,在n=40时收敛

从以上的数据中可以得到,当det(P)为1时,矩阵已经是收敛的,当det(P)=0时,矩阵几乎是不收敛的,当det(P)趋近与1时收敛越快。

测量多组数据得到如下图曲线图(横坐标为Det,纵坐标为收敛速度)

四总结:

从本次实验中可以得出一步转移矩阵的收敛速度与矩阵行列式的值有关,行列式的值越大,收敛越快。

题目二

要求:

分析但服务窗等待制M/M/N排队系统,其中平均到达速率I,每个服务员的平均服务速率为u,由概率分布求系统中的总顾客数L,考虑到公式推导的复杂性,用自己熟悉的语言纸上写代码,给出求解l近似值的核心代码,代码关键部分必须标注。

代码如下:

#include<

iostream>

usingnamespacestd;

doublegetp0(doublep,intN);

doublegetl(doublep0,doublep,intN);

intfactorial(intn);

doublepowerr(double,int);

voidshow();

intmain(){

while

(1){

show();

}

}

doublegetp0(doublep,intN){//求p0

intk=0;

doublep0;

doublesum=0;

while(k<

N){

doubles;

s=powerr(N*p,k)/factorial(k)+powerr(N*p,N)/(factorial(N)*(1-p));

sum+=s;

k++;

p0=1/sum;

returnp0;

}

doublegetl(doublep0,doublep,intN){//求队长L

doubles;

s=N*p+p0*p*powerr(N*p,N)/(factorial(N)*(1-p)*(1-p));

returns;

intfactorial(intn){//求阶乘

ints=n;

if(n>

0){

while(n>

1){

s=s*(n-1);

n--;

}

returns;

elsereturn1;

doublepowerr(doublea,intn){//求指数

doubles=1;

while(n>

s*=a;

n--;

voidshow(){

doubleu;

//服务速率

doubleI;

//输入速率

intN;

//服务窗的个数

cout<

<

"

输入顾客到达速率I:

endl;

输入服务速率u:

输入N:

cin>

>

I>

u>

N;

doublep=I/(N*u);

doubleL;

L=getl(getp0(p,N),p,N);

总队长L=:

L<

结果:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2