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