Vector-Matrix multiplication along third dimension

11 views (last 30 days)
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

Accepted Answer

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

More Answers (1)

GT
GT on 26 Oct 2015
Perfect! Works very well. Thank you

Products

Community Treasure Hunt

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

Start Hunting!