How to efficiently calculate a weighted sum of 3 dimensional matrix through a vector in matlab
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hancheng Zhu
el 17 de Nov. de 2023
Comentada: Matt J
el 20 de Nov. de 2023
A is a 3 dimensional matrix (M*N*K), b is a vector with length K. I need to calculate
, which is a 2 dimensional matrix (M*N). But i don't want to write it by a explicit summation because it is too slow. Is there any way to calculate it efficiently through matlab? Please attach the code if convenience.
3 comentarios
Matt J
el 20 de Nov. de 2023
@Hancheng Zhu If that means you've settled on one of the answers below, please Accept-click one of them.
Respuesta aceptada
Bruno Luong
el 17 de Nov. de 2023
Editada: Bruno Luong
el 17 de Nov. de 2023
This uses matrix multiplication so it should be well optimized and fast.
[m,n] = size(A, [1 2]);
C = reshape(A,m*n, []) * B(:);
C = reshape(C, m, n);
0 comentarios
Más respuestas (1)
Ver también
Categorías
Más información sobre Logical 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!