Введение
Цель этого лабораторного занятия - показать применение графиков кросс-корреляции и автокорреляции с использованием библиотеки Python Matplotlib. Кросс-корреляция и автокорреляция - математические инструменты, используемые для измерения сходства между двумя сигналами. Кросс-корреляция измеряет сходство между двумя различными сигналами, в то время как автокорреляция измеряет сходство между сигналом и его отсчетом с задержкой по времени. Эти инструменты широко используются в обработке сигналов, анализе изображений и анализе временных рядов.
Советы по работе с ВМ
После запуска ВМ перейдите в левый верхний угол и переключитесь на вкладку Notebook, чтобы приступить к практике с использованием Jupyter Notebook.
Иногда может потребоваться подождать несколько секунд, пока Jupyter Notebook полностью загрузится. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.
Если вы сталкиваетесь с проблемами при обучении, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.
Импорт библиотек
Во - первых, нам нужно импортировать необходимые библиотеки. В этом лабораторном занятии мы будем использовать NumPy и Matplotlib.
import matplotlib.pyplot as plt
import numpy as np
Генерация случайных данных
Далее мы сгенерируем два массива случайных данных с использованием NumPy. Эти массивы мы будем использовать для демонстрации кросс-корреляции и автокорреляции.
np.random.seed(19680801)
x, y = np.random.randn(2, 100)
Построение графика кросс-корреляции
Теперь мы построим график кросс-корреляции между двумя массивами с использованием функции xcorr в Matplotlib.
fig, ax = plt.subplots()
ax.xcorr(x, y, usevlines=True, maxlags=50, normed=True, lw=2)
ax.grid(True)
plt.show()
Функция xcorr принимает следующие параметры:
x: первый массив данныхy: второй массив данныхusevlines: логическое значение, определяющее, следует ли рисовать вертикальные линии от 0 до значения корреляцииmaxlags: целое число, максимальное количество лагов для вычисления корреляцииnormed: логическое значение, определяющее, следует ли нормализовать значения корреляцииlw: целое число, ширина линии для графика
Построение графика автокорреляции
Теперь мы построим график автокорреляции массива x с использованием функции acorr в Matplotlib.
fig, ax = plt.subplots()
ax.acorr(x, usevlines=True, normed=True, maxlags=50, lw=2)
ax.grid(True)
plt.show()
Функция acorr принимает следующие параметры:
x: массив данных для вычисления автокорреляцииusevlines: логическое значение, определяющее, следует ли рисовать вертикальные линии от 0 до значения корреляцииnormed: логическое значение, определяющее, следует ли нормализовать значения корреляцииmaxlags: целое число, максимальное количество лагов для вычисления корреляцииlw: целое число, ширина линии для графика
Резюме
В этом лабораторном занятии мы научились использовать графики кросс-корреляции и автокорреляции в Python Matplotlib. Сначала мы импортировали необходимые библиотеки, затем сгенерировали случайные данные с использованием NumPy. Затем мы построили графики кросс-корреляции и автокорреляции данных с использованием функций xcorr и acorr в Matplotlib. Эти инструменты полезны для измерения сходства между двумя сигналами и широко используются в обработке сигналов, анализе изображений и анализе временных рядов.