好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

随机模拟与系统仿真.doc

6页
  • 卖家[上传人]:新**
  • 文档编号:558001757
  • 上传时间:2022-12-16
  • 文档格式:DOC
  • 文档大小:108.51KB
  • / 6 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • §3.5 随机模拟与系统仿真一. 随机现象的模拟 例: 超市出口有若干个收款台,两项服务:收款、装袋顾客的到达的时间间隔是随机的;因顾客购买的货物量不同,所以服务时间的长短是随机的模拟这些随机现象,即利用计算机产生一系列数,每重复这一过程,产生的数列都不同,但是数列的构成服从一定的规律(概率分布),称这些数为随机数1. 随机变量及其分布随机事件:在一定条件下有可能发生的事件, 其全体记为W 概率:随机事件A Î W发生的可能性的度量 P(A), 0 £P(A) £ 1. 定义: 在W的s-集合类F上的实值函数,P: w ® P(w), w Î F , 满足:1. 非负性:P(w)³0, 2. 规范性:P(W)=1, 3. 可列可加性:对 w =UAi ÍW, {Ai }是两两不相容的事件,则 P(w)= åP(Ai) ,称P为F上的概率测度.随机变量: 称在W上定义的实值函数 x :A ® x (A) 为随机变量离散型: x Î{ak ;k=1,2,…(,n)}, 连续型: x Î(a, b) .随机变量的分布函数:F(x):=P(x

      连续型 若则称 函数p(x) 为随机变量 x 的分布密度, 称F(x)= P(xÎ(-¥, x))为随机变量 x 的分布函数几类常见的随机分布两点分布 只有两种可能结果(成功、失败)的实验称为贝努里试验试验成功的概率为p二项分布 n重贝努里试验成功的次数x 离散的均匀分布连续的均匀分布泊松分布 在单位时间间隔内随机事件平均发生的次数x .正态分布 许多偶然因素作用结果的总和N(m,s) 表示均值为m,方差为 s的正态分布指数分布 质点于随机时间陆续到达的时间间隔,平均时间间隔为1/l2. 随机数和随机变量的模拟10. 随机数可由计算机产生 均匀分布的(伪)随机数(rand) ,它在(0, 1) 中的分布是均匀的 N(0,1)正态分布的(伪)随机数(randn),它满足均值为0, 方差为1的正态分布 20.模拟离散随机变量设离散型随机变量 x 有分布列 {pi ;i=1,2,…,n}, 令 则得到数组{p(k); k=1,2,…n.}. 以 p(k)为分点,将[0,1]分为 n 个小区间. 取服从[0, 1]区间上均匀分布的随机数RÎ[0, 1], 则容易证明: P( p(k-1) < R < p(k) ) = pk = P (x = ak ). 即随机事件 “ p(k-1) < R < p(k) ” 与 “x =ak” 有相同的概率分布。

      因此取可以取在[0, 1]区间上均匀分布的随机数R=rand ,当p(k-1) < R < p(k)时,则认为事件 x =ak发生例如,“顾客到达收款台的的规律是:40%的时间没有人来,30%的时间有1个人来,30%的时间有2个人来 取随机数 y=rand, 记n为新到的顾客数, 则当0£y<0.4时, 令n=0;当0.4 £ y<0.7时,令n=1;当0.7£ y£ 1时,令n=2 30.模拟连续随机变量设连续型随机变量x具有分布函数F(x), 记 h为[0, 1]上服从均匀分布的随机变量令g=F-1(h), 则 P(gÎ(-¥, x))= P(F-1(h) Î(-¥, x)) =P(hÎ(-¥, F( x)))= F(x), 即g与x 同分布因此可以取在[0, 1]区间上均匀分布的随机数y=rand , 令 x=F-1(y), 则x 为服从分布函数为F(x) 的随机数. 例如, “ 顾客到达收款台的平均间隔时间是0.5 分钟”, 即认为顾客到达的时间间隔服从1/l=0.5 的指数分布,由随机数y=rand ,得到服从指数分布的随机数x= - ln y/ l。

      于是,后一位顾客到达时间-前一位顾客到达时间=x. 特别,当y=randn 是服从N(0,1) 正态分布的随机数时, x=m+s1/2y 是服从N(m, s) 正态分布.二. 系统仿真(Simulation) 1. 系统仿真:使用计算机对一个系统的结构和行为进行动态模拟,为决策提供必要的参考信息 特点:对象真实、复杂,进行模仿 2. 仿真模型:由计算机程序控制运行,从数值上模仿实际系统的动态行为 3. 仿真过程 1. 现实系统的分析:了解背景,明确目的,提出总体方案 2. 组建模型:确定变量,明确关系,设计流程,编制程序 3. 运行检验:确定初始状态,参量数值,运行程序,检验结果,改进模型 4. 输出结果三. 动态系统的仿真 1. 时间步长法:把整个仿真过程分为许多相等的时间间隔,每个间隔为一个时间单位—时间步长在每个时间步长内模拟系统的动态 用以控制时间步进(每一次进一个步长)的程序称为仿真时钟例 池水含盐 池中有水 2000 m3,含盐 2 kg,以 6m3 / 分 的速率向池中注入浓度为 0.5 kg / m3 的盐水,又以 4 m3 / 分的速率从池中流出混合后的盐水。

      问欲使池中盐水浓度达到 0.2 kg / m3,需要多长时间? 系统分析:池中有盐水,匀速注入浓盐水,匀速流出混合后的盐水,池中盐水的浓度变化 目的:仿真池中盐水浓度的变化,给出达到给定浓度的时间 变量、参量: 时间 t,体积 V(t), 盐量 S(t), 浓度 p(t); 流入流速 rI=6,流入浓度 pI=0.5 , 流出流速 rO=4, 流出浓度 p(t), 给定浓度 p*=0.2 时间步长 rt=1 , 打印步长 T=10.平衡关系: V( t+ r t)=V(t)+ (rI – rO ) r t S( t+ r t)=S(t)+ (rI pI– rO p(t)) r t P ( t+ r t)=S( t+ r t) /V( t+ r t)初始状态: V(0)=2000, S(0)=2, p(0)=0.001Matlab程序clft=1; v=[2000];s=[2];p=[1/1000];V=[v(end)];S=[s(end)];P=[p(end)];x=[0];while p(end)<=0.2 T=0; while T<10 T=T+1; t=t+1; v=[v 1];s=[s 1];p=[p 0]; v(t)=v(t-1)+2;s(t)=s(t-1)+3-4*p(t-1);p(end)=s(end)/v(end); if p(end)>0.2 T=20; end; end; x=[x t-1];V=[V v(end)];S=[S s(end)];P=[P p(end)];end; V1=10^3.*V; a=[x',V1',S',P']例 市场服务 超市有两个出口的收款台,两项服务:收款、装袋。

      两名职工在出口处工作有两种安排方案:开一个出口,一人收款、一人装袋;开两个出口,每个人既收款又装袋问商店经理应选择哪一种收款台的服务方案选择服务方案的标准:1. 顾客等待时间长短,2. 每分钟服务的顾客数量,3.服务的工作效率这里我们以第1个标准选择服务方案假设: 1. 顾客的到达收款台是随机的, 服从规律:40%的时间没有人来,30%的时间有1个人来,30%的时间有2个人来 2. 收款装袋的时间是相同的 3. 第一种方案中,收款与装袋同时进行参量,变量:n(t) 在时刻 t 到达收款台人数, L(t) 在时刻 t 在收款台等待人数,T1(t) 到时刻 t为止所有排队顾客等待时间的总和T2(t) 到时刻 t为止,所有已交款顾客接受服务的总时间,t 收款或装袋的时间 平衡关系:当 L(t)=0 且 n(t)=0 时, L(t+r t)=L(t); T1(t+r t)=T1(t); T2(t+r t)=T2(t);否则 L(t+r t))=L(t)+n(t)-1; T1(t+r t)=T1(t)+l(t); T2(t+r t)=T2(t)+ t 取时间步长 rt=1 , 收款或装袋的时间t =1 。

      在t时刻, 取随机数r=rand,当0£r<0.4时, n(t)=0, 当0.4£ r<0.7时, n(t)=1,当0.7£ r £1时, n(t)=2.仿真30分钟内收款台处的排队情况,Matlab程序clfL=zeros(1,31); %L 等待的顾客人数,T1=zeros(1,31); %T1等待时间的累加, T2=zeros(1,31); %T2服务时间的累加, L1=zeros(1,31);% L1到达顾客人数累加t=1; tau=1; x=0:30; r=rand(1,30);for i=1:30; t=t+1; if 0<=r(i) & r(i)<0.4 n=0; elseif 0.4<=r(i) & r(i)<0.7 n=1; else n=2; end; if L(t-1)==0 & n==0 L(t)=L(t-1);T1(t)=T1(t-1);T2(t)=T2(t-1);L1(t)=L1(t-1); else L(t)=L(t-1)+n-1;T1(t)=T1(t-1)+L(t);T2(t)=T2(t-1)+tau; L1(t)=L1(t-1)+n; end;end;r=[0 r]; a=[x',r',L',L1',T1',T2']eL=T2(end)/tau %已被服务的人数, L2=(find(L1>eL))L3=sum(L(L2))%未被服务的顾客等待时间总和g1=(T1(end)-L3)/eL %平均等待时间g2=g1+tau %平均逗留时间g3=eL/30 %平均每分钟服务的顾客人数.练习:编写设两个收款台时的仿真程序,根据两个模拟结果评价两个方案。

      2. 事件表法(面向事件法):每处理一个事件就前进一步(每步的时间可能不同),以事件为中心安排对系统中的一系列不同类型的事件按发生的前后顺序逐个进行分析、处理 事件表:记录今后将要发生的事件及其属性(发生的时间,事件的类型等),调度事件执行的顺序它随着程序的执行过程不断地更新和补充以保证仿真过程有序地进行例 市场服务假设:1. 顾客的到达收款台是随机的,平均时。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.