МАТЛАБ садржи унапред изграђену функцију конволуције.
Кредит за слику: Тхинкстоцк Имагес/Цомстоцк/Гетти Имагес
Конволуција је математичка операција која спаја две функције у односу на преклапање једне функције док се она помера преко друге. Иако МАТЛАБ садржи унапред изграђену функцију конволуције, могуће је сами израчунати дискретни конволуцијски интеграл. Дискретна конволуција две функције ф и г је дефинисана као збир у опсегу од 0 до ј од ф (ј) * г (к-ј).
Корак 1
Дефинишите два вектора, ф и г, који садрже две функције које желите да конволвирате. Дужине ф и г не морају бити једнаке. Дужина резултата конволуције, к, биће за један мањи од збира дужине ф и г:
Видео дана
м = дужина (ф); н = дужина (г); к = м + н - 1;
Корак 2
Дефинишите опсег ј преко којег ће се десити конволуција. Вредност ј је опсег где су индекси две функције које треба конволвирати, ф (ј) и г (к+1-н), дозвољени. Вредност 1 додата к је да узме у обзир чињеницу да МАТЛАБ почиње да индексира векторе на 1 уместо на 0:
ј = мак (1,к+1-н):мин (к, м)
Корак 3
Унапред додијелите простор за резултат конволуције:
мој_резултат = нуле (к);
Корак 4
Напишите фор петљу за понављање кроз вредности к:
за индекс_резултата = 1:к
Корак 5
Израчунајте конволуцију за све вредности ј:
мој_резултат (к) = сума (ф(ј) .* г (к-ј+1));
Корак 6
Затворите фор петљу командом "енд".