Scilab Function

diag - extraction de diagonale ou construction d'une matrice à partir d'une diagonale.

Calling Sequence

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

Parameters

Description

Pour vm un n-vecteur (ligne ou colonne) diag(vm) renvoie une matrice diagonale avec les composantes de vm sur la diagonale principale.

diag(vm,k) est une matrice (n+abs(k))x(n+abs(k)) avec les composantes de vm sur la kième diagonale. k=0 correspond à la diagonale principale k>0 correspond aux diagonales supérieures et k<0 aux diagonales inférieures.

Pour une matrice vm , diag(vm,k) est le vecteur colonne dont les composantes sont les termes de la kième diagonale de vm . diag(vm) est la diagonale principale de vm . diag(diag(x)) est une matrice diagonale.

Si vm est une matrice creuse diag(vm,k) renvoie une matrice creuse.

Pour construire un système linéaire diagonal, utilisez sysdiag .

Notez que eye(A).*A renvoie une matrice diagonale avec les termes diagonaux de A . Ceci est valide pour tout type de matrice (constante, polynomiale, rationnelle, système dynamique linéaire, ...).

Examples

diag([1,2])

A=[1,2;3,4];
diag(A)  // diagonale principale
diag(A,1) 

diag(sparse(1:10))  // matrice diagonale creuse

// Construction d'une matrice tridiagonale de taille 2*m+1
m=5;diag(-m:m) +  diag(ones(2*m,1),1) +diag(ones(2*m,1),-1)
 

See Also

sysdiag ,   sparse ,