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 - 日本語 - Русский
Aide de Scilab >> Fonctions Elémentaires > Matrice - génération > diag

diag

extraction de diagonale ou construction d'une matrice avec un vecteur en diagonal

Séquence d'appel

y = diag(vm)
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

  • toeplitz — matrice de Toeplitz, à bandes diagonales constantes choisies
  • eye — matrice identité
  • sysdiag — Create a block diagonal matrix from provided inputs or block diagonal system connection
  • spec — valeurs propres d'une matrice
  • bdiag — bloc-diagonalisation, vecteurs propres généralisés
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon Feb 12 19:15:26 CET 2018