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 приведет к еще большим разрывам.
Примеры
>>> 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])