Convolution of every row in matrix.

6 visualizaciones (últimos 30 días)
Calle Swedhag
Calle Swedhag el 30 de Nov. de 2016
Comentada: Andrei Bobrov el 30 de Nov. de 2016
I need to find a way to convolute rows of a matrix together into a single vector. For example: If I have a matrix A = [1,2;3,4;5,6] need a function that will produce a vector B = conv(conv(A(1,:) , A(2,:)), A(3,:))
Is there any function that could do that? If no, could someone help me write a loop to do it for me?
Thanks

Respuestas (1)

Andrei Bobrov
Andrei Bobrov el 30 de Nov. de 2016
Editada: Andrei Bobrov el 30 de Nov. de 2016
A = reshape(1:6,2,[])';
[m,n] = size(A);
B = zeros(1,m*(n-1)+1);
B(1:n) = A(1,:);
for ii = 1:size(A,1)-1
B(1:n-ii+ii*n) = conv(B(1:ii*n-ii+1),A(ii+1,:));
end
  6 comentarios
Image Analyst
Image Analyst el 30 de Nov. de 2016
Convolution is not multiplying poynomials together. What your nested convolution will produce is a gigantic Gaussian. That's what the central limit theorem guarantees. Any function(s), almost no matter what shape, if convolved more than about 5 or 6 times will look very close to a Gaussian.
Andrei Bobrov
Andrei Bobrov el 30 de Nov. de 2016
I corrected my answer.

Iniciar sesión para comentar.

Categorías

Más información sobre Polynomials en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by