How to create a convolution matrix?

8 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));

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!