Borrar filtros
Borrar filtros

Dot Multiplication in MATLAB

6 visualizaciones (últimos 30 días)
Saunok Chakrabarty
Saunok Chakrabarty el 20 de Feb. de 2024
Comentada: Saunok Chakrabarty el 22 de Feb. de 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.

Respuesta aceptada

Matt J
Matt J el 20 de Feb. de 2024
Editada: Matt J el 20 de Feb. de 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 comentarios
Saunok Chakrabarty
Saunok Chakrabarty el 22 de Feb. de 2024
Thanks Matt! This clarifies my doubt. Apologies for the late acceptance.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Characters and Strings en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by