📜  QA – 安置测验|概率|问题 14(1)

📅  最后修改于: 2023-12-03 15:04:43.567000             🧑  作者: Mango

QA – 安置测验|概率|问题 14

问题描述

有两个人站在单位边长为 $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 模块用于数值积分。具体的步骤如下:

  1. 定义函数 $f(\rho)$,用于计算 $f(\rho)$ 的值。
  2. 定义变量 $E$,用于累加积分结果。
  3. 使用 for 循环,枚举 $\theta$ 的取值,从 $0$ 到 $360$,步长为 $1$,转换为弧度制进行计算。
  4. 调用 quad 函数,对 $f(\rho) * \rho$ 在 $[0,1]$ 上进行积分,得到积分结果。
  5. 将积分结果累加到变量 $E$ 中。
  6. 最后,将变量 $E$ 除以 $360$,得到距离的期望值。

注:本文中涉及到的数学公式无法正确显示,请查阅截图或使用 Markdown 预览工具查看。