scipy.spatial.distance.

minkowski#

scipy.spatial.distance.minkowski(u, v, p=2, w=None)[source]#

计算两个一维数组之间的闵可夫斯基距离。

一维数组 uv 之间的闵可夫斯基距离定义为

\[ \begin{align}\begin{aligned}{\|u-v\|}_p = (\sum{|u_i - v_i|^p})^{1/p}.\\\left(\sum{w_i(|(u_i - v_i)|^p)}\right)^{1/p}.\end{aligned}\end{align} \]
参数:
u(N,) array_like

输入数组。

v(N,) array_like

输入数组。

p标量

差的范数的阶数 \({\|u-v\|}_p\)。请注意,对于 \(0 < p < 1\),三角不等式仅在具有附加乘法因子时才成立,即它只是一个拟度量。

w(N,) array_like, 可选

uv 中每个值的权重。默认值为 None,它为每个值赋予 1.0 的权重。

返回值:
minkowski双精度浮点数

向量 uv 之间的闵可夫斯基距离。

示例

>>> from scipy.spatial import distance
>>> distance.minkowski([1, 0, 0], [0, 1, 0], 1)
2.0
>>> distance.minkowski([1, 0, 0], [0, 1, 0], 2)
1.4142135623730951
>>> distance.minkowski([1, 0, 0], [0, 1, 0], 3)
1.2599210498948732
>>> distance.minkowski([1, 1, 0], [0, 1, 0], 1)
1.0
>>> distance.minkowski([1, 1, 0], [0, 1, 0], 2)
1.0
>>> distance.minkowski([1, 1, 0], [0, 1, 0], 3)
1.0