Comment calculer la norme d'un vecteur dans Matlab et Octave
Pour calculer la norme d'un vecteur dans Matlab et Octave, utilisez la fonction norm()
norm(v, tn)
Le paramètre v est un vecteur.
Le paramètre tn est le type de norme
- tn = 1 est la somme des valeurs absolues des éléments
- tn = 2 est la racine carrée de la somme des carrés des éléments (norme euclidienne)
- tn = inf est la valeur maximale des éléments du vecteur
Si le paramètre tn n'est pas typé, la fonction calcule la norme euclidienne (tn = 2) par défaut
$$ || \vec{v} ||_2 = \sqrt{(\vec{v},\vec{v})} $$
Quelle est la norme d'un vecteur? Il existe différents types de norme.
La norme euclidienne d'un vecteur (tn = 2) est la racine de la somme des carrés des éléments du vecteur. $$ \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} $$ Le symbole (v, v) est le produit terme à terme par composante du vecteur v.
La norme de type tn = 1 est la somme des valeurs absolues $$ || \vec{v} ||_1 = |a_1|+|a_2|+|a_3| $$ La norme de type tn = inf est la valeur maximale $$ || \vec{v} ||_{\infty} = max(a_1 \ , \ a_2 \ , \ a_3) $$
Exemple
Définir un vecteur v
>> v=[1;2;3]
v =
1
2
3
Calculer la norme euclidienne d'un vecteur à l'aide de la fonction norm()
>> norm(v)
ans = 3.7417
Le résultat est la norme vectorielle
$$ || \vec{v} ||_2 = \sqrt{1^2+2^2+3^2} = \sqrt{14} = 3.7417 $$
Exemple 2
Calculer la norme du type = 1
>> norm(v,1)
ans = 6
Le résultat est la somme des valeurs absolues
$$ || \vec{v} ||_1 = |1| \ + \ |2| \ + \ |3| \ = 6 $$
Exemple 3
Calculer la norme de type = inf
>> norm(v,inf)
ans = 3
Le résultat est la valeur maximale du vecteur
$$ || \vec{v} ||_{\infty} = max(1 \ , \ 2 \ , \ 3) = 3 $$