主要内容

diag

创建对角矩阵或从符号矩阵中获取对角线

说明

D = diag(v) 返回以向量 v 为主对角线的对角方阵。

示例

D = diag(v,k) 将向量 v 置于第 k 条对角线上。k = 0 表示主对角线,k > 0 表示主对角线上方,k < 0 表示主对角线下方。

示例

x = diag(A) 返回 A 的主对角线。

示例

x = diag(A,k) 返回 A 的第 k 条对角线。

示例

示例

全部折叠

创建一个主对角线由向量 v 指定的符号矩阵。

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

创建一个主对角线下方第二条对角线由向量 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

提取主对角线上方的第一条对角线。

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

输入参数

全部折叠

对角线元素数,指定为符号向量。如果 v 是包含 N 个元素的向量,则 diag(v,k) 是阶数为 N + abs(k) 的方阵。

输入矩阵,指定为符号矩阵。

对角线编号,指定为整数。k = 0 表示主对角线,k > 0 表示主对角线上方,k < 0 表示主对角线下方。

提示

  • 矩阵的 trace 等于 sum(diag(A))

版本历史记录

在 R2006a 之前推出

另请参阅

|