How do I multiply matrices having elements as vectors?

2 views (last 30 days)
A*B doesn't work A.*B doesn't work either since it multiplies them element by element
  3 Comments
Sameer
Sameer on 2 Jun 2015
Edited: Sameer on 2 Jun 2015
a=1:1000;
A=[a 2*a;a 2*a];
B=[2*a a;a a];
C=A*B %Error using *
%Inner matrix dimensions must agree.
D= A.*B % multiplies element by element which I don't want

Sign in to comment.

Answers (1)

Matthew Eicholtz
Matthew Eicholtz on 2 Jun 2015
If I understand the question correctly, you are asking how to multiply two vectors of the same size.
Without loss of generality, let's assume A and B are 1x10 vectors. A*B will not work because the inner dimensions do not match (1x10 * 1x10). A.*B will only multiply each pair of elements as you noticed, yielding a 1x10 result.
Two potential solutions:
  1. dot(A,B)
  2. A*B'

Categories

Find more on Creating and Concatenating 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!