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.