Функция np.correlate() в Python — что делает

Python numpy.correlate(v1,v2, mode) выполняет свертку массива v1 с обращением массива v2 и дает результат, обрезанный с использованием одного из трех указанных режимов.

Что такое функция np.correlate() в Python?

Метод numpy.correlate() в Python используется для поиска взаимной перекрестной корреляции между двумя одномерными векторами. Функция np.correlate(), которая вычисляет корреляцию, как обычно определено в тексте с одиночной обработкой, задается как: c_{v1v2} [k] = sum_n v1[n+k] * conj(v2[n]) с последовательностями v1 и v2, при необходимости дополняется нулями, а conj является сопряженным.

Синтаксис

Параметры

Функция numpy.correlate() принимает не более четырех параметров:

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

В случае, если old_behavoiur принимает значение true из числового значения(correlate(v1, v2) == correct(v2, v1), сопряжение не берется для сложных массивов. В противном случае, если old_behavoiur принимает значение false из числового значения, тогда используется обычное определение обработки сигналов.

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

Метод numpy.correlate() возвращает взаимную корреляцию одномерных векторов v1 и v2.

Примеры программ с функцией numpy.correlate()

Пример 1

Программа для демонстрации работы метода numpy.correlate():

Выход

Объяснение.

Мы взяли два одномерных входных вектора с именами v1 и v2. Затем мы отобразили выходные данные, отобразив значение взаимной корреляции, используя каждый из трех различных режимов.

Пример 2

Посмотрим, как можно использовать метод np.correlate() для получения обращенного во времени комплексно-сопряженного результата, когда мы меняем порядок двух последовательностей:

Выход

Объяснение.

После печати результата в исходной последовательности, а затем его печати после изменения порядка последовательности, мы можем убедиться, что метод np.correlate() можно использовать для получения комплексно-сопряженного результата с обращенным временем.

Результат может быть выражен с помощью функции как:

c_{v2v1} [k] = c^{*} {v1v2} [-k].

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

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

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