Як застосувати згортку в MATLAB без використання функції

Крупний план математичного рівняння

MATLAB містить попередньо вбудовану функцію згортки.

Авторство зображення: Thinkstock Images/Comstock/Getty Images

Згортка — це математична операція, яка змішує дві функції щодо перекриття однієї функції, коли вона зміщується над іншою. Хоча MATLAB містить попередньо вбудовану функцію згортки, можна самостійно обчислити дискретний інтеграл згортки. Дискретна згортка двох функцій f і g визначається як сума в діапазоні від 0 до j f (j) * g (k-j).

Крок 1

Визначте два вектори, f і g, що містять дві функції, які потрібно згорнути. Довжини f і g не повинні бути рівними. Довжина результату згортки k буде на одиницю меншою за суму довжин f і g:

Відео дня

m = довжина (f); n = довжина (г); k = m + n - 1;

Крок 2

Визначте діапазон j, в якому буде відбуватися згортка. Значення j – це діапазон, у якому індекси двох функцій, які потрібно згорнути, f (j) і g (k+1-n), є допустимими. Значення 1, додане до k, має враховувати той факт, що MATLAB починає індексувати вектори з 1, а не з 0:

j = max (1,k+1-n):min (k, m)

Крок 3

Попередньо розподіліть місце для результату згортки:

мій_результат = нулі (k);

Крок 4

Напишіть цикл for для ітерації значень k:

для результату_індекс = 1:k

Крок 5

Обчисліть згортку для всіх значень j:

мій_результат (k) = сума (f(j) .* g (k-j+1));

Крок 6

Закрийте цикл for за допомогою команди «end».