Convolution of every row in matrix.
6 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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
0 comentarios
Respuestas (1)
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
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.
Ver también
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!