zoukankan      html  css  js  c++  java
  • numpy.convolve()

    卷积函数:

    numpy.convolve(avmode='full')

    Parameters:

    a : (N,) array_like

    First one-dimensional input array.

    v : (M,) array_like

    Second one-dimensional input array.

    mode : {‘full’, ‘valid’, ‘same’}, optional

    ‘full’:

    By default, mode is ‘full’. This returns the convolution at each point of overlap, with an output shape of (N+M-1,). At the end-points of the convolution, the signals do not overlap completely, and boundary effects may be seen.

    ‘same’:

    Mode ‘same’ returns output of length max(M, N). Boundary effects are still visible.

    ‘valid’:

    Mode ‘valid’ returns output of length max(M, N) min(M, N) 1. The convolution product is only given for points where the signals overlap completely. Values outside the signal boundary have no effect.

    Returns:

    out : ndarray

    Discrete, linear convolution of a and v.

    The discrete convolution operation is defined as

    (a * v)[n] = sum_{m = -infty}^{infty} a[m] v[n - m]

    It can be shown that a convolution x(t) * y(t) in time/space is equivalent to the multiplication X(f) Y(f)in the Fourier domain, after appropriate padding (padding is necessary to prevent circular convolution). Since multiplication is more efficient (faster) than convolution, the function scipy.signal.fftconvolveexploits the FFT to calculate the convolution of large data-sets.

    Note how the convolution operator flips the second array before “sliding” the two across one another:

    >>>
    >>> np.convolve([1, 2, 3], [0, 1, 0.5])
    array([ 0. ,  1. ,  2.5,  4. ,  1.5])
    

    Only return the middle values of the convolution. Contains boundary effects, where zeros are taken into account:

    >>>
    >>> np.convolve([1,2,3],[0,1,0.5], 'same')
    array([ 1. ,  2.5,  4. ])
    

    The two arrays are of the same length, so there is only one position where they completely overlap:

    >>>
    >>> np.convolve([1,2,3],[0,1,0.5], 'valid')
    array([ 2.5])
  • 相关阅读:
    JavaScript中函数和构造函数的区别
    如何使用less(变量,混合,匹配,运算,嵌套...)
    sublime text3 最常用的快捷键及插件
    ReentrantLock实现原理
    揭密FutureTask
    消息队列设计精要(转)
    漫谈MySql中的事务
    浅析Spring AOP
    理解java动态代理
    理解tomcat之搭建简易http服务器
  • 原文地址:https://www.cnblogs.com/data-ccz/p/6133814.html
Copyright © 2011-2022 走看看