Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Português - 日本語 - Русский

Please note that the recommended version of Scilab is 6.0.0. This page might be outdated.
See the recommended documentation of this function

Aide de Scilab >> Fonctions Elémentaires > Matrices élémentaires > diag

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 — Create a block diagonal matrix from provided inputs or block diagonal system connection
  • sparse — sparse matrix definition
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Thu Oct 02 13:54:30 CEST 2014