Dot Multiplication in MATLAB
14 views (last 30 days)
Show older comments
Saunok Chakrabarty
on 20 Feb 2024
Commented: Saunok Chakrabarty
on 22 Feb 2024
I am a bit confused about how dot multiplication (.*) works in MATLAB. For example, [1 2]' .* [1 2; 3 4] = [1 2; 6 8]. So it seems that each row of the first matrix is being multiplied by the corresponding row in the second matrix. However, [1 2] .* [1 2 3 4]' = [1 2; 2 4; 3 6; 4 8] - it seems that each column of the first matrix is being multiplied by the column vector in the second matrix. Further, [1 2] .* [1 2; 3 4; 5 6]' is not possible because of size incompatibility.
How is the multiplication being carried out? I am using MATLAB R2021b.
0 Comments
Accepted Answer
Matt J
on 20 Feb 2024
Edited: Matt J
on 20 Feb 2024
For matrices A and B, the rule is generally that A.* B is element-by-element multiplication a(i,j).*b(i,j), which means that normally all dimensions of A and B must be equal. However if ever size(A,n)=1 and size(B,n)~=1 (or vice versa), then A will be implicitly copied along dimension n until size(A,n)=size(B,n) and similarly for B.
2 Comments
More Answers (0)
See Also
Categories
Find more on Logical 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!