Vector-Matrix multiplication along third dimension

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 日

2 投票

B = bsxfun(@times,A,reshape(v,1,1,[]));

その他の回答 (1 件)

GT
GT 2015 年 10 月 26 日

0 投票

Perfect! Works very well. Thank you

カテゴリ

質問済み:

GT
2015 年 10 月 26 日

回答済み:

GT
2015 年 10 月 26 日

Community Treasure Hunt

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

Start Hunting!

Translated by