ドキュメンテーション

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

対角行列の操作

対角行列関数

対角行列用の MATLAB® 関数がいくつか提供されています。

関数

説明

blkdiag

入力引数を基にブロック対角行列を作成します。

diag

対角行列、すなわち行列の対角を返します。

trace

主対角要素の合計を算出します。

tril

行列の下三角部分を返します。

triu

行列の上三角部分を返します。

対角ベクトルから行列の作成

関数 diag には 2 つの機能があります。1 つ目の機能として、対角行列を生成できます。

A = diag([12:4:32])
A =
    12     0     0     0     0     0
     0    16     0     0     0     0
     0     0    20     0     0     0
     0     0     0    24     0     0
     0     0     0     0    28     0
     0     0     0     0     0    32

また関数 diag を使って既存の行列をスキャンし、対角要素のいずれかで検出した値を返すこともできます。

A = magic(5)
A =
    17    24     1     8    15
    23     5     7    14    16
     4     6    13    20    22
    10    12    19    21     3
    11    18    25     2     9

diag(A, 2)       % Return contents of second diagonal of A
ans =
     1
    14
    22

行列の三角部分を返す

関数 tril と関数 triu は、行列の三角部分を返します。関数 tril は左下部分を、関数 triu は右上部分を返します。既定では、主対角行列はこれらの 2 つの部分に分割します。主対角要素からのオフセットを指定して、別の対角要素を 2 番目の入力引数として使用することができます。

A = magic(6);

B = tril(A, -1)
B =
     0     0     0     0     0     0
     3     0     0     0     0     0
    31     9     0     0     0     0
     8    28    33     0     0     0
    30     5    34    12     0     0
     4    36    29    13    18     0

行列を対角に連結する

関数 blkdiag を使用すると、行列を対角に連結して、複合行列を作成することができます。この操作方法の詳細は、ブロック対角行列の作成を参照してください。

この情報は役に立ちましたか?