How to create a convolution matrix?

8 Ansichten (letzte 30 Tage)
Thewall
Thewall am 13 Apr. 2014
Beantwortet: patricia torres am 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...

Antworten (2)

Image Analyst
Image Analyst am 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 am 27 Apr. 2019
M = convmtx(a,length(a));

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by