11.10.2013 Aufrufe

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 ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!