NumPy 单位向量

Muhammad Maisam Abbas 2023年1月30日 2021年7月4日
  1. 使用 numpy.linalg.norm() 函数从 NumPy 数组中获取单位向量
  2. 使用自定义方法从 NumPy 数组中获取单位向量
NumPy 单位向量

本教程将讨论在 Python 中将 NumPy 数组规范化为单位向量的方法。

使用 numpy.linalg.norm() 函数从 NumPy 数组中获取单位向量

矢量是具有大小和方向的量。单位向量是大小等于 1 的向量。借助 numpy.linalg.norm() 函数,我们可以将向量归一化为其相应的单位向量。numpy.linalg 库包含许多与线性代数相关的函数。我们可以使用 numpy.linalg 中的 norm() 函数来计算向量的范数。我们可以将向量除以其范数得到向量的单位向量。

import numpy as np

vector=np.array([1,2,3])

unit_vector = vector / np.linalg.norm(vector)
print(unit_vector)

输出:

[0.26726124 0.53452248 0.80178373]

我们首先使用 numpy.array() 函数创建了向量。然后我们通过将向量除以向量的范数来计算向量的单位向量,并将结果保存在 unit_vector 中。

使用自定义方法从 NumPy 数组中获取单位向量

我们还可以在不使用 Python 中 numpy.linalg 库中的 norm() 函数的情况下计算单位向量。我们可以通过计算向量内每个元素的平方和的平方根来找到范数。然后我们可以通过将向量除以其范数来计算单位向量。请参考以下代码示例。

import numpy as np

vector=np.array([1,2,3])

unit_vector = vector / (vector**2).sum()**0.5
print(unit_vector)

输出:

[0.26726124 0.53452248 0.80178373]

我们首先使用 numpy.array() 函数创建了向量。然后我们通过将向量除以向量的范数来计算向量的单位向量,并将结果保存在 unit_vector 中。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn