numpy.unwrap

numpy.unwrap(x, discont=3.141592653589793, axis=-1)

Функция unwrap() выполняет корректировку фазовых углов вдоль указанной оси при переходе через значение pi для предотвращения разрывов функции. Корректировка происходит путем увеличения или уменьшения значения угла на 2*pi.

Параметры:
x - подобный массиву объект
Входной массив.
discont - вещественное число, необязательный аргумент
Максимальный разрыв между значениями вдоль указанной оси, по умолчанию равен pi.
axis - целое число, необязательный аргумент
Ось по которой будет выполняться корректировка значений, по умолчанию это последняя ось.
Возвращает:
результат - массив NumPy или его подкласс
Массив откорректированных значений вдоль указанной оси входного массива.

Замечание

Параметр discont позволяет задать максимальный разрыв между значениями массива x (по умолчанию pi). Однако, если разрывы между значениями в x меньше чем pi и больше чем discont, то корректировка не выполняется, так как изменение значений на +/- 2*pi приведет к еще большим разрывам.

Смотрите так же: rad2deg, deg2rad


Примеры

>>> import numpy as np
>>> 
>>> x = np.linspace(0, np.pi, 7)
>>> x    #  Все разрывы между значениями меньше чем pi
array([0.        , 0.52359878, 1.04719755, 1.57079633, 2.0943951 ,
       2.61799388, 3.14159265])
>>> 
>>> x[2:5] += np.pi     #  Сделаем разрыв между значениями больше чем pi
>>> x
array([0.        , 0.52359878, 4.1887902 , 4.71238898, 5.23598776,
       2.61799388, 3.14159265])
>>> 
>>> x_adjust = np.unwrap(x)    #  Выполним корректировку значений массива 'x'
>>> x_adjust
array([ 0.        ,  0.52359878, -2.0943951 , -1.57079633, -1.04719755,
       -3.66519143, -3.14159265])