LGS-Loeser 0.1
|
00001 00002 // Praktikum Informatik 1 00003 // Versuch 7: L�sung eines mathematischen Anwendungsproblems 00004 // 00005 // Datei: LR.h 00006 // Inhalt: LR-Klasse 00008 00009 #ifndef LR_H_ 00010 #define LR_H_ 00011 00015 00016 #include "LGSLoeser.h" 00017 #include "QMatrix.h" 00018 #include "Vektor.h" 00019 00023 00024 class LR: public LGSLoeser 00025 { 00026 public: 00027 // Konstruktor, übernimmt die Dimension 00028 LR(int n); 00029 // Lösungsmethode, übernimmt Matrix A und Vektor b und gibt die Lösung x zurück 00030 Vektor loese(QMatrix A, Vektor b); 00031 // Destruktor 00032 ~LR(); 00033 00034 private: 00035 // Unterteilung des Lösungsvorgangs in 4 Schritte: 00036 // Zerlegt Matrix A, Die zerlegten Matrizen L und R sind danach in A gespeichert 00037 void zerlege(QMatrix& A); 00038 // Herauskopieren der bedeutenden Einträge in L und R 00039 void erzeugeLundR(QMatrix& A); 00040 // Vorwaertseinsetzen(berechnen von Vektor y aus L und b) 00041 void vorwaertsEinsetzen(Vektor& b); 00042 // Rueckwaertseinsetzen(berechnen von Vektor x aus R und y) 00043 void rueckwaertsEinsetzen(); 00044 00045 Vektor* y; 00046 QMatrix* L; 00047 QMatrix* R; 00048 }; 00049 00050 00051 #endif /*LR_H_*/