ドキュメンテーション

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

norm

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

説明

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 で導入