How do I multiply matrices having elements as vectors?

5 vues (au cours des 30 derniers jours)
Sameer
Sameer le 2 Juin 2015
Commenté : Adam le 2 Juin 2015
A*B doesn't work A.*B doesn't work either since it multiplies them element by element
  3 commentaires
Sameer
Sameer le 2 Juin 2015
Modifié(e) : Sameer le 2 Juin 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
Adam
Adam le 2 Juin 2015
So what is your expected result?

Connectez-vous pour commenter.

Réponses (1)

Matthew Eicholtz
Matthew Eicholtz le 2 Juin 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'

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by