Как рассчитать величину вектора с помощью NumPy


Величина заданного вектора x рассчитывается как:

||х|| = √ х 1 2 + х 2 2 + х 3 2 + … + х п 2

Например, предположим, что x = [3, 7, 4]

Величина будет рассчитываться как:

||х|| = √ 3 2 + 7 2 + 4 2 = √ 74 = 8,602

Вы можете использовать один из следующих двух методов для вычисления величины вектора с помощью пакета NumPy в Python:

Способ 1: используйте linalg.norm()

np.linalg.norm (v)

Способ 2: использовать пользовательские функции NumPy

np.sqrt (x. dot (x))

Оба метода вернут один и тот же результат, но второй метод, как правило, намного быстрее, особенно для больших векторов.

В следующем примере показано, как использовать каждый метод на практике.

Способ 1: используйте linalg.norm()

В следующем коде показано, как использовать функцию np.linalg.norm() для вычисления величины заданного вектора:

import numpy as np

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

#calculate magnitude of vector
np.linalg.norm (x)

21.77154105707724

Величина вектора равна 21,77 .

Способ 2: использовать пользовательские функции NumPy

В следующем коде показано, как использовать пользовательские функции NumPy для вычисления величины заданного вектора:

import numpy as np

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

#calculate magnitude of vector
np.sqrt (x. dot (x))

21.77154105707724

Величина вектора равна 21,77 .

Обратите внимание, что это соответствует значению, которое мы рассчитали с помощью предыдущего метода.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции с помощью NumPy:

Как сопоставить функцию с массивом NumPy
Как добавить столбец в массив NumPy
Как преобразовать массив NumPy в список в Python

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.