diag

Constrói uma matriz diagonal a partir de um vetor, ou extrai uma diagonal de uma matriz.

Categoria: Language Fundamentals > Matrices and Arrays

Sintaxe

D = diag(v)

Matriz quadrada com o vetor v na diagonal principal.

D = diag(v, k)

Coloca v na k-ésima diagonal: k > 0 acima da principal, k < 0 abaixo.

d = diag(A)

Vetor coluna com a diagonal principal da matriz A.

d = diag(A, k)

Vetor coluna com a k-ésima diagonal de A.

Descrição

O mesmo nome faz as duas tarefas, conforme a entrada: um vetor constrói uma matriz e uma matriz devolve um vetor. Uma matriz com uma única linha ou coluna conta como vetor, então diag dela constrói uma matriz. Aplicar diag duas vezes a um vetor devolve o mesmo vetor como coluna.

Argumentos de entrada

v
Vetor cujos elementos vão na diagonal.
A
Matriz de onde ler uma diagonal.
k
Índice da diagonal; 0 (padrão) é a diagonal principal.

Argumentos de saída

D
Matriz de lado numel(v)+abs(k), com zeros fora da diagonal.
d
Vetor coluna com a diagonal escolhida.

Exemplo

diag([1 2 3])
diag([1 2], 1)
A = [1 2 3; 4 5 6; 7 8 9];
diag(A)'
diag(A, -1)'
Saída
ans = 3×3

     1     0     0
     0     2     0
     0     0     3
ans = 3×3

     0     1     0
     0     0     2
     0     0     0
ans = 1×3

     1     5     9
ans = 1×2

     4     8

Veja também

eye blkdiag tril triu trace