NumPy hypot() 函数
NumPy hypot() 函数用于计算二维平面中两点 (x, y) 之间的欧氏距离(或斜边)。它计算两个数组或标量中每对对应元素的 sqrt(x2 + y2) 值。
此函数通常用于计算几何中两点之间的距离或计算二维向量的幅值。
- 定义域:该函数接受两个数组或标量作为输入,分别表示点的 x 和 y 坐标。两个输入都可以是标量、数组或两者的组合。定义域为所有实数。
- 范围:输出值为非负实数,表示欧氏距离或量级。
语法
以下是 NumPy hypot() 函数的语法 -
numpy.hypot(x, y, /, out=None, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])
参数
此函数接受以下参数 -
- x: 表示 x 坐标的第一个输入数组或标量点。
- y: 表示点的 y 坐标的第二个输入数组或标量。
- out(可选): 存储结果的位置。如果提供,则必须具有输入广播到的形状。如果未提供或为 None,则返回一个新分配的数组。
- where(可选): 此条件通过输入进行广播。在条件为 True 的位置,将计算结果。否则,结果将保留其原始值。
- casting(可选): 控制可能发生的数据类型转换。默认为"same_kind"。
- order(可选): 控制结果的内存布局顺序。 'C' 表示 C 阶,'F' 表示 Fortran 阶,'A' 表示如果输入均为 F 则为 'F',否则为 'C','K' 表示尽可能匹配输入的布局。
- dtype(可选): 返回数组的类型以及处理元素的累加器的类型。除非指定 dtype,否则默认使用 x 和 y 的 dtype。
- subok(可选): 如果为 True,则将传递子类,否则返回的数组将被强制为基类数组。
返回值
此函数返回一个数组,其中每个元素都是根据输入数组中相应元素对 (x, y) 计算出的欧氏距离(或斜边)。结果表示二维平面上点 (x, y) 之间的距离。
示例:hypot() 函数的基本用法
在以下示例中,我们使用 hypot() 函数计算两个一维数组中点 (x, y) 之间的欧氏距离 -
import numpy as np # 为 x 和 y 创建两个一维数组 x = np.array([3, 4, 5]) y = np.array([4, 3, 12]) # 对每对 (x, y) 应用 hypot result = np.hypot(x, y) print(result)
得到的输出将是 -
[ 5. 5. 13.]
示例:带标量的斜边
在本例中,我们计算标量值的欧氏距离(斜边)-
import numpy as np # x 和 y 的标量值 x = 3 y = 4 # 对标量值应用斜边 result = np.hypot(x, y) print(result)
得到的输出为 -
5.0
示例:不同形状数组的斜边
在本例中,我们计算不同形状数组的欧氏距离。 NumPy 将在执行操作之前广播数组以使其具有兼容的形状 -
import numpy as np # 为 x 和 y 创建一维数组 x = np.array([1, 2, 3]) y = np.array([4, 5, 6]) # 对每对 (x, y) 应用 hypot result = np.hypot(x, y) print(result)
这将产生以下结果 -
[4.12310563 5.38516481 6.70820393]
示例:包含负值的斜边
在此示例中,我们计算包含负值的数组的欧氏距离。该函数可以正确处理负值,因为距离始终为非负值 -
import numpy as np # x 和 y 的负值 x = np.array([-3, -4, -5]) y = np.array([4, 3, 12]) # 对每对 (x, y) 应用 hypot result = np.hypot(x, y) print(result)
这将产生以下结果 -
[ 5. 5. 13.]
numpy_trigonometric_functions.html