Nom

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

Séquence d'appel

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

Paramètres

vm

vecteur ou matrice (stockage plein ou creux)

k

entier (valeur par défaut 0)

y

vecteur ou matrice

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, ...).

Exemples

 
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)
 

Voir Aussi

sysdiag, sparse