Contenu principal

diag

Créer une matrice diagonale ou obtenir les éléments de la diagonale d’une matrice

Description

D = diag(v) renvoie une matrice diagonale carrée avec les éléments du vecteur v sur la diagonale principale.

exemple

D = diag(v,k) place les éléments du vecteur v sur la k-ième diagonale. k=0 représente la diagonale principale, k>0 est au-dessus de celle-ci et k<0 est en dessous.

exemple

x = diag(A) renvoie un vecteur colonne contenant les éléments de la diagonale principale de A.

exemple

x = diag(A,k) renvoie un vecteur colonne contenant les éléments de la k-ième diagonale de A.

exemple

Exemples

réduire tout

Créez un vecteur de 1 x 5.

v = [2 1 -1 -2 -5];

Utilisez diag pour créer une matrice avec les éléments de v sur la diagonale principale.

D = diag(v)
D = 5×5

     2     0     0     0     0
     0     1     0     0     0
     0     0    -1     0     0
     0     0     0    -2     0
     0     0     0     0    -5

Créez une matrice avec les éléments de v sur la première diagonale supérieure (k=1).

D1 = diag(v,1)
D1 = 6×6

     0     2     0     0     0     0
     0     0     1     0     0     0
     0     0     0    -1     0     0
     0     0     0     0    -2     0
     0     0     0     0     0    -5
     0     0     0     0     0     0

Le résultat est une matrice de 6 x 6. Lorsque vous spécifiez un vecteur de longueur n en entrée, diag renvoie une matrice carrée de taille n+abs(k).

Obtenez les éléments de la diagonale principale d’une matrice aléatoire de 6 x 6.

A = randi(10,6)
A = 6×6

     9     3    10     8     7     8
    10     6     5    10     8     1
     2    10     9     7     8     3
    10    10     2     1     4     1
     7     2     5     9     7     1
     1    10    10    10     2     9

x = diag(A)
x = 6×1

     9
     6
     9
     1
     7
     9

Obtenez les éléments de la première diagonale inférieure (k=-1) de A. Le résultat contient un élément de moins que la diagonale principale.

x1 = diag(A,-1)
x1 = 5×1

    10
    10
     2
     9
     2

Le fait d’appeler diag deux fois de suite renvoie une matrice diagonale composée des éléments de la diagonale de la matrice d’origine.

A1 = diag(diag(A))
A1 = 6×6

     9     0     0     0     0     0
     0     6     0     0     0     0
     0     0     9     0     0     0
     0     0     0     1     0     0
     0     0     0     0     7     0
     0     0     0     0     0     9

Arguments d'entrée

réduire tout

Éléments de la diagonale, spécifiés sous forme de vecteur. Si v est un vecteur à N éléments, diag(v,k) est une matrice carrée d’ordre N+abs(k).

diag([]) renvoie une matrice vide [].

Types de données : single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char
Support des nombres complexes : Oui

Matrice en entrée. diag renvoie une erreur si ndims(A) > 2.

diag([]) renvoie une matrice vide [].

Types de données : single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char
Support des nombres complexes : Oui

Numéro de la diagonale, spécifié sous forme de nombre entier. k=0 représente la diagonale principale, k>0 est au-dessus de celle-ci et k<0 est en dessous.

Pour une matrice de dimension m x n, k est compris dans la plage (m+1)k(n1). Par exemple, pour les matrices où n est supérieur à m, la diagonale principale k=0 se compose des éléments ayant les indices (1,1), (2,2), ..., (m,m). k=1 est au-dessus de la diagonale principale et se compose des éléments ayant les indices (1,2), (2,3), ..., (m,m+1). k=-1 est en dessous de la diagonale principale et se compose des éléments ayant les indices (2,1), (3,2), ..., (m,m-1).

Diagonal numbers k=0, k>0, and k<0

Conseils

  • La trace d’une matrice est égale à sum(diag(A)).

Capacités étendues

développer tout

Historique des versions

Introduit avant R2006a

Voir aussi

| | | | | |