Come calcolare la norma di un vettore in Matlab e Octave
Per calcolare la norma di un vettore su Matlab e Octave si usa la funzione norm()
norm(v, tn)
Il parametro v è un vettore.
Il parametro tn è il tipo di norma
- tn=1 è la somma dei valori assoluti degli elementi
- tn=2 è la radice quadrata della somma dei quadrati degli elementi (norma euclidea)
- tn=inf è il valore massimo degli elementi del vettore
Se il parametro tn non è indicato la funzione calcola la norma euclidea (tn=2) di default
$$ || \vec{v} ||_2 = \sqrt{(\vec{v},\vec{v})} $$
Cos’è la norma di un vettore? Esistono diversi tipi di norme.
La norma euclidea di un vettore (tn=2) è la radice della somma dei quadrati degli elementi del vettore. $$ \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} $$ Il simbolo (v,v) è il prodotto componente per componente del vettore v per se stesso.
La norma di tipo tn=1 è la somma dei valori assoluti $$ || \vec{v} ||_1 = |a_1|+|a_2|+|a_3| $$ La norma di tipo tn=inf è il valore massimo $$ || \vec{v} ||_{\infty} = max(a_1 \ , \ a_2 \ , \ a_3) $$
Esempio
Definire un vettore v
>> v=[1;2;3]
v =
1
2
3
Calcolare la norma euclidea di un vettore tramite la funzione norm()
>> norm(v)
ans = 3.7417
Il risultato è la norma del vettore
$$ || \vec{v} ||_2 = \sqrt{1^2+2^2+3^2} = \sqrt{14} = 3.7417 $$
Esempio 2
Calcolare la norma di tipo = 1
>> norm(v,1)
ans = 6
Il risultato è la somma dei valori assoluti
$$ || \vec{v} ||_1 = |1| \ + \ |2| \ + \ |3| \ = 6 $$
Esempio 3
Calcolare la norma di tipo = inf
>> norm(v,inf)
ans = 3
Il risultato è il valore massimo del vettore
$$ || \vec{v} ||_{\infty} = max(1 \ , \ 2 \ , \ 3) = 3 $$