OKPEDIA PYTHON MATRICI

Come estrarre la diagonale della matrice in Python

Per estrarre una diagonale della matrice in Python, si utilizza la funzione diag della libreria numpy.

diag(x [,k])

  • L'argomento x è una variabile array di tipo matrice.
  • L'argomento k è facoltativo. Consente di indicare la diagonale della matrice da estrarre. Se k>0 estrae le diagonali sopra quella principale, se k<0 le diagonali sotto quella principale.

La funzione diag() estrae la diagonale principale della matrice.

Cos'è la diagonale della matrice? È la sequenza degli elementi situati nella diagonale principale, a partire dal primo elemento in alto a sinistra all'ultimo elemento in basso a destra.
esempio di diagonale nella matrice

Per estrarre la diagonale secondaria ( antidiagonale ), riflettere la matrice su se stessa tramite la funzione fliplr() prima di calcolare la diagonale.

Poi estrarre la diagonale con la funzione diag().

diag(fliplr(x))

La funzione restituisce la diagonale secondaria.

Cos'è la diagonale secondaria della matrice? È la diagonale composta dagli elementi a partire dall'elemento in alto a destra fino all'elemento in basso a sinistra. È anche detta antidiagonale.
esempio di antidiagonale

Esempi

Esempio 1

Importare il modulo numpy e creare una matrice 3x3 con la funzione array()

>>> import numpy as np
>>> m=np.array([[1,2,3],[4,5,6],[7,8,9]])

Estrarre la diagonale principale della matrice con la funzione diag().

>>> np.diag(m)

La funzione estrae gli elementi della diagonale principale della matrice.

array([1, 5, 9])

La diagonale è restituita come variabile array.

la matrice diagonale

Per avere il risultato come array usare

>>> np.diag(np.diag(m))

Il risultato è lo stesso ma in una matrice diagonale con gli zeri negli elementi diversi dalla diagonale.

array([[1, 0, 0],
[0, 5, 0],
[0, 0, 9]])

Esempio 2

Estrarre la diagonale della matrice con il parametro k=1.

>>> np.diag(m,1)

La funzione diag estrae la diagonale vicino quella superiore, nella parte alta della matrice.

array([2, 6])

La diagonale estratta è la seguente

la diagonale sopra la diagonale principale della matrice

Esempio 3

Estrarre la diagonale della matrice con il parametro k=-1.

>>> np.diag(m,-1)

La funzione diag estrae la diagonale vicino quella superiore, nella parte alta della matrice.

array([4, 8])

La diagonale estratta è la seguente

la diagonale sotto la diagonale principale della matrice

Variando il parametro k si possono estrarre anche le altre diagonali della matrice.

Esempio 4 ( antidiagonale )

Per estrarre la diagonale secondaria di una matrice, riflettere la matrice con la funzione fliplr() di numpy.

>>> import numpy as np
>>> m=np.array([[1,2,3],[4,5,6],[7,8,9]])
>>> m2=np.fliplr(m))

Il contenuto della matrice m2 è

>>> m2
array([[3, 2, 1],
[6, 5, 4],
[9, 8, 7]])

Estrarre la diagonale dell'antimatrice m2 con la funzione diag().

>>> np.diag(m2)

La funzione estrae gli elementi della diagonale principale della matrice.

array([3, 5, 7])

E' la diagonale secondaria della matrice iniziale.

un esempio di antidiagonale

https://how.okpedia.org/it/python/come-estrarre-la-diagonale-della-matrice-in-python


Segnala un errore o invia un suggerimento per migliorare la pagina


Matrici in Python


FacebookTwitterLinkedinLinkedin