Cómo calcular la norma de un vector en Matlab y Octave
Para calcular la norma de un vector en Matlab y Octave, use la función norm()
norm(v, tn)
El parámetro v es un vector.
El parámetro tn es el tipo de norma
- tn=1 es la suma de los valores absolutos de los elementos
- tn=2 es la raíz cuadrada de la suma de los cuadrados de los elementos (norma euclidiana)
- tn=inf es el valor máximo de los elementos del vector
Si no se especifica el parámetro tn, la función calcula la norma euclidiana (tn = 2)
$$ || \vec{v} ||_2 = \sqrt{(\vec{v},\vec{v})} $$
¿Cuál es la norma de un vector? Hay varios tipos de norma vectorial.
La norma euclidiana de un vector (tn = 2) es la raíz de la suma de los cuadrados de los elementos del vector. $$ \vec{v} = \begin{pmatrix} a_1 \\ a_2 \\ a_3 \end{pmatrix} $$ $$ || \vec{v} ||_2 = \sqrt{(\vec{v},\vec{v})} = \sqrt{a_1^2+a_2^2+a_3^2} $$El símbolo (v, v) es el producto término a término del vector v por sí mismo.
La norma de tipo tn = 1 es la suma de los valores absolutos $$ || \vec{v} ||_1 = |a_1|+|a_2|+|a_3| $$ La norma de tipo tn = inf es el valor máximo $$ || \vec{v} ||_{\infty} = max(a_1 \ , \ a_2 \ , \ a_3) $$
Ejemplo
Definir un vector v
>> v=[1;2;3]
v =
1
2
3
Calcular la norma euclidiana de un vector usando la función norm()
>> norm(v)
ans = 3.7417
El resultado es la norma vectorial
$$ || \vec{v} ||_2 = \sqrt{1^2+2^2+3^2} = \sqrt{14} = 3.7417 $$
Ejemplo 2
Calcular la norma de tipo = 1
>> norm(v,1)
ans = 6
El resultado es la suma de los valores absolutos de los elementos del vector.
$$ || \vec{v} ||_1 = |1| \ + \ |2| \ + \ |3| \ = 6 $$
Ejemplo 3
Calcular la norma de tipo = inf
>> norm(v,inf)
ans = 3
El resultado es el valor máximo de los elementos en el vector
$$ || \vec{v} ||_{\infty} = max(1 \ , \ 2 \ , \ 3) = 3 $$