文档介绍:matlab蒙特卡洛法估计积分值
2
———————————————————————————————— 作者:
———————————————————————————————— 日期:
个人收集整理 勿做商业用途
个人收集整理 勿做商业用途
个人收集整理 勿做商业用途
西安交通大学实验报告
课程:概率论与数理统计
实验日期:
报告日期:
专业班级:
姓 名: 学 号:
实验内容:用蒙特卡洛方法估计积分值
要求:(1)针对要估计的积分选择适当的概率分布设计蒙特卡洛方法;
(2)利用计算机产生所选分布的随机数以估计积分值;
(3)进行重复试验,通过计算样本均值以评价估计的无偏性;通过计算均方误差(针对第1类题)或样本方差(针对第2类题)以评价估计结果的精度.
目的:(1)能通过 MATLAB 或其他数学软件了解随机变量的概率密度、分布函数及其期望、方差、协方差等;
(2) 熟练使用 MATLAB 对样本进行基本统计,从而获取数据的基本信息;
(3) 能用 MATLAB 熟练进行样本的一元回归分析。
1用蒙特卡洛方法估计积分 ,和的值,并将估计值与真值进行比较。
1)
仍是用均匀分布来估计此积分的大小,g(x)=xsinx,=1/().x>0。分别取10个估计值h(j),求得估计值的均值p,对照积分的真实值求得估计均方误差f.
Matlab程序代码如下:
s=0;m=0;f=0;r=0;n=50;
h(1:10)=0;
for j=1:10
for i=1:n
a=unifrnd(0,pi/2,n,1);
x=sort(a); y=pi/2*mean(x.*sin(x)); s=s+y;
3
个人收集整理 勿做商业用途
个人收集整理 勿做商业用途
个人收集整理 勿做商业用途
end
b=s./n;
fprintf(’b=%。4f\n’,b);
h(j)=b;
s=0;
m=m+b;
end
p=m。/10
z=1
for j=1:10
r=(h(j)—z).^2; f=f+r;
end
f=f./10;
fprintf('f=%。6f\n’,f)
结果显示f=0。000221,表明估计结果与理论值非常接近。
2)
I==1/2*
g(