Die Dreiecksmatrizen in Octave
In der heutigen Lektion widmen wir uns einem besonderen Thema - der Erstellung einer Dreiecksmatrix in Octave.
Zunächst, was verstehen wir unter einer Dreiecksmatrix? Eine Dreiecksmatrix ist eine quadratische Matrix, in der nur die Hauptdiagonale und die Elemente oberhalb (obere Dreiecksmatrix) oder unterhalb (untere Dreiecksmatrix) der Hauptdiagonale ungleich Null sind. Hier haben wir beispielsweise eine untere Dreiecksmatrix$$ T = \begin{pmatrix} 1 & 0 & 0 \\ 2 & 3 & 0 \\ 4 & 5 & 6 \end{pmatrix} $$ Im Gegensatz dazu wäre dies eine obere Dreiecksmatrix. $$ T = \begin{pmatrix} 1 & 2 & 3 \\ 0 & 4 & 5 \\ 0 & 0 & 6 \end{pmatrix} $$
Lassen Sie uns das Ganze durch ein praktisches Beispiel veranschaulichen.
Erzeugen wir zuerst eine quadratische Matrix beliebiger Größe.
>> M=[1 2 3;4 5 6;7 8 9]
M =
1 2 3
4 5 6
7 8 9
Nun wollen wir unsere Matrix M in eine obere Dreiecksmatrix umwandeln.
Geben Sie hierfür den Befehl triu(M) ein.
Dieser Befehl gibt ein Array zurück, in dem nur die Elemente auf der Hauptdiagonalen und darüber ungleich Null sind.
>> triu(M)
ans =
1 2 3
0 5 6
0 0 9
Möchten Sie hingegen eine untere Dreiecksmatrix erstellen, können Sie den Befehl tril(M) verwenden.
Diese Funktion liefert ein Array zurück, in dem ausschließlich die Elemente auf der Hauptdiagonalen und darunter ungleich Null sind.
>> tril(M)
ans =
1 0 0
4 5 0
7 8 9
Mit dieser Methode sind Sie in der Lage, Dreiecksmatrizen jeglicher Ordnung zu erstellen.
Interessanterweise können die Funktionen triu() und tril() auch auf rechteckige Arrays angewandt werden.
Nehmen wir zum Beispiel eine rechteckige Matrix:
>> 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
Führen Sie dann den Befehl triu(M2) aus und bestätigen Sie.
Die Ausgabefunktion ist eine weitere rechteckige Funktion, in der die Elemente unterhalb der Diagonalen der größten quadratischen Matrix, die innerhalb der rechteckigen Matrix liegt, gleich Null sind.
>> triu(M2)
ans =
1 1 1 1
0 2 2 2
0 0 3 3
Ein ähnliches Ergebnis erzielen Sie mit dem Befehl tril(M2).
In diesem Fall sind die Elemente, die gleich Null sind, oberhalb der Hauptdiagonalen.
>> tril(M2)
ans =
1 0 0 0
2 2 0 0
3 3 3 0