lettura facile

Le matrici triangolari su Octave

In questa lezione ti spiego come fare una matrice triangolare su Octave.

Cos'è una matrice triangolare? E' una matrice quadrata dove solo la diagonale principale e gli elementi sopra (triangolare superiore) o sotto (triangolare inferiore) la diagonale principale sono diversi da zero. Ad esempio, questa è una matrice triangolare inferiore $$ T = \begin{pmatrix} 1 & 0 & 0 \\ 2 & 3 & 0 \\ 4 & 5 & 6 \end{pmatrix} $$ Questa, invece, è una matrice triangolare superiore. $$ T = \begin{pmatrix} 1 & 2 & 3 \\ 0 & 4 & 5 \\ 0 & 0 & 6 \end{pmatrix} $$

Ti faccio un esempio pratico.

Crea una matrice quadrata di qualsiasi dimensione.

>> M=[1 2 3;4 5 6;7 8 9]
M =
1 2 3
4 5 6
7 8 9

Ora trasforma la matrice M in una matrice triangolare superiore (upper triangolar matrix)

Digita il comando triu(M)

La funzione restituisce una matrice in cui solo gli elementi sulla diagonale principale e sopra la diagonale sono diversi da zero.

>> triu(M)
ans =
1 2 3
0 5 6
0 0 9

Se invece vuoi creare una matrice triangolare inferiore (lower triangolar matrix) usa il comando tril(M)

La funzione restituisce una matrice in cui solo gli elementi sulla diagonale principale e sotto la diagonale sono diversi da zero.

>> tril(M)
ans =
1 0 0
4 5 0
7 8 9

In questo modo puoi creare matrici triangolari di qualsiasi ordine.

Puoi usare le funzioni triu() e tril() anche sulle matrici rettangolari.

Ad esempio crea una matrice rettangolare

>> M2=[1 1 1 1; 2 2 2 2; 3 3 3 3]
M2 =
1 1 1 1
2 2 2 2
3 3 3 3

Poi digita triu(M2) e dai invio

La funzione in output è un'altra funzione rettangolare con elementi uguale a zero sotto la diagonale della matrice quadrata più grande che si trova all'interno della matrice rettangolare

>> triu(M2)
ans =
1 1 1 1
0 2 2 2
0 0 3 3

Se digiti tril(M2) il risultato è simile.

In questo caso gli elementi uguali a zero sono sopra la diagonale principale.

>> tril(M2)
ans =
1 0 0 0
2 2 0 0
3 3 3 0

Se questa lezione di StemKB su Octave ti ha aiutato, continua a seguirci.

 




Non hai risolto il tuo problema? Scrivi una domanda




FacebookTwitterLinkedinLinkedin