大学数学实验之蒙特卡洛方法(共9页)_第1页
大学数学实验之蒙特卡洛方法(共9页)_第2页
大学数学实验之蒙特卡洛方法(共9页)_第3页
大学数学实验之蒙特卡洛方法(共9页)_第4页
大学数学实验之蒙特卡洛方法(共9页)_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数学实验报告班级: 序号: 姓名: 1 问题描述I、用蒙特卡罗方法计算以下函数在区间上的积分,并改变随机点数目观察对结果的影响。(1) y=1/(1+x), 0=<x=<1;(2) y= (exp(3*x)*sin(2*x), 0=<x=<2 ;(3) y=(1+x2)0.5, 0=<x=<2;(4) y=(1/(2*pi)0.5)*exp(-x(i)2/2), 0=<x=<2;(5) y=exp(x(i)/2)*(sin(x(i)2, 0=<x=<2*pi;(6) f(x,y)=exp(-x2-y2) 0=<x=<pi,

2、 0=<y=<sin(x);II、用蒙特卡罗法求解全局最优化及约束问题并通过图形做出评论,求下列函数的最大值。(1) f(x)=(1-x.2).*sin(3*x), -2*pi=<x=<2*pi;(2) max f(x)=x1*x2*x3,s.t.:-x1+2x2+2x3>=0,x1+2x2+2x3<=72,10<=x2<=20,x1-x2=10;(3) f(x,y)=(X.2+2*(Y.2)+X.*Y).*exp(-X.2-Y.2), abs(x)<1.5,abs(y)<1.5;2 问题分析与实验过程I、(1)使用均值估计法程序:f

3、unction p=shell1(a,b,n)z=0;x=unifrnd(a,b,1,n);for i=1:n u=(x(i)+1)(-1); z=z+u;endp=(b-a)*z/n;运行结果:p=shell1(0,1,1000)p = 0.6975>> p=shell1(0,1,10000)p = 0.6922>> p=shell1(0,1,100)p = 0.7001>> p=shell1(0,1,500)p =0.6890 结果分析:改变了四次随机点数,结果都趋近于0.69,说明积分值约等于0.69,但是点数越多,值越接近。 I、(2)使用均值估计法

4、程序:function p=shell2(a,b,n)z=0;x=unifrnd(a,b,1,n);for i=1:n u=(exp(3*x(i)*sin(2*x(i); z=z+u;endp=(b-a)*z/n;运行结果:>> p=shell2(0,2,1000)p = -24.4911>> p=shell2(0,2,100)p = -43.8720>> p=shell2(0,2,10000)p = -30.8699>> p=shell2(0,2,500)p = -23.2955>> p=shell2(0,2,100000)p =

5、-30.0058结果分析:改变了5次随机点数,结果变化较大,但是点数越多,值越接近真实积分值。所以积分值近似于-30。I、(3)使用均值估计法程序:function p=shell3(a,b,n)z=0;x=unifrnd(a,b,1,n);for i=1:n u=(1+x(i)2)0.5; z=z+u;endp=(b-a)*z/n;运行结果:>> p=shell3(0,2,100)p = 2.9293>> p=shell3(0,2,1000)p = 2.9516>> p=shell3(0,2,10000)p = 2.9512>> p=shell

6、3(0,2,100000)p = 2.9600结果分析:改变了四次随机点数,结果都趋近于2.95,说明积分值约等于2.95,而且点数越多,值越接近真实积分值。I、(4)使用均值估计法程序:function p=shell4(a,b,n)z=0;x=unifrnd(a,b,1,n);for i=1:n u=(1/(2*pi)0.5)*exp(-x(i)2/2); z=z+u;endp=(b-a)*z/n;运行结果:>> p=shell4(0,2,100000)p = 0.4783>> p=shell4(0,2,10000)p = 0.4777>> p=shel

7、l4(0,2,1000)p = 0.4765>> p=shell4(0,2,100)p = 0.4432结果分析:改变了四次随机点数,结果都趋近于0.47,说明积分值约等于0.47,而且点数越多,值越接近真实积分值。I、(5)使用均值估计法程序:function p=shell5(a,b,n)z=0;x=unifrnd(a,b,1,n);for i=1:n u=exp(x(i)/2)*(sin(x(i)2; z=z+u;endp=(b-a)*z/n;运行结果:>> p=shell5(0,2*pi,100)p = 22.0140>> p=shell5(0,2*

8、pi,1000)p = 20.2718>> p=shell5(0,2*pi,10000)p = 20.9394>> p=shell5(0,2*pi,100000)p = 20.7968结果分析:改变了四次随机点数,结果都趋近于20.8,说明积分值约等于20.8,而且点数越多,值越接近真实积分值。I、(6)使用均值估计法程序:function p=shell6(a1,b1,a2,b2,n)z=0;x=unifrnd(a1,b1,1,n);y=unifrnd(a2,b2,1,n);for i=1:n if y(i)<=sin(x(i); u=exp(-x(i)2-y(

9、i)2); z=z+u; endendp=(b1-a1)*(b2-a2)*z/n;运行结果:>> p=shell6(0,pi,0,1,100)p = 0.4368>> p=shell6(0,pi,0,1,1000)p = 0.3378>> p=shell6(0,pi,0,1,10000)p = 0.3674>> p=shell6(0,pi,0,1,100000)p = 0.3610结果分析:改变了四次随机点数,结果都趋近于0.36,说明积分值约等于0.36,而且点数越多,值越接近真实积分值。II、(1)使用蒙特卡罗法分析:将x在它被允许的范围内生

10、成多个随机的数值,利用max函数可以近似地求出结果。然后做出图像,进行结果的比较。程序:function f81(n)x=unifrnd(-2*pi,2*pi,1,n);y=(1-x.2).*sin(3*x);max(y)x=-2*pi:0.001:2*pi;y=(1-x.2).*sin(3*x);plot(x,y)xlabel('x');ylabel('y');运行结果:>> f81(1000)ans = 32.3293>> f81(10000)ans = 32.4002>> f81(100000)ans = 32.4006

11、做出函数的图像,并且标出最高点的值结果分析:可以看到,蒙特卡罗法求出的最大值接近于32.4,而从图中可以看出最大值是32.33,求出的结果比较符合。II、(2)使用均值估计法分析:由于x1=x2+10,所以可以消元,使其变为两个自变量x2和x3。x2,x3在它们被允许的范围内生成多个随机的数值,利用max函数可以近似地求出结果。然后做出图像,进行结果的比较。程序:function f82(n)x2=unifrnd(10,20,1,n);x1=10+x2;x3=unifrnd(-10,20,1,n);for i=1:nif -x1(i)+2*x2(i)+2*x3(i)>=0 if x1(i

12、)+2*x2(i)+2*x3(i)<=72 y(i)=(x1(i)*(x2(i)*(x3(i); endendendmax(y)x2=10:0.1:20;x3=-5:21/100:16;X,Y=meshgrid(x2,x3);err1 = X+2*Y<10;err2 = 3*X+2*Y>62;X(err1) = nan;Y(err2) = nan;Z=X.*Y.*(X+10);surf(X,Y,Z)运行结果:>> f82(1000)ans = 3.3889e+03>> f82(10000)ans = 3.4357e+03>> f82(100

13、)ans = 3.3726e+03>> f82(100000)ans = 3.4441e+03 结果分析:可以看到,蒙特卡罗法求出的最大值接近于3400,而从图中可以看出最大值是3437,求出的结果比较符合。II、(3)使用蒙特卡罗法分析:x,y在它们被允许的范围内生成多个随机的数值,利用max函数可以近似地求出结果。然后做出图像,进行结果的比较。程序:function f83(n)x=unifrnd(-1.5,1.5,1,n);y=unifrnd(-1.5,1.5,1,n);z=(x.2+2*(y.2)+x.*y).*exp(-x.2-y.2);max(z)x=-1.5:0.1:1.5;y=-1.5:0.1:1.5;X,Y=meshgrid(x,y);Z=(X.2+2*(Y.2)+X.*Y).*exp(-X.2-Y.2);surf(X,Y,Z)运行结果:>> f83(1000)ans = 0.8105>> f83(10000)ans =0.8117 作出函数图,并且标出

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论