Cómo calcular el producto término a término de vectores en Matlab y Octave
Para calcular el producto término a término de dos vectores en Matlab/Octave utilice el operador.*
v.*w
Los términos vyw son dos vectores de igual tamaño.
El resultado es un vector compuesto por los productos de los elementos de los vectores que están en la misma posición.
$$ \vec{v} \cdot \vec{w} = \begin{pmatrix} v_1 \\ v_2 \\ v_3 \\ \vdots \\ v_n \end{pmatrix} \cdot \begin{pmatrix} w_1 \\ w_2 \\ w_3 \\ \vdots \\ w_n \end{pmatrix} = \begin{pmatrix} v_1 \cdot w_1 \\ v_2 \cdot w_2 \\ v_3 \cdot w_3 \\ \vdots \\ v_n \cdot w_n \end{pmatrix} $$
Nota. Este tipo de multiplicación vectorial también se conoce como producto de Hadamard ( Hadamard product ), Schur product o element-wise product.
Ejemplo
Definir un vector v
>> v=[1;2;3]
v =
1
2
3
Defina otro vector w con el mismo número de elementos
>> w=[4;5;6]
w =
4
5
6
Calcule el producto término a término (producto de Hadamard) de los dos vectores
>> v.*w
ans =
4
10
18
El resultado final es un vector compuesto por los productos de los elementos de los dos vectores que están en la misma posición
$$ \vec{v} \cdot \vec{w} = \begin{pmatrix} 1 \\ 2 \\ 3 \end{pmatrix} \cdot \begin{pmatrix} 4 \\ 5 \\ 6 \end{pmatrix} = \begin{pmatrix} 1 \cdot 4 \\ 2 \cdot 5 \\ 3 \cdot 6 \end{pmatrix} = \begin{pmatrix} 4 \\ 10 \\ 18 \end{pmatrix} $$