matlab实验随机模拟程序,随机模拟实验报告.doc

随机模拟实验报告

目的:了解随即现象,分析随即过程找出规律,解决实际问题

实验原理:

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)>li

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Matlab中,我们可以使用内置的随机信号生成函数来模拟典型的随机信号。以下是一些常见的随机信号模拟示例: 1. 高斯白噪声信号 高斯白噪声信号是一种具有平均值为0、方差为1的随机信号。在Matlab中,我们可以使用randn函数生成高斯白噪声信号。 ```matlab N = 1000; % 信号长度 x = randn(N, 1); % 生成高斯白噪声信号 plot(x); % 绘制信号波形 ``` 2. 随机步进信号 随机步进信号是一种随机变化的离散信号,每个样本值都是相邻样本值的随机步进。在Matlab中,我们可以使用randi函数生成随机步进信号。 ```matlab N = 1000; % 信号长度 x = randi([-1, 1], N, 1); % 生成随机步进信号 x = cumsum(x); % 对信号进行累加 plot(x); % 绘制信号波形 ``` 3. 均匀分布随机信号 均匀分布随机信号是一种具有均匀分布的随机信号,其取值范围在一定区间内等概率分布。在Matlab中,我们可以使用rand函数生成均匀分布随机信号。 ```matlab N = 1000; % 信号长度 a = -1; % 信号最小值 b = 1; % 信号最大值 x = a + (b-a)*rand(N, 1); % 生成均匀分布随机信号 plot(x); % 绘制信号波形 ``` 4. 指数分布随机信号 指数分布随机信号是一种具有指数分布的随机信号,其概率密度函数为$f(x)=\lambda e^{-\lambda x}$。在Matlab中,我们可以使用exprnd函数生成指数分布随机信号。 ```matlab N = 1000; % 信号长度 lambda = 0.5; % 指数分布参数 x = exprnd(1/lambda, N, 1); % 生成指数分布随机信号 plot(x); % 绘制信号波形 ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值