How to create a convolution matrix?

4 views (last 30 days)
Thewall
Thewall on 13 Apr 2014
Answered: patricia torres on 27 Apr 2019
Hello all,
I have a matrix like this
a=[1 2 3]
For convolution I reversed the matrix a=[3 2 1]
Then, to multiply this matrix with another matrix, I should shift the and get like this one
M=[1 0 0; 2 1 0; 3 2 1; 0 3 2; 0 0 3;]
How can I get this matrix ? Please help...

Answers (2)

Image Analyst
Image Analyst on 13 Apr 2014
A for loop, and fliplr() and circshift() should get it for you. Give it a try first - it will be a good learning experience. It's not hard. Come back if it's too hard for you and you really really need us to do it 100% for you and it's not homework.

patricia torres
patricia torres on 27 Apr 2019
M = convmtx(a,length(a));

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!