Main Content

diag

対角行列の作成、またはシンボリック行列の対角成分の取得

説明

D = diag(v) は、ベクトル v が主対角である正方対角行列を返します。

D = diag(v,k) はベクトル vk 番目の対角に配置します。k = 0 は主対角を表し、k > 0 は主対角の上部、k < 0 は主対角の下部にあります。

x = diag(A) は、A の主対角を返します。

x = diag(A,k) は、Ak 番目の対角を返します。

すべて折りたたむ

主対角がベクトル v で指定されるシンボリック行列を作成します。

syms a b c
v = [a b c];
diag(v)
ans =
[ a, 0, 0]
[ 0, b, 0]
[ 0, 0, c]

主対角の下側 2 番目の対角がベクトル v で指定されるシンボリック行列を作成します。

syms a b c
v = [a b c];
diag(v,-2)
ans =
[ 0, 0, 0, 0, 0]
[ 0, 0, 0, 0, 0]
[ a, 0, 0, 0, 0]
[ 0, b, 0, 0, 0]
[ 0, 0, c, 0, 0]

正方行列から主対角を抽出します。

syms x y z
A = magic(3).*[x, y, z];
diag(A)
ans =
 8*x
 5*y
 2*z

主対角より 1 個上側の対角を抽出します。

syms x y z
A = magic(3).*[x, y, z];
diag(A,1)
ans =
   y
 7*z

入力引数

すべて折りたたむ

対角要素。シンボリック ベクトルとして指定します。vN 要素を持つベクトルの場合、diag(v,k) は次数 N + abs(k) の正方行列です。

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

対角の数。整数として指定します。k = 0 は主対角を表し、k > 0 は主対角の上部、k < 0 は主対角の下部にあります。

ヒント

  • 行列の tracesum(diag(A)) と等価です。

バージョン履歴

R2006a より前に導入

参考

|