dot product for complex vector
37 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Charles Nguyen
le 16 Juin 2019
Réponse apportée : John D'Errico
le 16 Juin 2019
Hello,
In the Matlab example, you have the dot product of the following two vectors A and B and its answer is vector C.
A = [1+i 1-i -1+i -1-i];
B = [3-4i 6-2i 1+2i 4+3i];
Calculate the dot product of A and B.
C = dot(A,B)
C = 1.0000 - 5.0000i
However, when I calculate it, I have vector C = 7 - 17i
That is, I have C vector results as follows below
(1+i) * (3-4i) + (1-i) * (6-2i) + (-1+i) * (1+2i) + (-1-i) * (4+3i) =
(7-i) +( 4-8i) + (-3-i) + (-1-7i) =
7 - 17i.
Hence, could you please tell me how the Matlab got the results (or show me manually how Matlab got the dot product answer) as I have different results than Matlab calculated using dot product?
Thank you,
Charles
0 commentaires
Réponse acceptée
John D'Errico
le 16 Juin 2019
help dot
dot Vector dot product.
C = dot(A,B) returns the scalar product of the vectors A and B.
A and B must be vectors of the same length. When A and B are both
column vectors, dot(A,B) is the same as A'*B.
dot(A,B), for N-D arrays A and B, returns the scalar product
along the first non-singleton dimension of A and B. A and B must
have the same size.
So what are A and B?
A = [1+i 1-i -1+i -1-i];
B = [3-4i 6-2i 1+2i 4+3i];
They are row vectors, complex row vectors. So MATLAB forms the result as:
dot(A,B)
ans =
1 - 5i
sum(conj(A).*B)
ans =
1 - 5i
That is, when A and B are both vectors, MATLAB treats them the same as if A and B were column vectors. It effectively thinks of them as both column vectors. Then it forms the result by conjugating A, takes an element-wise product, then sums those terms.
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Matrix Indexing 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!