Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
5.4.0 - Français

Change language to:
English - 日本語 - Português - Русский

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

Aide 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 — block diagonal system connection
  • sparse — sparse matrix definition
Report an issue
<< Matrices élémentaires Matrices élémentaires eye >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon Oct 01 17:37:12 CEST 2012