考虑K重积分 I = ∭ Ω . . ∫ f ( x 1 , x 2 , . . . , x k ) d x 1 d x 2 . . d x k I=\iiint\limits_Ω..\int f(x_1,x_2,...,x_k)dx_1dx_2..dx_k I=Ω∭..∫f(x1,x2,...,xk)dx1dx2..dxk ,选取Ω范围内概率密度函数 g ( x 1 , x 2 , x 3 , . . . , x k ) g(x_1,x_2,x_3,...,x_k) g(x1,x2,x3,...,xk),则 I I I 可以进行以下转换:
I = ∭ Ω . . ∫ f ( x 1 , x 2 , x 3 , . . . , x k ) g ( x 1 , x 2 , x 3 , . . . , x k ) g ( x 1 , x 2 , x 3 , . . . , x k ) d x 1 d x 2 d x 3 . . . d x k = E ( f ( x 1 , x 2 , x 3 , . . . , x k ) g ( x 1 , x 2 , x 3 , . . . , x k ) ) \begin{aligned} I&=\iiint\limits_Ω..\int \dfrac{f(x_1,x_2,x_3,...,x_k)}{g(x_1,x_2,x_3,...,x_k)}g(x_1,x_2,x_3,...,x_k)dx_1dx_2dx_3...dx_k \\ &=E(\dfrac{f(x_1,x_2,x_3,...,x_k)}{g(x_1,x_2,x_3,...,x_k)}) \end{aligned} I=Ω∭..∫g(x1,x2,x3,...,xk)f(x1,x2,x3,...,xk)g(x1,x2,x3,...,xk)dx1dx2dx3...dxk=E(g(x1,x2,x3,...,xk)f(x1,x2,x3,...,xk))令 F ( x 1 , x 2 , x 3 , . . . , x k ) = f ( x 1 , x 2 , x 3 , . . . , x k ) g ( x 1 , x 2 , x 3 , . . . , x k ) F(x_1,x_2,x_3,...,x_k)=\dfrac{f(x_1,x_2,x_3,...,x_k)}{g(x_1,x_2,x_3,...,x_k)} F(x1,x2,x3,...,xk)=g(x1,x2,x3,...,xk)f(x1,x2,x3,...,xk) ,则
I = E ( F ( x 1 , x 2 , x 3 , . . . , x k ) ) I= E(F(x_1,x_2,x_3,...,x_k)) I=E(F(x1,x2,x3,...,xk))
根据辛钦大数定律,设随机变量X1,X2,X3…Xk,相互独立服从同一分布,且具有数学期望 E ( X k ) = μ ( k = 1 , 2 , 3... ) E(X_k)=μ(k=1,2,3...) E(Xk)=μ(k=1,2,3...),则对于任何正数 ε \varepsilon ε,有: lim n → ∞ P { ∣ 1 n ∑ k = 1 n X k − μ ∣ < ε } = 1 \lim\limits_{n\to ∞}P\{|\dfrac{1}{n}\sum\limits_{k=1}^{n}X_k-μ|<\varepsilon\}=1 n→∞limP{ ∣n1k=1∑nXk−μ∣<ε}=1
所以 I = E ( F ( x 1 , x 2 . . , x k ) ) = 1 n ∑ i = 1 n F ( x 1 i , x 2 i . . . , x k i ) I=E(F(x_1,x_2..,x_k))=\dfrac{1}{n}\sum\limits_{i=1}^nF(x_{1i},x_{2i}...,x_{ki}) I=E(F(x1,x2..,xk))=n1i=1∑nF(x1i,x2i...,xki)
简化: 取 g ( x 1 , x 2 , x 3 , . . . , x k ) = 1 V Ω , ( x 1 , x 2 , . . . , x k ) ϵ Ω g(x_1,x_2,x_3,...,x_k)=\dfrac{1}{V_Ω},(x_1,x_2,...,x_k)\epsilonΩ g(x1,x2,x3,...,xk)=VΩ1,(x1,x2,...,xk)ϵΩ 服从K维均匀分布,则:
I = E ( F ( x 1 , x 2 , x 3 , . . . , x k ) ) = E ( f ( x 1 , x 2 , x 3 , . . . , x k ) g ( x 1 , x 2 , x 3 , . . . , x k ) = V Ω n ∑ i = 1 n f ( x 1 i , x 2 i , x 3 i . . . , x k i ) \begin{aligned} I&=E(F(x_1,x_2,x_3,...,x_k)) \\ &=E(\dfrac{f(x_1,x_2,x_3,...,x_k)}{g(x_1,x_2,x_3,...,x_k)} \\ &=\dfrac{V_Ω}{n}\sum\limits_{i=1}^nf(x_{1i},x_{2i},x_{3i}...,x_{ki}) \end{aligned} I=E(F(x1,x2,x3,...,xk))=E(g(x1,x2,x3,...,xk)f(x1,x2,x3,...,xk)=nVΩi=1∑nf(x1i,x2i,x3i...,xki)
题目: 请使用概率统计知识求解以下积分的近似值
∫ 1 3 ∫ 2 4 ∫ 3 6 ( x e − y 2 + z 2 + x y z ) d x d y d z ≈ 324 ± 2.9 ∗ 1 0 − 7 \int_1^3\int_2^4\int_3^6(xe^{-{y^2+z^2}}+xyz)dxdydz\approx324\pm2.9*10^{-7} ∫13∫24∫36(xe−y2+z2+xyz)dxdydz≈324±2.9∗10−7
#---------代码块---------
f=function(x,y,z) x*exp(-(y^2+z^2))+x*y*z
arr=array(1:1000) #创建一维数组,长度1000
x1=3;x2=6
y1=2;y2=4
z1=1;z2=3
v=(x2-x1)*(y2-y1)*(z2-z1) #空间体积
for(i in 1:1000) #循环运算结果1000次,存入数组
{
r1=runif(10^5,min=x1,max=x2) #生成均匀分布随机数 x
r2=runif(10^5,min=y1,max=y2) #生成均匀分布随机数 y
r3=runif(10^5,min=z1,max=z2) #生成均匀分布随机数 z
h=f(r1,r2,r3)
out=v*mean(h) #计算得到的积分值
arr[i]=out #将积分值存入数组
}
print(mean(arr)) #输出计算1000次积分值后的平均值
#---------运行结果---------
[1] 324.0016
下面给出通用代码模板
fun=function(x) x[1]*exp(-x[2]^2-x[3]^2)+x[1]*x[2]*x[3]
start=c(1,2,3);end=c(3,4,6);n=10^5 #分别存放各个变量的起始值和结束值
simulation=function(fun,start,end,n)
{
V=prod(end-start); #(3-1)*(4-2)*(6-4)=12 求体积
mat=matrix(0,nrow=n,ncol=length(start)) #n行3列矩阵,初值各元素为0
for(i in 1:length(start)) #为每一列既3个变量生成随机数
mat[,i]=runif(n,min=start[i],max=end[i])
mean(apply(mat,1,fun))*V #将矩阵的n行值代入fun中计算后取平均值最后乘以体积
}
simulation(fun,start,end,n)