ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

norm

行列またはベクトルのノルム

構文

norm(A)
norm(A,p)
norm(V)
norm(V,P)

説明

norm(A) は、行列 A2 ノルムを返します。既定では、シンボリック変数は複素数であるという前提であるため、ノルムは conj および abs への未解決の呼び出しを含むことがあります。

norm(A,p) は、行列 Ap ノルムを返します。

norm(V) は、ベクトル V2 ノルムを返します。

norm(V,P) は、ベクトル Vp ノルムを返します。

すべて折りたたむ

3 行 3 列の魔方陣 A の逆行列の 2 ノルムを計算します。

A = inv(sym(magic(3)))
norm2 = norm(A)
A =
[  53/360, -13/90,  23/360]
[ -11/180,   1/45,  19/180]
[  -7/360,  17/90, -37/360]
 
norm2 =
3^(1/2)/6

vpa を使用して 20 桁の精度をもつ結果を近似します。

vpa(norm2, 20)
ans =
0.28867513459481288225

[x y] のノルムを計算して結果を単純化します。既定では、シンボリック変数は複素数であるという前提であるため、abs への呼び出しは単純化されません。

syms x y
simplify(norm([x y]))
ans =
(abs(x)^2 + abs(y)^2)^(1/2)

x および y が実数であると仮定して、計算を繰り返します。今度は、結果が単純化されます。

assume([x y],'real')
simplify(norm([x y]))
ans =
(x^2 + y^2)^(1/2)

計算を続けるため、x の仮定を削除します。詳細は、シンボリック変数の仮定の使用を参照してください。

assume(x,'clear')

3 行 3 列の魔方陣 A の逆行列の、1 ノルム、フロベニウス ノルムおよび無限大ノルムを計算します。

A = inv(sym(magic(3)))
norm1 = norm(A, 1)
normf = norm(A, 'fro')
normi = norm(A, inf)
A =
[  53/360, -13/90,  23/360]
[ -11/180,   1/45,  19/180]
[  -7/360,  17/90, -37/360]
 
norm1 =
16/45
 
normf =
391^(1/2)/60
 
normi =
16/45

vpa を使用して 20 桁の精度で結果を近似します。

vpa(norm1, 20)
vpa(normf, 20)
vpa(normi, 20)
ans =
0.35555555555555555556
 
ans =
0.32956199888808647519
 
ans =
0.35555555555555555556

列ベクトル V = [Vx; Vy; Vz] の、1 ノルム、2 ノルムおよび 3 ノルムを計算します。

syms Vx Vy Vz
V = [Vx; Vy; Vz];
norm1 = norm(V, 1)
norm2 = norm(V)
norm3 = norm(V, 3)
norm1 =
abs(Vx) + abs(Vy) + abs(Vz)
 
norm2 =
(abs(Vx)^2 + abs(Vy)^2 + abs(Vz)^2)^(1/2)
 
norm3 =
(abs(Vx)^3 + abs(Vy)^3 + abs(Vz)^3)^(1/3)

V の無限大ノルム、負の無限大ノルムおよびフロベニウス ノルムを計算します。

normi = norm(V, inf)
normni = norm(V, -inf)
normf = norm(V, 'fro')
normi =
max(abs(Vx), abs(Vy), abs(Vz))
 
normni =
min(abs(Vx), abs(Vy), abs(Vz))
 
normf =
(abs(Vx)^2 + abs(Vy)^2 + abs(Vz)^2)^(1/2)

入力引数

すべて折りたたむ

入力。シンボリック行列として指定します。

12inf または 'fro' のいずれかの値。

  • norm(A,1) は、A1 ノルムを返します。

  • norm(A,2) または norm(A) は、A2 ノルムを返します。

  • norm(A,inf) は、A の無限大ノルムを返します。

  • norm(A,'fro') は、A のフロベニウス ノルムを返します。

入力。シンボリック ベクトルとして指定します。

  • norm(V,P)1<=P<inf に対する sum(abs(V).^P)^(1/P) として計算されます。

  • norm(V) は、V2 ノルムを計算します。

  • norm(A,inf)max(abs(V)) として計算されます。

  • norm(A,-inf)min(abs(V)) として計算されます。

詳細

すべて折りたたむ

行列の 1 ノルム

m 行 n 列の行列 A の 1 ノルムは次のように定義されます。

A1=maxj(i=1m|Aij|),  where j=1n

行列の 2 ノルム

m 行 n 列の行列 A の 2 ノルムは次のように定義されます。

A2=max eigenvalue of AHA

2 ノルムは行列のスペクトル ノルムとも呼ばれます。

行列のフロベニウス ノルム

m 行 n 列の行列 A のフロベニウス ノルムは次のように定義されます。

AF=i=1m(j=1n|Aij|2)

行列の無限大ノルム

m 行 n 列の行列 A の無限大ノルムは次のように定義されます。

A=max(j=1n|A1j|,j=1n|A2j|,,j=1n|Amj|)

ベクトルの P ノルム

1 行 n 列または n 行 1 列のベクトル V の P ノルムは次のように定義されます。

VP=(i=1n|Vi|P)1P

ここで、n は 1 より大きい整数でなければなりません。

ベクトルのフロベニウス ノルム

1 行 n 列または n 行 1 列のベクトル V のフロベニウス ノルムは次のように定義されます。

VF=i=1n|Vi|2

ベクトルのフロベニウス ノルムは、その 2 ノルムと一致します。

ベクトルの無限大および負の無限大ノルム

1 行 n 列または n 行 1 列のベクトル V の無限大ノルムは次のように定義されます。

V=max(|Vi|), where i=1n

1 行 n 列または n 行 1 列のベクトル V の負の無限大ノルムは次のように定義されます。

V=min(|Vi|), where i=1n

ヒント

  • シンボリック オブジェクトではない数値行列に対し norm を呼び出すと、MATLAB® の関数 norm が呼び出されます。

R2012b で導入