Main Content

norm

Norme di vettori e di matrici

Descrizione

esempio

n = norm(v) restituisce la norma euclidea del vettore v. Questa norma è chiamata anche norma 2, magnitudine del vettore o lunghezza euclidea.

esempio

n = norm(X) restituisce il valore della norma 2 o il massimo valore singolare della matrice X, che è approssimativamente max(svd(X)).

n = norm(X,p) restituisce la norma p della matrice X, dove p è 1, 2 o Inf:

esempio

n = norm(X,"fro") restituisce la norma di Frobenius della matrice o dell’array X.

Esempi

comprimi tutto

Creare un vettore e calcolare la magnitudine.

v = [1 -2 3];
n = norm(v)
n = 3.7417

Calcolare la norma 1 di un vettore, ossia la somma delle magnitudini degli elementi.

v = [-2 3 -1];
n = norm(v,1)
n = 6

Calcolare la distanza tra due punti come norma della differenza tra gli elementi del vettore.

Creare due vettori che rappresentano le coordinate (x,y) di due punti sul piano euclideo.

a = [0 3];
b = [-2 1];

Utilizzare norm per calcolare la distanza tra i punti.

d = norm(b-a)
d = 2.8284

Geometricamente, la distanza tra i punti è uguale alla magnitudine del vettore che si estende da un punto all'altro.

a=0iˆ+3jˆb=-2iˆ+1jˆd(a,b)=||b-a||=(-2-0)2+(1-3)2=8

Calcolare la norma 2 di una matrice, ossia il valore singolare più grande.

X = [2 0 1;-1 1 0;-3 3 0];
n = norm(X)
n = 4.7234

Calcolare la norma di Frobenius di un array quadridimensionale X, che è equivalente alla norma 2 del vettore colonna X(:).

X = rand(3,4,4,3);
n = norm(X,"fro")
n = 7.1247

La norma di Frobenius è utile anche per le matrici sparse poiché norm(X,2) non supporta le X sparse.

Argomenti di input

comprimi tutto

Vettore di input.

Tipi di dati: single | double
Supporto numeri complessi:

Array di input, specificato come matrice o array. Per la maggior parte dei tipi di norma, X deve essere una matrice. Tuttavia, per i calcoli della norma di Frobenius, X può essere un array.

Tipi di dati: single | double
Supporto numeri complessi:

Tipo di norma, specificato come 2 (predefinito), scalare reale positivo, Inf o -Inf. I valori validi di p e ciò che restituiscono dipendono dal fatto se il primo input in norm è una matrice o un vettore, come mostrato nella tabella.

Nota

Questa tabella non riflette gli algoritmi effettivamente utilizzati nei calcoli.

pMatriceVettore
1max(sum(abs(X)))sum(abs(v))
2 max(svd(X))sum(abs(v).^2)^(1/2)
Scalare numerico positivo a valore realesum(abs(v).^p)^(1/p)
Infmax(sum(abs(X')))max(abs(v))
-Infmin(abs(v))

Argomenti di output

comprimi tutto

Valore della norma, restituito come scalare. La norma fornisce una misura della magnitudine degli elementi. Per convenzione:

  • norm restituisce NaN se l’input contiene valori NaN.

  • La norma di una matrice vuota è zero.

Ulteriori informazioni

comprimi tutto

Norma euclidea

La norma euclidea (chiamata anche magnitudine del vettore, lunghezza euclidea o norma 2) di un vettore v con N elementi è definita da

v=k=1N|vk|2.

Norma generale del vettore

La definizione generale della norma p di un vettore v che contiene N elementi è

vp=[k=1N|vk|p]1/p,

dove p è qualsiasi valore reale positivo, Inf o -Inf.

  • Se p = 1, la norma 1 risultante è la somma dei valori assoluti degli elementi del vettore.

  • Se p = 2, la norma 2 risultante fornisce la magnitudine del vettore o la lunghezza euclidea del vettore.

  • Se p = Inf, allora v=maxi(|v(i)|).

  • Se p = -Inf, allora v=mini(|v(i)|).

Somma massima assoluta delle colonne

La somma massima assoluta delle colonne di una matrice m x n X (con m,n >= 2) è definita da

X1=max1jn(i=1m|aij|).

Somma massima assoluta delle righe

La somma massima assoluta delle righe di una matrice m x n X (con m,n >= 2) è definita da

X=max1im(j=1n|aij|).

Norma di Frobenius

La norma di Frobenius di una matrice m x n X (con m,n >= 2) è definita da

XF=i=1mj=1n|aij|2=trace(XX).

Questa definizione si estende naturalmente anche ad array con più di due dimensioni. Ad esempio, se X è un array N-D di dimensioni m x n x p x...x q, la norma di Frobenius è

XF=i=1mj=1nk=1p...w=1q|aijk...w|2.

Suggerimenti

  • Utilizzare vecnorm per trattare una matrice o un array come un gruppo di vettori e calcolare la norma lungo una dimensione specificata. Ad esempio, vecnorm può calcolare la norma di ciascuna colonna in una matrice.

Funzionalità estese

Cronologia versioni

Introduzione prima di R2006a

espandi tutto