📜  Python numpy.hypot()(1)

📅  最后修改于: 2023-12-03 14:46:01.185000             🧑  作者: Mango

Python numpy.hypot()


简介

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 数组,指定了 xy 中的哪些元素将被计算。
  • 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)$ 之间的欧几里得距离。