matlab--蒙特卡洛法估计积分值

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

matlab--蒙特卡洛法估计积分值

西安交通大学实验报告

课程:概率论与数理统计

实验日期:

报告日期:

专业班级:

姓名:学号:

实验内容:用蒙特卡洛方法估计积分值

要求:(1)针对要估计的积分选择适当的概率分布设计蒙特卡洛方法;

(2)利用计算机产生所选分布的随机数以估计积分值;

(3)进行重复试验,通过计算样本均值以评价估计的无偏性;通过计算均方误差(针对第1类题)或样本方差(针对第2类题)以评价估计结果的精度。

目的:(1)能通过 MATLAB 或其他数学软件了解随机变量的概率密度、分布函数及其期望、方差、协方差等;

(2)熟练使用 MATLAB 对样本进行基本统计,从而获取数据的基本信息;

(3) 能用 MATLAB 熟练进行样本的一元回归分析。

1用蒙特卡洛方法估计积分

2

sin x xdx π

⎰,

2

x e

dx +∞

⎰和

22

221

x y x y e

dxdy

++≤⎰⎰

的值,并将估计值与真值进行比较。

1)dx x x ⎰20

sin π

仍是用均匀分布来估计此积分的大小,g(x)=xsinx,)(x f x

=1/(2

pi ).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; 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)

dx

e x ⎰+∞-

2

I=

dx

e x

⎰+∞-

2

=1/2*

pi

dx

e

pi

e x

x*2

*

*

*2

/1*2/

2/2

2-

+∞

-

-

=)(x

f x

2/2

*

*2

/1x e

pi- g(x)=e pi

x*

2

*2/2-

)(x

f

x为标准正态分布的概率密度.分别取10个估计值h(j),求得估计值的均值p,对照积分的真实值求得估计均方误差f。

Matlab程序代码如下:

s=0;m=0;f=0;n=50;r=0;

h(1:10)=0;

for j=1:10

for i=1:n

a=normrnd(0,1,1,n);

x=sort(a);

z=(sqrt(2.*pi)).*exp(-x(i).^2./2); s=s+z;

end

b=(s./n)./2; fprintf('b=%.4f\n',b);

h(j)=b; s=0; m=m+b;

end

p=m./10

z=sqrt(pi)./2

for j=1:10

r=(h(j)-z).^2;

f=f+r;

end

f=f./10;

fprintf('f=%.6f\n',f)

结果如下:

结果显示估计结果与真实值的方差为f=0.00322,估计结果与真实值非常接近。

3)

22

221

x y

x y

e dxdy

+

+≤

⎰⎰

m=10000;sum=0;n=50;D=0;

X=unifrnd(-1,1,n,m);Y=unifrnd(-1,1,n,m); for i=1:n a=0; for j=1:m

if(X(i,j)^2+Y(i,j)^2<=1)

Z(i,j)=exp(X(i,j)^2+Y(i,j)^2); a=a+Z(i,j); end end

S(i)=a/m;sum=sum+S(i); end

I=sum/n*4 for i=1:n

D=D+(S(i)*4-pi*(exp(1)-1))^2; end

d=D/n

2用蒙特卡洛方法估计积分 2

1

0x e

dx

⎰和224

4

1x y x y

+≤++⎰⎰

的值,并对误差进行估计。 1)dx e x ⎰1

02

此积分采用的是均匀分布。g(x)=2

x

e ,)(x

f x

=1.x>0.

相关文档
最新文档