Vector-Matrix multiplication along third dimension

20 次查看(过去 30 天)
Hi,
we consider a N long vector (v = v1, v2, ..., vN) and a m x m x N array (A = A1, A2, ..., AN. Ai is a m x m matrix). The goal is ultimately to produce matrix B: B = v1*A1 + v2*A2 + ... + vN*AN
The trick is we may not us a for loop here. N is not known in advance. All this has to be reproduced in SIMULINK. I'm aware of the Array-Vector Multiply block in the DSP Toolbox, but we'd like to work without that toolbox.
Thank you for your help.
All the best, Guillaume

采纳的回答

Andrei Bobrov
Andrei Bobrov 2015-10-26
B = bsxfun(@times,A,reshape(v,1,1,[]));

更多回答(1 个)

GT
GT 2015-10-26
Perfect! Works very well. Thank you

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by