ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:54.34KB ,
资源ID:27435203      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/27435203.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(用蒙特卡洛方法估计积分方法及matlab编程实现.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

用蒙特卡洛方法估计积分方法及matlab编程实现.docx

1、用蒙特卡洛方法估计积分方法及matlab编程实现 用蒙特卡洛方法估计积分方法及matlab编程实现 专业班级: 材料43学生姓名: 王宏辉学 号: 2140201060指导教师:李耀武完成时间: 2016年6月8日 用蒙特卡洛方法估计积分方法及matlab编程实现实验内容:1用蒙特卡洛方法估计积分,和的值,并将估计值与真值进行比较。2用蒙特卡洛方法估计积分和的值,并对误差进行估计。要求: (1)针对要估计的积分选择适当的概率分布设计蒙特卡洛方法;(2)利用计算机产生所选分布的随机数以估计积分值;(3)进行重复试验,通过计算样本均值以评价估计的无偏性;通过计算均方误差(针 对第1类题)或样本方差

2、(针对第2类题)以评价估计结果的精度。目的: (1)能通过 MATLAB 或其他数学软件了解随机变量的概率密度、分布函数 及其期望、方差、协方差等;(2) 熟练使用 MATLAB 对样本进行基本统计,从而获取数据的基本信息;(3) 能用 MATLAB 熟练进行样本的一元回归分析。实验原理: 蒙特卡洛方法估计积分值,总的思想是将积分改写为某个随机变量的数学期望,借助相应的随机数,利用样本均值估计数学期望,从而估计相应的积分值。具体操作如下:一般地,积分改写成的形式,(其中为一随机变量X的概率密度函数,且的支持域),);令Y=h(X),则积分S=E(Y);利用matlab软件,编程产生随机变量X的

3、随机数,在由,得到随机变量Y的随机数,求出样本均值,以此估计积分值。积分的求法与上述方法类似,在此不赘述。概率密度函数的选取:一重积分,由于要求的支持域,为使方法普遍适用,考虑到标准正态分布概率密度函数支持域为,故选用。类似的,二重积分选用,支持域为。估计评价:进行重复试验,通过计算样本均值以评价估计的无偏性;通过计算均方误(针对第1类题,积得出)或样本方差(针对第2类题,积不出)以评价估计结果的精度。程序设计:依据问题分四类:第一类一重积分;第一类二重积分;第二类一重积分,第二类二重积分,相应程序设计成四类。为了使程序具有一般性以及方便以后使用:一重积分,程序保存为一个.m文本,被积函数,积

4、分区间均采用键盘输入;二重积分,程序主体保存为一个.m文本,被积函数键盘输入,示性函数用function 语句构造,求不同区域二重积分,只需改变function 函数内容。编程完整解决用蒙特卡洛方法估计一重、二重积分值问题。程序代码及运行结果:第一类一重积分程序代码:%构造示性函数function I=I1(x,a,b)if x=a&x=b I=1;else I=0;end%保存为I1.m%第一类一重积分,程序主体:%保存为f11.mfunction outf11=f11()g1=input(输入一元被积函数如x.*sin(x):,s)%输入被积函数g1=inline(g1);a=input(

5、输入积分下界a:);%输入积分上下限b=input(输入积分上界b:);Real=input(积分真值:);%输入积分真值fprintf(输入样本容量 10V1-10V2:r)V=zeros(1,2);V(1)=input(V1:);%输入样本容量V(2)=input(V2:);for m=V(1):V(2)%样本容量10m1-10m2 n=10mfor j=1:10x=randn(1,n);for i=1:nt1(i)=I1(x(i),a,b);%示性及求和向量endy1=g1(x)*(pi*2)0.5).*exp(x.2/2);Y1(j)=y1*t1/n; %单次实验样本均值endt=on

6、es(1,10);EY=Y1*t/10; %十次均值D=abs(EY-Real); %绝对误差RD=D/Real; %绝对误差d=0;for i=1:10 d=d+(Y1(i)-Real)2;endd=d/(10-1);EY1(m-V(1)+1)=EY; %样本容量为10m时的样本均值D1(m-V(1)+1)=D; %绝对误差RD1(m-V(1)+1)=RD; %绝对误差MSE1(m-V(1)+1)=d; %方差endReal,EY1,D1,RD1,MSE1outf11=EY1;D1;RD1;MSE1; %存放样本数字特征%保存为f11.m运行结果:%估计积分,积分真值为1m=f11输入一元被

7、积函数如x.*sin(x):x.*sin(x)g1 =x.*sin(x)输入积分下界a:0输入积分上界b:pi/2积分真值:1输入样本容量 10V1-10V2:V1:1V2:5n = 10n = 100n = 1000n = 10000n = 100000Real = 1EY1 = 1.2635 1.0088 1.0066 1.0109 1.0018D1 = 0.2635 0.0088 0.0066 0.0109 0.0018RD1 = 0.2635 0.0088 0.0066 0.0109 0.0018MSE1 =0.6439 0.0205 0.0028 0.0006 0.0001m= 1.

8、2635 1.0088 1.0066 1.0109 1.0018 0.2635 0.0088 0.0066 0.0109 0.0018 0.2635 0.0088 0.0066 0.0109 0.00180.6439 0.0205 0.0028 0.0006 0.0001 %估计积分真值为0.8862M=f11输入一元被积函数如x.*sin(x):exp(-x.2)g1 =exp(-x.2)输入积分下界a:0输入积分上界b:+inf积分真值:pi0.5/2%0.8862输入样本容量 10V1-10V2:V1:1V2:4n = 10n = 100n = 1000n = 10000Real = 0

9、.8862EY1 = 0.9333 0.9077 0.8873 0.8871D1 = 0.0470 0.0215 0.0010 0.0009RD1 = 0.0531 0.0243 0.0012 0.0010MSE1 = 0.1927 0.0112 0.0016 0.0000M = 0.9333 0.9077 0.8873 0.8871 0.0470 0.0215 0.0010 0.0009 0.0531 0.0243 0.0012 0.0010 0.1927 0.0112 0.0016 0.0000第一类二重积分程序代码:%构造示性函数,求不同区域上积分只需更改示性函数function I=I

10、2(x,y)if x2+y2=a&x S=quadl(f,0,1)S =1.4627第二类二重积分程序代码:%构造示性函数,求不同区域上积分只需更改示性函数function I=I2(x,y)if x2+y2=1 I=1;else I=0;end%保存为I2.m%第二类二重积分函数主体%,程序保存为f22.mfunction outf22=f22()g2=input(输入二元被积函数如1./(1+x.4+y.4).0.5:,s)%输入被积函数g2=inline(g2,x,y);fprintf(输入样本容量 10V1*10V1-10V2*10V2:r)V=zeros(1,2);V(1)=inpu

11、t(V1:);%输入样本容量V(2)=input(V2:);for m=V(1):V(2)%样本容量10m1-10m2 n=10mfor j=1:10x=randn(1,n);y=randn(1,n);for i=1:nt2(i)=I2(x(i),y(i);%示性及求和向量endy2=g2(x,y)*(2*pi).*exp(x.2+y.2)/2);Y2(j)=y2*t2/n; %单次实验样本均值endt=ones(1,10);EY=Y2*t/10; %十次均值d=0;for i=1:10 d=d+(Y2(i)-EY)2;endd=d/(10-1);EY2(m-V(1)+1)=EY; %样本容量

12、为10m时的样本均值MSE2(m-V(1)+1)=d; %方差endEY2,MSE2outf22=EY2;MSE2; %存放样本数字特征%第二类二重积分,程序保存为f22.m运行结果: %估计积分 m=f22输入二元被积函数如1./(1+x.4+y.4).0.5:1./(1+x.4+y.4).0.5g2 =1./(1+x.4+y.4).0.5输入样本容量 10V1*10V1-10V2*10V2:V1:1V2:4n = 10n = 100n = 1000n = 10000EY2 = 3.0759 2.9699 2.8566 2.8269MSE2 = 1.3267 0.0900 0.0060 0.

13、0014m = 3.0759 2.9699 2.8566 2.82691.3267 0.0900 0.0060 0.0014 实验结果整理:第一类一重积分:估计积分 积分真值:1 积分估计值:1.0018样本容量:10 100 1000 10000 100000样本均值:1.2635 1.0088 1.0066 1.0109 1.0018绝对误差:0.2635 0.0088 0.0066 0.0109 0.0018相对误差:0.2635 0.0088 0.0066 0.0109 0.0018均方误差:0.6439 0.0205 0.0028 0.0006 0.0001估计积分积分真值:0.88

14、62 积分估计值:0.8871样本容量:10 100 1000 10000 样本均值:0.9333 0.9077 0.8873 0.8871绝对误差:0.0470 0.0215 0.0010 0.0009相对误差:0.0531 0.0243 0.0012 0.0010均方误差:0.1927 0.0112 0.0016 0.0000第一类二重积分:估计积分积分真值:5.3981 积分估计值: 5.4041样本容量:10 100 1000 10000 样本均值:4.7702 5.1250 5.4317 5.4041绝对误差: 0.6279 0.2732 0.0335 0.0060相对误差:0.11

15、63 0.0506 0.0062 0.0011均方误差:3.8965 0.5564 0.0247 0.0017第二类一重积分:估计积分 积分估计值:1.4590样本容量:10 100 1000 10000 样本均值:2.0782 1.6583 1.5029 1.4590样本方差:0.4315 0.0889 0.0057 0.0008用matlab 指令求得积分结果1.4627第二类二重积分:估计积分积分估计值:2.8269样本容量:10 100 1000 10000 样本均值:3.0759 2.9699 2.8566 2.8269样本方差:1.3267 0.0900 0.0060 0.0014

16、实验结果分析:从第一类积分看,以估计积分为例:积分真值:1 积分估计值:1.0018样本容量:10 100 1000 10000 100000样本均值:1.2635 1.0088 1.0066 1.0109 1.0018绝对误差:0.2635 0.0088 0.0066 0.0109 0.0018相对误差:0.2635 0.0088 0.0066 0.0109 0.0018均方误差:0.6439 0.0205 0.0028 0.0006 0.0001随着样本容量的增大,样本均值有接近积分真值的趋势,绝对误差、相对误差、均方误差呈减小趋势;随着样本容量的增大,样本均值有接近积分真值的趋势,说明估

17、计具有无偏性;绝对误差、相对误差、均方误差呈减小趋势,说明增大样本容量能提高估计精度;验证了蒙特卡洛方法估计积分值的可行性,为后续估计第二类积分提供了参考。从第二类积分看,以估计积分为例:积分估计值:1.4590样本容量:10 100 1000 10000 样本均值:2.0782 1.6583 1.5029 1.4590样本方差:0.4315 0.0889 0.0057 0.0008用matlab 指令求得积分结果1.4627由于积分真值未知,无法直接比较估计值与积分值值;但随样本容量增大,样本方差减小,间接反映了估计精度的提高。蒙特卡洛方法估计值1.4590相比用matlab 指令求得的积分

18、结果1.4627,绝对偏差0.0038,相对偏差0.0025。蒙特卡洛方法估计值与用matlab 指令求得的积分结果相互验证。总结与讨论:蒙特卡洛方法是基于随机数的一种统计方法。蒙特卡洛方法估计积分值,总的思想是将积分改写为某个随机变量的数学期望,借助相应的随机数,利用样本均值估计数学期望,从而估计相应的积分值。为使方法具有一般性,概率密度函数一重积分选择了,二重积分选用。程序设计方面,本着使程序具有一般性以及方便以后使用的原则,依据问题分四类:第一类一重积分;第一类二重积分;第二类一重积分,第二类二重积分,相应程序设计成四类,并存储为.m文件,用蒙特卡洛方法估计积分值,一重积分只需调用相应程序即可;二重积分只需依据积分域修改相应示性函数即可调用相应函数求解。极大方便了同类问题求解。实验运行结果表明本方案可操作性良好。遗留问题:本次实验未设计选用不同概率密度函数,估计精度的比较,留有不同条件下选用何种概率密度函数估计效果最佳?如何缩短程序运行时间?如何对程序进行封装?如何更好评价第二类积分估计值无偏性以及精度?等问题。姓名:王宏辉班级:材料43学号:2140201060

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1