- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
随机模拟实验报告
目的:了解随即现象,分析随即过程找出规律,解决实际问题
实验原理:
1. 随机变量及其分布
随机事件:在一定条件下有可能发生的事件。
概率:随机事件发生的可能性的度量 P(A), 0 ≤ P(A) ≤ 1.
随机变量:在一定的范围内随机取值的变量,“X=ak” (k=1,2,…,n), 或
随机发生.
随机变量的分布:
则称
ak : a1 a2 … an
P(“X=ak”) p1 p2 … pn
为随机变量 X 的分布列, 简称 X 的分布
若已知
则称 p(x) 为随机变量 X 的分布密度, 简称X的分布
实验过程:
假设:市场服务超市有两个出口的收款台,两项服务:收款、装袋。两名职工在出口处工作。有两种安排方案:
1. 开一个出口,一人收款、一人装袋;
2. 开两个出口,每个人既收款又装袋。
问商店经理应选择哪一种收款台的服务方案。
随机变量 x = {0,1,2}表示每分钟到达超市收款台的人数,有分布列
xk 0 1 2
pk 0.4 0.3 0.3
利用matlab软件的rand产生的随即数。模拟十分钟内顾客到达收款台的状况
模型假设:1. 顾客的到达是随机的。 2. 收款装袋的时间是相同的。
第一种方案中,收款与装袋同时进行,用的时间相同。代码如下:
clf
line=zeros(1,60);%等待的顾客人数
wait=zeros(1,60);%等待时间的累加
serve=zeros(1,60); %服务时间的累加
num=zeros(1,60); %L1到达顾客人数累加。
st=1;%服务时间
r=rand(1,60);%随机数
for i=1:60;
if r(i)0.4
n(i)=0;
elseif 0.4=r(i)r(i)0.7
n(i)=1;
else n(i)=2;
end
end
if n(1)==2
line(1)=1;serve(1)=st;
end
for t=2:60
if line(t-1)==0(n(t)==0|n(t)==1)
line(t)=0;
serve(t)=serve(t-1)+n(t);
wait(t)=wait(t-1)+n(t);
num(t)=num(t-1)+n(t);
else
line(t)=line(t-1)+n(t)-st;
wait(t)=wait(t-1)+line(t);
serve(t)=serve(t-1)+1;
num(t)=num(t-1)+n(t);
end
end
m=1:60;
hold on
plot(m,n,b);
plot(m,line,r);
hold off
server_average=serve(60)/60
totla_num=num(60)
wait_average=wait(60)/60
运行结果如下:
server_average =
0.8500
totla_num =
53
wait_average =
1.5500
结果评价:试验多次总有等待的高峰期。即是总有等待时候。
第二种方案中,收款与装袋分开进行,用的时间增加一倍。代码如下:
clf
line2=zeros(1,60);%等待的顾客人数
line1=zeros(1,60);%等待时间的累加
serve=zeros(1,61); %服务时间的累加
num=zeros(1,61); %L1到达顾客人数累加
st=1/2;%服务时间
r=rand(1,60);%随机数
for i=1:60
if r(i)0.4
n(i)=0;
elseif 0.4=r(i)r(i)0.7
n(i)=1;
else n(i)=2;
end
end
if n(1)==2
line1(1)=st;line2(1)=st;
elseif n(1)==1.0
line1(1)=st;
end
for t=2:60
if n(t)==1
if line1(t-1)line2(t-1)
文档评论(0)