Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - Русский - 日本語
Ajuda do Scilab >> Funções Elementares > Elementary matrices > diag

diag

inclusão ou extração diagonal

Seqüência de Chamamento

[y]=diag(vm, [k])

Parâmetros

vm

vetor ou matriz (armazenamento cheio ou esparso)

k

inteiro (o valor padrão é 0)

y

vetor ou matriz

Descrição

Para um n-vetor (linha ou coluna) vm , diag(vm) retorna uma matriz diagonal com entradas de vm ao longo da diagonal principal.

diag(vm,k) é uma matriz (n+abs(k))x(n+abs(k)) com entradas de vm ao longo da k-ésima diagonal. k=0 é a diagonal principal, k>0 são as diagonais superiores e k<0 são as diagonais inferiores.

Para uma matriz vm, diag(vm,k) é o vetor coluna feito das entradas da k-ésima diagonal de vm. diag(vm) é a diagonal principal de vm. diag(diag(x)) é a matriz diagonal.

Se vm é uma matriz esparsa, diag(vm,k) retorna uma matriz esparsa.

Para construir um sistema linear diagonal, use sysdiag.

Perceba que eye(A).*A retorna uma matriz diagonal feita das entradas diagonais de A. Isto é válido para qualquer matriz (constante, de polinômios, de razões de polinômios, sistema linear em espaço de estados,...).

Exemplos

diag([1,2])

A=[1,2;3,4];
diag(A)  // diagonal principal
diag(A,1) 

diag(sparse(1:10))  // matriz diagonal esparsa

// forma de uma matriz triadiagonal de tamanho 2*m+1
m=5;diag(-m:m) +  diag(ones(2*m,1),1) +diag(ones(2*m,1),-1)

Ver Também

  • sysdiag — conexão de sistemas diagonais em blocos
  • sparse — definição de matriz esparsa
Scilab Enterprises
Copyright (c) 2011-2015 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Wed Jun 15 08:34:40 CEST 2016