当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。