Метод numpy.convolve() в Python

Метод numpy.convolve() используется в Python для возврата дискретной линейной свертки двух одномерных последовательностей.

Свертку данных двух сигналов (массивов в случае numpy) можно определить как интеграл первого сигнала(массива), перевернутый, свернутый во второй сигнал(массив) и умноженный(со скалярным произведением) в точках, где векторы перекрываются.

Формула

Дискретную операцию свертки можно определить с помощью следующей функции:

Синтаксис

Параметры

Он принимает не более трех параметров:

  1. v1: array_like, первый одномерный входной массив. Имеет форму(М,)
  2. v2: array_like, второй одномерный входной массив. Имеет форму(N,)
  3. mode: {‘full’, ‘same’, ‘valid’}.

Это необязательный параметр, который имеет три различных режима, которые описаны ниже:

  • «full»: это режим по умолчанию. Это возвращает свертку в каждой точке перекрытия с выходной формой(M+N-1). В конечных точках свертки векторы v1 и v2 не перекрываются полностью, и можно увидеть граничные эффекты.
  • «same»: в ‘same’ режиме выходная последовательность имеет длину max(M, N). Граничные эффекты по-прежнему будут видны.
  • «valid»: в этом «действительном» режиме выходная последовательность имеет длину max(M,N) – min(M,N) + 1. Продукт свертки выдается только в том случае, если v1 и v2 полностью перекрываются. Значения, находящиеся за пределами границы сигнала, не влияют.

Возвращаемое значение

Метод convolve() возвращает дискретную линейную свертку одномерных векторов v1 и v2.

Пример: как использовать метод numpy.convolve()

Выход

Оцените статью

Автор статей и разработчик, делюсь знаниями.

Программирование на Python