Diss.-ETH 12317 Diss.-ETH 12317 Diss.-ETH 12317 Diss.-E Eine ...
Diss.-ETH 12317 Diss.-ETH 12317 Diss.-ETH 12317 Diss.-E Eine ...
Diss.-ETH 12317 Diss.-ETH 12317 Diss.-ETH 12317 Diss.-E Eine ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
4.5. NEWTON-RAPHSON-NETZBERECHNUNG 75<br />
– Anschluss(char* name, int i, VNtor* nt)<br />
Der Konstruktor erzeugt am Ntor nt einen Anschluss mit dem<br />
Index i und dem Namen name.<br />
– Variable* GetVar(char* name)<br />
Implementiert die Zugriffsfunktion Vk(basename,i) auf eine Variable<br />
im zugehörigen Ntor k. In der Zeichenkette name ist<br />
basename und Index i zusammengehängt.<br />
• VSummengeber: Diese Klasse implementiert die Summengeber-Basisklasse<br />
und stellt einen Platzhalter für die vom Klienten zu definierenden<br />
Summengeber-Typen dar.<br />
– InsertAnschluss(char* name,int i,VNtor* meinNTor)<br />
Der Konstruktor erzeugt am Ntor meinNTor einen Anschluss mit<br />
dem Index i und dem Namen name.<br />
• VNtor: Diese Klasse implementiert die Ntor-Basisklasse und stellt<br />
einen Platzhalter für die vom Klienten zu definierenden Ntor-Typen<br />
dar.<br />
4.5.4 Lösen des linearen Gleichungssystems<br />
Das Lösen des linearen Gleichungssystems A · x = b geschieht mit einem<br />
bewährten und leistungsfähigen Softwarepaket aus der mathematischen<br />
Domäne. Dieses Paket besteht aus einzelnen Unterprogrammen. Es löst<br />
schwachbesetzte Gleichungssysteme mit der Genauigkeit des C oder C++-<br />
Typs “Double”. Es ist innerhalb der Klasse LinSolver gekapselt. Dadurch<br />
kann das Paket im objekt-orientierten Programm-Kontext des Frameworks<br />
benutzt werden. Die Klasse LinSolver hat folgende Schnittstelle:<br />
• LinSolver(int n, int nzmax)<br />
Der Klassen-Konstruktor benötigt die Dimension des Gleichungssystems<br />
n, sowie die Anzahl der Nicht-Nullelemente nzmax in der Matrix<br />
A. Je nach Wert dieser Parameter wird Speicher alloziert, der im<br />
Destruktor wieder freigegeben wird.<br />
• fillVector(double bi, int i)<br />
Schreibt bi i = 0,1,...,n−1<br />
• double readVector(int i)<br />
Gibt bi i = 0,1,...n−1<br />
<strong>Diss</strong>.-<strong>ETH</strong> <strong>12317</strong> <strong>Diss</strong>.-<strong>ETH</strong> <strong>12317</strong> <strong>Diss</strong>.-<strong>ETH</strong> <strong>12317</strong> <strong>Diss</strong>.-E