1 定积分的计算定积分的计算是Monte Carlo方法引入计算数学的开端,在实际问题中,许多需要计算多重积分的复杂问题,用Monte Carlo方法一般都能够很有效地予以解决,尽管Monte Carlo方法计算结果的精度不很高,但它能很快提供出一个低精度的模拟结果也是很有价值的。而且,在多重积分中,由于Monte Carlo方法的计算误差与积分重数无关,因此它比常用的均匀网格求积公式要优越。
1.1 问题1求二重积分
1.2 求解根据积分的几何意义, 它是以 为曲面顶, 以 为底的柱体 的体积。用下列简单思路求 的近似值, 被包含在长方体 的内部, 长方体 的体积为 4 。
而 是 所围成的区域。
若在 内产生均匀分布的 个点, 有 个点落 在 的内部。由频率近似于概率, 得到在 内任取一点, 落在 内的概率 所以 , 计算得 。
代码 from numpy.random import uniform import numpy as np N=10000000; x=uniform(-1,1,size=N) y=uniform(-1,1,N); z=uniform(0,1,N) n=np.sum((x**2+y**2<=1) & (z>=0) & (z<=np.sqrt(1-x**2))) I=n/N*4; print("I的近似值为:",I)
I的近似值为:2.6670568
来源: |