diag

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

Описание

пример

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

пример

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

пример

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

пример

x = diag(A,k) возвращает k1-я диагональ 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