如何使用 numpy 计算向量的大小


给定向量 x 的范数计算如下:

||x|| = √ x 1 2 + x 2 2 + x 3 2 + … + x n 2

例如,假设 x = [3, 7, 4]

幅度计算如下:

||x|| = √ 3 2 + 7 2 + 4 2 = √ 74 = 8.602

您可以使用 Python 中的NumPy包使用两种方法之一来计算向量的大小:

方法1:使用linalg.norm()

 n.p. linalg . norm (v)

方法 2:使用自定义 NumPy 函数

 n.p. sqrt ( x.dot (x))

两种方法都会返回完全相同的结果,但第二种方法往往要快得多,特别是对于大向量。

以下示例展示了如何在实践中使用每种方法。

方法1:使用linalg.norm()

以下代码演示了如何使用np.linalg.norm()函数来计算给定向量的大小:

 import numpy as np

#definevector
x = np. array ([3, 6, 6, 4, 8, 12, 13])

#calculate magnitude of vector
n.p. linalg . norm (x)

21.77154105707724

矢量的大小是21.77

方法 2:使用自定义 NumPy 函数

以下代码演示了如何使用自定义 NumPy 函数来计算给定向量的大小:

 import numpy as np

#definevector
x = np. array ([3, 6, 6, 4, 8, 12, 13])

#calculate magnitude of vector
n.p. sqrt ( x.dot (x))

21.77154105707724

矢量的大小是21.77

请注意,这与我们使用之前的方法计算出的值相匹配。

其他资源

以下教程解释了如何使用 NumPy 执行其他常见操作:

如何将函数映射到 NumPy 数组
如何向 NumPy 数组添加列
如何在 Python 中将 NumPy 数组转换为列表

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注