How to create a convolution matrix?
Show older comments
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
on 13 Apr 2014
0 votes
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
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!