Thema: Delphi Inverse einer matrix

Einzelnen Beitrag anzeigen

Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#7

AW: Inverse einer matrix

  Alt 18. Aug 2011, 17:56
ich wäre auch über neue denkanstöße oder hilfelinks sehr dankbar, denn da ich selber nicht mehr checke was ich da hin implementiert habe, besstehe ich nicht auf das gedöns ^^
Wie wäre es, wenn du die Zeilenoperationen in eigene Funktionen schiebst?
Das würde deinen Code viel lesbarer machen.


Du kannst Gauß "rekursiv" anwenden, wobei du immer eine Spalte und eine Zeile weniger betrachtest:

Angenommen du hast eine n*n-Matrix M = (a_ij) mit i = Zeilennummer, j = Spaltennummer.
Code:
für j := 1 bis n tue
  wenn a_jj = 0 dann
    suche i > j mit a_ij <> 0; // existiert, da Matrix vollen Rang hat
    tauche a_1j und a_ij;
  // jetzt ist a_jj <> 1
  Multipliziere Zeile j mit dem multiplikativen Inversen von a_jj;
  // jetzt ist a_jj = 1
  Addiere Zeile j so auf die restlichen Zeilen, dass dort Nullen in Spalte j entstehen (passenden Faktor wählen);
XXXX 1. Schleifendurchlauf
XXXX 2. Schleifendurchlauf
XXXX 3. Schleifendurchlauf
XXXX 4. Schleifendurchlauf

Apropos, in welchem Körper rechnest du eigentlich?
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat