📅  最后修改于: 2023-12-03 15:04:43.567000             🧑  作者: Mango
有两个人站在单位边长为 $1$ 的正方形的两个随机的位置上,一个人的位置用 $X_1$ 和 $Y_1$ 表示,另一个人的位置用 $X_2$ 和 $Y_2$ 表示。请计算两个人之间的距离的期望值。
根据两点间距离公式,可以求出两个人之间的距离:
$$d = \sqrt{(X_1-X_2)^2 + (Y_1-Y_2)^2}$$
其中,$d$ 为距离。
我们需要求的是 $d$ 的期望值。根据期望的定义,可以得出:
$$E(d) = \iint_S d p(x,y) dx dy$$
其中,$S$ 表示正方形 $[0,1] \times [0,1]$,$p(x,y)$ 表示两个人的位置概率分布函数。由于两个人的位置是随机的,因此可以假定其满足均匀分布,即 $p(x,y) = 1$。因此,上述式子可以简化为:
$$E(d) = \iint_S d dx dy$$
接下来,我们需要求解该二重积分。因为 $d$ 的值不为定值,因此无法用常规的积分方式求解。但是,我们可以转换为极坐标系,将 $d$ 表达为 $\rho$ 的函数,即 $d = f(\rho)$,其中 $f(\rho) = \sqrt{\rho^2 + \rho^2 - 2\rho \cos \theta}$。代入原式,可得:
$$E(d) = \int_0^{2\pi}\int_0^1 f(\rho) \rho d\rho d\theta$$
现在,我们只需要解决该二重积分的计算问题。
import math
def f(rho):
return math.sqrt(rho**2 + rho**2 - 2*rho*math.cos(theta))
E = 0
for theta in range(0, 360):
theta = math.radians(theta)
integral = quad(lambda rho: f(rho) * rho, 0, 1)
E += integral[0]
E /= 360
代码中用到了 Python 的 math 模块和 scipy.integrate 模块。其中 math 模块用于数学计算,scipy.integrate 模块用于数值积分。具体的步骤如下:
注:本文中涉及到的数学公式无法正确显示,请查阅截图或使用 Markdown 预览工具查看。