(完整word版)用蒙特卡洛方法估计积分方法与matlab编程实现.doc
上传人:17****21 上传时间:2024-09-09 格式:DOC 页数:32 大小:245KB 金币:5 举报 版权申诉
预览加载中,请您耐心等待几秒...

(完整word版)用蒙特卡洛方法估计积分方法与matlab编程实现.doc

(完整word版)用蒙特卡洛方法估计积分方法与matlab编程实现.doc

预览

免费试读已结束,剩余 22 页请下载文档后查看

5 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(完整word版)用蒙特卡洛方法估计积分方法与matlab编程实现(完整word版)用蒙特卡洛方法估计积分方法与matlab编程实现-(完整word版)用蒙特卡洛方法估计积分方法与matlab编程实现用蒙特卡洛方法估计积分方法及matlab编程实现专业班级:材料43学生姓名:王宏辉学号:2140201060指导教师:李耀武完成时间:2016年6月8日用蒙特卡洛方法估计积分方法及matlab编程实现实验内容:1用蒙特卡洛方法估计积分,和的值,并将估计值与真值进行比较。2用蒙特卡洛方法估计积分和的值,并对误差进行估计。要求:(1)针对要估计的积分选择适当的概率分布设计蒙特卡洛方法;(2)利用计算机产生所选分布的随机数以估计积分值;(3)进行重复试验,通过计算样本均值以评价估计的无偏性;通过计算均方误差(针对第1类题)或样本方差(针对第2类题)以评价估计结果的精度。目的:(1)能通过MATLAB或其他数学软件了解随机变量的概率密度、分布函数及其期望、方差、协方差等;(2)熟练使用MATLAB对样本进行基本统计,从而获取数据的基本信息;(3)能用MATLAB熟练进行样本的一元回归分析。实验原理:蒙特卡洛方法估计积分值,总的思想是将积分改写为某个随机变量的数学期望,借助相应的随机数,利用样本均值估计数学期望,从而估计相应的积分值。具体操作如下:一般地,积分改写成的形式,(其中为一随机变量X的概率密度函数,且的支持域),);令Y=h(X),则积分S=E(Y);利用matlab软件,编程产生随机变量X的随机数,在由,得到随机变量Y的随机数,求出样本均值,以此估计积分值。积分的求法与上述方法类似,在此不赘述。概率密度函数的选取:一重积分,由于要求的支持域,为使方法普遍适用,考虑到标准正态分布概率密度函数支持域为,故选用。类似的,二重积分选用,支持域为。估计评价:进行重复试验,通过计算样本均值以评价估计的无偏性;通过计算均方误(针对第1类题,积得出)或样本方差(针对第2类题,积不出)以评价估计结果的精度。程序设计:依据问题分四类:第一类一重积分;第一类二重积分;第二类一重积分,第二类二重积分,相应程序设计成四类。为了使程序具有一般性以及方便以后使用:一重积分,程序保存为一个.m文本,被积函数,积分区间均采用键盘输入;二重积分,程序主体保存为一个.m文本,被积函数键盘输入,示性函数用function语句构造,求不同区域二重积分,只需改变function函数内容。编程完整解决用蒙特卡洛方法估计一重、二重积分值问题。程序代码及运行结果:第一类一重积分程序代码:%%%构造示性函数functionI=I1(x,a,b)ifx>=a&&x<=bI=1;elseI=0;end%保存为I1.m%%%%%%%%%%%%%%%%%%第一类一重积分,程序主体:%保存为f11.mfunctionoutf11=f11()g1=input('输入一元被积函数如x.*sin(x):','s')%输入被积函数g1=inline(g1);a=input('输入积分下界a:');%输入积分上下限b=input('输入积分上界b:');Real=input('积分真值:');%输入积分真值fprintf('输入样本容量10^V1--10^V2:\r')V=zeros(1,2);V(1)=input('V1:');%输入样本容量V(2)=input('V2:');form=V(1):V(2)%样本容量10^m1--10^m2n=10^mforj=1:10x=randn(1,n);fori=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=ones(1,10);EY=Y1*t'/10;%十次均值D=abs(EY-Real);%绝对误差RD=D/Real;%绝对误差d=0;fori=1:10d=d+(Y1(i)-Real)^2;endd=d/(10-1);EY1(m-V(1)+1)=EY;%样本容量为10^m时的样本均值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输入一元被积函数如x.*sin(x):x.*s