随机模拟实验报告.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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)

***** + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档