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