一般步骤:
1.将实验转变成数学模型
2.用随机数表示实验结果
例一
投掷硬币n次,求正反面出现的次数
若生成的随机数0<=x<0.5表示出现正面,0.5<=x<=1表示出现反面
代码如下:
n=100000;
m=zeros(1,2);
for i=1:n
x=rand;
if x<0.5
m(1)=m(1)+1;
else
m(2)=m(2)+1;
end
end
m
运行结果如下:
例二
事件w1出现概率p1,w2出现概率p2,w3出现概率p3(p1+p2+p3=1)
求n次实验中各事件出现的次数
n=100000;
m=zeros(1,3);
p1=0.2;p2=0.1;p3=0.7;
for i=1:n
x=rand;
if x<=p1
m(1)=m(1)+1;
elseif x<=p1+p2&&x>p1
m(2)=m(2)+1;
else
m(3)=m(3)+1;
end
end
m
运行结果如下:
例三
计算1-10的平均数
我们可以直接用命令:mean(1:10) 或sum(1:10)/10 也可以用随机实验模拟求
n=1000000;
s=0;
for i=1:n
x=rand;
y=round(9*x+1);
s=s+y;
end
m=s/n
结果如下: