當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python numpy unwrap用法及代碼示例


本文簡要介紹 python 語言中 numpy.unwrap 的用法。

用法:

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

通過對周期取大增量的補碼來展開。

這解開一個信號p通過更改與其前身有絕對差異的元素max(discont, period/2)對他們時期-互補值。

對於默認情況時期\(2\pi\) 不滿\(\pi\) , 這展開了一個弧度相位p使得相鄰的差異永遠不會大於\(\pi\) 通過增加\(2k\pi\) 對於某個整數\(k\) .

參數

p array_like

輸入數組。

discont 浮點數,可選

值之間的最大不連續性,默認為period/2.下麵的值period/2被視為period/2.要產生不同於默認值的效果,不滿應該大於period/2.

axis 整數,可選

展開將沿其運行的軸,默認為最後一個軸。

period: float, optional

輸入環繞的範圍的大小。默認情況下,它是 2 pi

返回

out ndarray

輸出數組。

注意

如果不連續p小於period/2, 但大於不滿,沒有展開,因為取補隻會使不連續性變大。

例子

>>> 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.])

相關用法


注:本文由純淨天空篩選整理自numpy.org大神的英文原創作品 numpy.unwrap。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。