文件名称:计算机模拟-ansysworkbench 工程实例详解
文件大小:4.07MB
文件格式:PDF
更新时间:2024-07-01 15:44:08
数学建模
10.2 计算机模拟 当排队系统的到达间隔时间和服务时间的概率分布很复杂时,或不能用公式给出 时,那么就不能用解析法求解。这就需用随机模拟法求解,现举例说明。 例 14 设某仓库前有一卸货场,货车一般是夜间到达,白天卸货,每天只能卸货 2 车,若一天内到达数超过 2 车,那么就推迟到次日卸货。根据表 3 所示的数据,货车到 达数的概率分布(相对频率)平均为 1.5 车/天,求每天推迟卸货的平均车数。 表 3 到达车数的概率 到达车数 0 1 2 3 4 5 ≥ 6 概 率 0.23 0.30 0.30 0.1 0.05 0.02 0.00 解 这是单服务台的排队系统,可验证到达车数不服从泊松分布,服务时间也不服 从指数分布(这是定长服务时间)。 随机模拟法首先要求事件能按历史的概率分布规律出现。模拟时产生的随机数与事 件的对应关系如表 4。 表 4 到达车数的概率及其对应的随机数 到达车数 概 率 累积概率 对应的随机数 0 1 2 3 4 5 0.23 0.30 0.30 0.1 0.05 0.02 0.23 0.53 0.83 0.93 0.98 1.00 0 <≤ x 0.23 0.23 <≤ x 0.53 0.53 <≤ x 0.83 0.83 <≤ x 0.93 0.93 <≤ x 0.98 0.98 ≤≤ x 1.00 我们用 a1 表示产生的随机数,a2 表示到达的车数,a3 表示需要卸货车数,a4 表 示实际卸货车数,a5 表示推迟卸货车数。编写程序如下: clear rand('state',sum(100*clock)); n=50000; m=2 a1=rand(n,1); a2=a1; %a2初始化 a2(find(a1<0.23))=0; a2(find(0.23<=a1&a1<0.53))=1; a2(find(0.53<=a1&a1<0.83))=2; a2(find(0.83<=a1&a1<0.93),1)=3; a2(find(0.93<=a1&a1<0.98),1)=4; a2(find(a1>=0.98))=5; a3=zeros(n,1);a4=zeros(n,1);a5=zeros(n,1); %a2初始化 a3(1)=a2(1); if a3(1)<=m a4(1)=a3(1);a5(1)=0; else