Как применить свертку в MATLAB без использования функции
Свертка — это математическая операция, которая смешивает две функции относительно перекрытия одной функции, когда она смещается поверх другой. Хотя MATLAB содержит встроенную функцию свертки, дискретный интеграл свертки можно вычислить самостоятельно. Дискретная свертка двух функций f и g определяется как сумма f(j) * g(k-j) в диапазоне от 0 до j.
Шаг 1
Задайте два вектора, f и g, содержащие две функции, которые вы хотите свернуть. Длины f и g не обязательно должны быть равными. Длина результата свертки k будет на единицу меньше суммы длин f и g:
м =длина (f); п =длина (г); к =т + п - 1;
Шаг 2
Определите диапазон j, в котором будет происходить свертка. Значение j — это диапазон, в котором допустимы индексы двух сворачиваемых функций, f(j) и g(k+1-n). Значение 1, добавленное к k, должно учитывать тот факт, что MATLAB начинает индексировать векторы с 1, а не с 0:
j =макс(1,к+1-п):мин(к,м)
Шаг 3
Предварительно выделить место для результата свертки:
мой_результат =нули (к);
Шаг 4
Напишите цикл for для перебора значений k:
для результирующий_индекс =1:k
Шаг 5
Вычислите свертку для всех значений j:
my_result(k) =sum(f(j).* g(k-j+1));
Шаг 6
Закройте цикл for с помощью команды "end".