Numpy を使用してベクトルの大きさを計算する方法


指定されたベクトル x のノルムは次のように計算されます。

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

たとえば、x = [3, 7, 4] と仮定します。

大きさは次のように計算されます。

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

Python のNumPyパッケージを使用してベクトルの大きさを計算するには、次の 2 つの方法のいずれかを使用できます。

方法 1: linalg.norm() を使用する

 n.p. linalg . norm (v)

方法 2: カスタム NumPy 関数を使用する

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

どちらのメソッドもまったく同じ結果を返しますが、特に大きなベクトルの場合、2 番目のメソッドの方がはるかに高速になる傾向があります。

次の例は、各メソッドを実際に使用する方法を示しています。

方法 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配列に列を追加する方法
NumPy 配列を Python のリストに変換する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です