Tipps und Tricks zu DERIVE

Matrizen

Inhalt:


Austausch einer Spalte oder Zeile

Frage:

Ich suche eine Funktion, die die Spalte oder Zeile einer vorliegenden Matrix gegen eine andere Spalte oder Zeile vertauscht.

Antwort:

Hier sind die Funktionen, die das Gewünschte leisten mit betreffenden Beispielen:


Inversion einer Matrix

Frage:

Ich möchte gerne die Inverse einer Matrix berechnen und dabei die einzelnen Schritte nachvollziehen können (wie bei der händischen Durchführung). Das könnte zB so aussehen:

          

Antwort:

Man könnte die gleichen Operationen verwenden, wie bei den Gleichungssystemen gezeigt. Wenn das aber zu umständlich ist, können alle Schritte, die jeweils eine Spalte betreffen, in einen Rechengang zusammengefasst werden: Wir schreiben ein Miniprogramm dazu:

Zuerst lassen wir DERIVE auch die erweiterte Matrix erzeugen!

Dieses Programm führt jeden Schritt aus und speichert die transformierte Matrix unter dem Namen inv.
sp ist die zu transformierende Spalte, t = 1 oder −1 gibt die Richtung (nach unten/nach oben) an. Zuerst sehen Sie das Programm, dann folgt ein Musterlauf.

Jetzt geht es, mit der 3. Spalte beginnend wieder zurück:

Zur Kontrolle lassen wir die inverse Matrix berechnen:

Hinweis: Der PIVOT-Befehl von DERIVE schafft auch einiges!

Ein Tausch der Zeilen i und j kann händisch mit dem Befehl SWAP_ELEMENTS(Matrix,i,j) jederzeit durchgeführt werden.

usw.

Ein Einzeiler von Johann Wiesenbauer schafft dies viel eleganter:



Natürlich kann damit auch die Gauß´sche Eliminationsmethode schrittweise nachvollzogen werden.

© PI-NOe, letzte Änderung am 30. August 2007, erstellt von Josef Böhm und Walter Wegscheider