📅  最后修改于: 2023-12-03 14:46:01.185000             🧑  作者: Mango
numpy.hypot()
是用来计算向量两端点之间的欧几里得距离的函数。即,对于一个向量 $v$,其在笛卡尔坐标系下的两个端点分别为 $(x_1, y_1)$ 和 $(x_2, y_2)$,则其欧几里得距离为
$$dist(v) = \sqrt{(x_2 - x_1)^2 + (y_2 - y_1)^2}$$
这个函数可以接受 $n$ 个向量作为参数,会返回一个长度为 $n$ 的数组,其中每个元素分别对应了相应向量的欧几里得距离。
numpy.hypot(x, y, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])
x
为数组或标量,即向量端点的 $x$ 坐标。y
为数组或标量,即向量端点的 $y$ 坐标。out
为输出结果的可选数组。如果提供该参数,函数将按提供数组的形状写入结果。where
为一个 Boolean 数组,指定了 x
和 y
中的哪些元素将被计算。casting
设定了类型转换规则。可以取值为 "no"
,"equiv"
,"safe"
或 "same_kind"
。order
指定了数据在内存中的布局方式。dtype
指定返回数组的数据类型。subok
表示子类是否被视为和父类相同。返回一个数组,表示相应向量的欧几里得距离。
import numpy as np
vector1 = (1, 2)
vector2 = (4, 6)
distance = np.hypot(*vector1, *vector2)
print(distance)
# Output: 5.0
这里我们定义了两个向量,并使函数返回欧几里得距离。输出的结果为 $5.0$,即向量 $(1,2)$ 和向量 $(4,6)$ 之间的欧几里得距离。