Spec-Zone.ru › NumPy 2.0

numpy.unwrap

numpy.unwrap(p, discont=None, axis=-1, *, period=6.283185307179586)[source]

Распаковка сигнала, с помощью дополнения больших дельт относительно периода.

Это распаковывает сигнал p, изменяя элементы, у которых абсолютное различие с предшествующим элементом больше, чем max(discont, period/2), на их period-дополнительные значения.

В случае по умолчанию, где period равно \(2\pi\), а discont равно \(\pi\), это распаковывает фазу в радианах p, так что соседние разности никогда не превышают \(\pi\) путем добавления \(2k\pi\) для некоторого целого числа \(k\).

Параметры:
parray_like

Входной массив.

discontfloat, необязательно

Максимальное различие между значениями, по умолчанию period/2. Значения ниже period/2 обрабатываются так, как если бы они были period/2. Чтобы получить эффект, отличающийся от значения по умолчанию, discont должно быть больше, чем period/2.

axisint, необязательно

Ось, вдоль которой будет выполняться распаковка, по умолчанию последняя ось.

periodfloat, необязательно

Размер диапазона, по которому входной сигнал перематывается. По умолчанию это 2 pi.

Введено в версии 1.21.0.

Возвращает:
outndarray

Выходной массив.

См. также

rad2deg, deg2rad

Примечания

Если разрыв в p меньше, чем period/2, но больше, чем discont, распаковка не выполняется, поскольку взятие дополнения только увеличит разрыв.

Примеры

>>> phase = np.linspace(0, np.pi, num=5)
>>> phase[3:] += np.pi
>>> phase
array([ 0.        ,  0.78539816,  1.57079633,  5.49778714,  6.28318531]) # may vary
>>> np.unwrap(phase)
array([ 0.        ,  0.78539816,  1.57079633, -0.78539816,  0.        ]) # may vary
>>> np.unwrap([0, 1, 2, -1, 0], period=4)
array([0, 1, 2, 3, 4])
>>> np.unwrap([ 1, 2, 3, 4, 5, 6, 1, 2, 3], period=6)
array([1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> np.unwrap([2, 3, 4, 5, 2, 3, 4, 5], period=4)
array([2, 3, 4, 5, 6, 7, 8, 9])
>>> phase_deg = np.mod(np.linspace(0 ,720, 19), 360) - 180
>>> np.unwrap(phase_deg, period=360)
array([-180., -140., -100.,  -60.,  -20.,   20.,   60.,  100.,  140.,
        180.,  220.,  260.,  300.,  340.,  380.,  420.,  460.,  500.,
        540.])

© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.unwrap.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API