用蒙特卡罗方法计算定积分
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
19.
20.
sum/4000
结果如图
由图可知,结果稳定在0.46附近。 有牛顿-莱布尼茨公式可知
5.
xlabel('x轴'),ylabel('y轴')
6.
7.
for n=1:4000
8.
sumset(n)=0;
9.
end
10.
11.
sum=0;
12.
13.
for n=1:4000
14.ห้องสมุดไป่ตู้
sum=sum+sin(random(n));
15.
sumset(n)=sum/n;
16.
end
17.
18.
subplot(2,1,2),plot(x,sumset);
其中,
是计算机上生成的伪随机数。
用蒙特卡罗方法积分
首先选定一个区间
,然后抽取4000个随机点的坐标
服从区间 上的均匀分布。
,他们
利用MATLAB生成区间随机掷点效果图
1.
random = unifrnd(0,1,1,4000);%生成4000个区间[0,1]上服从均匀分布的随机数
2.
x=0.00025:0.00025:1;
服从区间 上的均匀分布。
利用MATLAB生成区间随机掷点效果图
,他们
1. random = unifrnd(0,1,1,4000);%生成4000个区间[0,1]上服从均匀分布的随机数
2.
x=0.00025:0.00025:1;
3.
y=sin(x);
4.
subplot(2,1,1),plot(x,y,'k',x,random,'.');
3.
y=x.^3;
4.
subplot(2,1,1),plot(x,y,'k',x,random,'.');
5.
xlabel('x轴'),ylabel('y轴')
6.
7.
for n=1:4000
8.
sumset(n)=0;
9.
end
10.
11.
sum=0;
12.
13.
for n=1:4000
14.
sum=sum+random(n).^3;
用蒙特卡罗方法计算定积分
概率论
为计算积分
软件1705 唐麒 17301138
可采用下面的方法实现。任取一列相互独立的随机变量
布,则
也是一列相互独立、同分布的随机变量列且
,它们都服从
上的均匀分
所以
,而有大数定律有
因此,只要能生成随机列就能求出 的近似值,可以在计算机上首先生成服从均匀分布的随机 数 ,然后通过上面两式得出近似值,也就是
15.
sumset(n)=sum/n;
16.
end
17.
18.
subplot(2,1,2),plot(x,sumset);
19.
20.
sum/4000
结果如图
由图可知,结果稳定在0.25附近。 有牛顿-莱布尼茨公式可知
模拟值与精确值的误差率为0.129%
用蒙特卡罗方法积分
首先选定一个区间
,然后抽取4000个随机点的坐标