行列の行の MATLAB ノルム

Ammar Ali 2023年6月20日
  1. vecnorm() 関数を使用した行列の行の MATLAB ノルム
  2. sqrt() および sum() 関数を使用した行列の行の MATLAB ノルム
行列の行の MATLAB ノルム

このチュートリアルでは、MATLAB で vecnorm() または sqrt() および sum() 関数を使用して行列の各行のノルムを見つける方法について説明します。

vecnorm() 関数を使用した行列の行の MATLAB ノルム

Matlab の vecnorm() 関数を使用して、行列の各行のノルムを取得できます。 この関数は、ベクトル、行列、または多次元配列のユークリッドおよび一般ベクトル ノルムを見つけることができます。

ユークリッド ノルムの場合、vecnorm() 関数はすべての値の 2 乗を取り、それらの合計を求めてから、合計の平方根を取ります。 一般的なベクトル ノルムの場合、vecnorm() 関数は入力された値を要素の累乗として使用します。

関数の基本的な構文を以下に示します。

output = vecnorm(matrix)
output = vecnorm(matrix, p)

最初の構文は、行列のユークリッド ノルムまたは 2-ノルム を返します。 2 番目の構文は、一般的なベクトル ノルム、または p の値が 1、2、または Inf である p-norm を返します。

p の値が 1 の場合、ノルムは行列の絶対値の合計に等しくなります。 p の値が 2 の場合、一般ベクトル ノルムはユークリッド ノルムに等しくなり、値が無限大の場合、ノルムは各行列列の最大値に等しくなります。

ベクトルの場合、出力はベクトルのノルムとなる単一の値になり、配列の場合、関数は配列の最初の次元に沿ってノルムを取り、そのサイズは 1に等しい。

vecnorm() 関数に行列を渡すと、行列に存在する各列のノルムが返されますが、vecnorm() 関数の別の構文を使用して、a の各行のノルムを見つけることができます。 マトリックス。

行列の各行のノルムを見つけるための vecnorm() 関数の構文を以下に示します。

output = vecnorm(matrix, normType, dimension);

この構文では、2 番目の引数はノルム タイプであり、その値は正のスカラーにすることができます。 デフォルトでは、2 番目の引数の値は 2 に設定されています。

3 番目の引数は、ノルムが計算される行列の次元です。 行列の場合、行の次元に 2、列の次元に 1 を使用できます。

たとえば、列と行の次元に沿って行列のノルムを見つけてみましょう。 以下のコードと出力を参照してください。

clc
clear

m = magic(3)
n1 = vecnorm(m)
n2 = vecnorm(m,2,2)

出力:

m =

     8     1     6
     3     5     7
     4     9     2


n1 =

    9.4340   10.3441    9.4340


n2 =

   10.0499
    9.1104
   10.0499

上記のコードでは、magic() 関数を使用して 3 行 3 列の行列を作成し、行と列のノルムを見つけました。 上記の出力では、vecnorm(m) 関数が各列のノルムを返し、vecnorm(m,2,2) 関数が行列の各行のノルムを返していることがわかります。

sqrt() および sum() 関数を使用した行列の行の MATLAB ノルム

sqrt() および sum() 関数を使用して行列の行のノルムを見つけることもできます。 行列の行のノルムを見つけるために使用されるアルゴリズムを知っています。最初に値の 2 乗を取り、次に sum() 関数を使用してそれらの合計を見つける必要があります。その後、平方根を取ることができます。 sqrt() 関数を使用します。

たとえば、行の次元に沿って行列のノルムを見つけてみましょう。 以下のコードと出力を参照してください。

clc
clear

m = magic(3)
n1 = sqrt(sum(m.^2,2))

出力:

m =

     8     1     6
     3     5     7
     4     9     2


n1 =

   10.0499
    9.1104
   10.0499

上記のコードでは、m.^2 引数を使用して行列のすべての値の 2 乗を取得し、sum() 関数の 2 番目の引数として 2 を使用して要素の合計を求めました。 行ですが、列のノルムを見つけたい場合は、2 番目の引数として 1 を使用できます。 上記の出力は、ノルムが最初の例と同じであることを示しています。

著者: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

関連記事 - MATLAB Matrix