vecnorm
ベクトル単位のノルム
説明
例
ベクトルの 1 ノルムおよび 2 ノルム
3 次元空間の点 (2,2,2) に対応するベクトルの 2 ノルムを計算します。2 ノルムは、ベクトルのユークリッド長 と同じです。
x = [2 2 2]; n = vecnorm(x)
n = 3.4641
ベクトルの 1 ノルムを計算します。これは要素の大きさの合計です。
n = vecnorm(x,1)
n = 6
行列の列の 2 ノルム
行列の列の 2 ノルムを計算します。
A = [2 0 1;-1 1 0;-3 3 0]
A = 3×3
2 0 1
-1 1 0
-3 3 0
n = vecnorm(A)
n = 1×3
3.7417 3.1623 1.0000
代わりに、関数 norm
を使用して行列全体の 2 ノルムを計算することもできます。
入力引数
A
— 入力配列
ベクトル | 行列 | 多次元配列
入力配列。ベクトル、行列または多次元配列として指定します。慣例により、演算の対象となるベクトルに NaN
値が含まれている場合、vecnorm
は NaN
値を返します。
データ型: single
| double
複素数のサポート: あり
p
— ノルムのタイプ
2 (既定値) | 正のスカラー | Inf
ノルムのタイプ。2
(既定値)、正のスカラー、Inf
のいずれかとして指定します。
dim
— 演算の対象の次元
正の整数スカラー
演算の対象の次元。正の整数のスカラーとして指定します。値を指定しない場合、既定値はサイズが 1 でない最初の配列次元です。
次元 dim
は、長さが 1 に縮小した次元を示します。つまり、size(N,dim)
は 1
ですが、他の次元はいずれもサイズが変化しません。
2 次元の入力配列 A
について考えます。
vecnorm(A,p,1)
は各列のノルムを計算します。vecnorm(A,p,2)
は各行のノルムを計算します。vecnorm
は、dim
がndims(A)
より大きいか、size(A,dim)
が1
である場合にabs(A)
を返します。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
詳細
ユークリッド ノルム
N
個の要素があるベクトル v
のユークリッド ノルム (ベクトルの大きさ、ユークリッド長、または 2 ノルムとも呼ばれる) は、次で定義されます。
一般化ベクトル ノルム
N
個の要素をもつベクトル v
の p ノルムの一般化定義は次のとおりです。
ここで、p
は任意の正の実数値または Inf
です。p
の特徴的な値として次のようなものがあります。
p = 1
の場合、得られる 1 ノルムはベクトル要素の絶対値の合計です。p = 2
の場合、結果の 2 ノルムはベクトルの大きさすなわちユークリッド長を表します。p = Inf
の場合は、 となります。
拡張機能
tall 配列
メモリの許容量を超えるような多数の行を含む配列を計算します。
この関数は tall 配列を完全にサポートしています。詳細については、tall 配列を参照してください。
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
使用上の注意事項および制限事項:
dim
を指定する場合は、定数でなければなりません。可変サイズ入力に関連した制限については、ツールボックス関数のコード生成に対する可変サイズの制限 (MATLAB Coder)を参照してください。
コード生成では、この関数のスパース行列入力はサポートされません。
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
GPU 配列
Parallel Computing Toolbox™ を使用してグラフィックス処理装置 (GPU) 上で実行することにより、コードを高速化します。
この関数は GPU 配列を完全にサポートしています。詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
分散配列
Parallel Computing Toolbox™ を使用して、クラスターの結合メモリ上で大きなアレイを分割します。
この関数は分散配列を完全にサポートしています。詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2017b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)