Main Content

norm

ベクトルと行列のノルム

説明

n = norm(v) は、ベクトル vユークリッド ノルムを返します。このノルムは 2 ノルム、ベクトルの大きさ、またはユークリッド長とも呼ばれます。

n = norm(v,p) は、一般化ベクトルの p ノルムを返します。

n = norm(X) は、行列 X の 2 ノルムまたは最大特異値を返します。これはおよそ max(svd(X)) となります。

n = norm(X,p) は、行列 X の p ノルムを返します。ここで p12 または Inf です。

  • p = 1 である場合、n は行列の列の和の最大絶対値となります。

  • p = 2 である場合、n はおよそ max(svd(X)) となります。この値は norm(X) と等価です。

  • p = Inf の場合、n は行列の行の和の最大絶対値となります。

n = norm(X,"fro") は、行列または配列 Xフロベニウス ノルムを返します。

すべて折りたたむ

ベクトルを作成して大さを計算します。

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

ベクトルの 1 ノルムを計算します。これは要素の大きさの合計です。

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

2 点間の距離を、ベクトル要素間の差のノルムとして計算します。

ユークリッド平面の 2 点の "(x,y)" 座標を表す 2 つのベクトルを作成します。

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

norm を使用して、点間距離を計算します。

d = norm(b-a)
d = 2.8284

幾何学的には、点間距離は、1 点から別の点に伸長しているベクトルの大きさと等しくなります。

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

行列の 2 ノルムを計算します。これは最大の特異値になります。

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

4-D 配列 X のフロベニウス ノルムを計算します。これは列ベクトル X(:) の 2 ノルムと等価です。

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

norm(X,2) はスパース X をサポートしないため、フロベニウス ノルムはスパース行列に対しても有用です。

入力引数

すべて折りたたむ

入力ベクトル。

データ型: single | double
複素数のサポート: あり

入力配列。行列または配列として指定します。ほとんどのノルムのタイプでは、X は行列でなければなりません。ただし、フロベニウス ノルムの計算では、X は配列にすることができます。

データ型: single | double
複素数のサポート: あり

ノルムのタイプ。2 (既定値)、正の実数スカラー、Inf、または -Inf として指定します。p の有効な値とその戻り値は、次の表に示すように norm の最初の入力が行列とベクトルのどちらであるかによって異なります。

メモ

この表は、計算に使用される実際のアルゴリズムは反映していません。

p行列ベクトル
1max(sum(abs(X)))sum(abs(v))
2 max(svd(X))sum(abs(v).^2)^(1/2)
正の実数値スカラーsum(abs(v).^p)^(1/p)
Infmax(sum(abs(X')))max(abs(v))
-Infmin(abs(v))

出力引数

すべて折りたたむ

ノルム値。スカラーとして返されます。ノルムは、要素の大きさの尺度を提供します。慣例により、入力に NaN 値が含まれている場合、normNaN を返します。

詳細

すべて折りたたむ

ユークリッド ノルム

N 個の要素があるベクトル v のユークリッド ノルム (ベクトルの大きさ、ユークリッド長、または 2 ノルムとも呼ばれる) は、次で定義されます。

v=k=1N|vk|2.

一般化ベクトル ノルム

N 個の要素をもつベクトル vp ノルムの一般的定義は次のとおりです。

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

ここで、p は任意の正の実数値、Inf、または -Inf です。

  • p = 1 の場合、得られる 1 ノルムはベクトル要素の絶対値の合計です。

  • p = 2 の場合、結果の 2 ノルムはベクトルの大きさすなわちユークリッド長を表します。

  • p = Inf の場合は、v=maxi(|v(i)|) となります。

  • p = -Inf の場合は、v=mini(|v(i)|) となります。

列の和の最大絶対値

mn 列の行列 X (ただし、m,n >= 2) の列の和の最大絶対値は次のように定義されます。

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

行の和の最大絶対値

mn 列の行列 X (ただし、m,n >= 2) の行の和の最大絶対値は次のように定義されます。

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

フロベニウス ノルム

mn 列の行列 X (ただし、m,n >= 2) のフロベニウス ノルムは次のように定義されます。

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

この定義は、2 次元を超える配列にも自然な形で拡張されます。たとえば X が、サイズが m x n x p x ... x q の N-D 配列である場合、フロベニウス ノルムは次のようになります。

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

ヒント

  • vecnorm を使用して、行列または配列をベクトルの集合として扱い、指定した次元に沿ってノルムを計算します。たとえば、vecnorm により行列の各列のノルムを計算できます。

拡張機能

バージョン履歴

R2006a より前に導入

すべて展開する