diag

Создайте диагональную матрицу или получите диагонали из символьных матриц

Синтаксис

D = diag(v)
D = diag(v,k)
x = diag(A)
x = diag(A,k)

Описание

пример

D = diag(v) возвращает квадратную диагональную матрицу с векторным v как основная диагональ.

пример

D = diag(v,k) вектор мест v на k th диагональ. k = 0 представляет основную диагональ, k > 0 выше основной диагонали, и k < 0 ниже основной диагонали.

пример

x = diag(A) возвращает основную диагональ A.

пример

x = diag(A,k) возвращает k th диагональ A.

Примеры

свернуть все

Создайте символьную матрицу с основной диагональю, заданной векторным 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