Issues in Matrix multiplication

4 views (last 30 days)
Nikolaos Zafirakis
Nikolaos Zafirakis on 16 Apr 2019
Edited: Matt J on 16 Apr 2019
I have 100 6 by 6 matrices and 100 6 by 1 matrices and I want to multiply them. If I do X=A.*B it does not give me the correct solution. Does anyone know a way around this?

Answers (2)

Matt J
Matt J on 16 Apr 2019
Edited: Matt J on 16 Apr 2019
A somewhat less efficient solution (but which uses no 3rd party files) is,
A=rand(6,6,100);
B=rand(6,1,100);
C=sum( A.*reshape(B,1,6,[]) ,2);

Matt J
Matt J on 16 Apr 2019
Edited: Matt J on 16 Apr 2019
Use mtimesx from the File Exchange
Example:
A=rand(6,6,100);
B=rand(6,1,100);
C=mtimesx(A,B);

Categories

Find more on Operating on Diagonal Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!