DVG1 - 09 - Gaußscher Algorithmus1 Gaußscher Algorithmus.

Slides:



Advertisements
Ähnliche Präsentationen
Abschlussprüfung an Realschulen
Advertisements

Algorithmentheorie 08 – Dynamische Programmierung (1)
Praktischer Teil des Seminars
a2 + b2 = c2 Im Rechtwinkligen Dreieck gilt:
13. Transformationen mit Matrizen
LINEARE GLEICHUNGEN IN EINER VARIABLEN
Abschlussprüfung an Realschulen
Die 1-Baum-Relaxation des TSP mit der Subgradientenmethode
Lösung von linearen Gleichungssystemen - Grundlagen
FOR Anweisung.
WS Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. Th. Ottmann.
Algorithmentheorie 02 – Polynomprodukt und Fast Fourier Transformation
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
Lösung linearer Gleichungssysteme
Logarithmusgleichung Von Daniel und Leo. Und los geht´s … log 2 (3x – 1) + log 2 (x+5) = 6 1. Schritt: Definitionsmenge bestimmen ID 1 = 3x – 1 > 0I +1.
Quadratische Gleichungen und Namen
Numerik partieller Differentialgleichungen
Beispiele für Gleichungssysteme
V 12: Systemen partieller Differentialgleichungen
Es ist kaum einzusehen, warum die Jugend von heute mit den Mitteln von gestern für das Leben von morgen qualifiziert werden soll. Es ist was Wahres dran,
Zahlenformate DVG Zahlenformate.
Gaußscher Algorithmus
DVG Einfache Klassen 1 Einfache Klassen. 2DVG Einfache KlassenStrukturen Beispiel: Personendaten bestehen aus String name String name.
© 2004 Pohlig - Taulien Dokumentation mit JavaDoc.
§14 Basis und Dimension  (14.1) Definition: V sei wieder ein K-Vektorraum. Eine Menge B von Vektoren aus V heißt Basis von V, wenn B ist Erzeugendensystem.
§ 29 Determinanten: Eigenschaften und Berechnung
Rekursion Richard Göbel.
Template Pattern Richard Göbel.
Computergrafik – Inhalt Achtung! Kapitel ist relevant für CG-2!
Algebraische Gleichungen
Ausgleichung ohne Linearisierung
Multiplikation großer Zahlen mit Standard-FFT
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Hartmut Klauck Universität Frankfurt WS 06/
§3 Allgemeine lineare Gleichungssysteme
Gleichungen und Gleichungssysteme
Die Zählschleife int s = 0 for (int k=1; k
Technische Informatik Reihungen – Felder - Arrays.
Christian Mansky Design - Fallstudien Christian Mansky
Umgekehrte Kurvendiskussion
Grundwissen Wie lautet die Gleichung aller Parabeln? y = ax² + bx + c
Einführung ins Lösen von Gleichungen
Level 1 Gib die Gleichungen der Normalparabeln in der Scheitelform an.
Eine Hilfe zum Verständnis der Finite-Elemente-Methode
CuP - Java Neunte Vorlesung Entspricht Kapitel 4.2 und 5 des Skriptums
Vorlesung 5. #include double fv(double x) { return sin(x); } int main(){ int i,N=10; double a=1,b=2,del,x,sum,f,integral; for(i=1,sum=0.0,del = (b-a)/N;i
Lineare Gleichungen mit 2 Variablen
Java-Kurs - 8. Übung Besprechung der Hausaufgabe.
Stetige Kleinste-Quadrate-Approximation
Folie 1 §21 Das Produkt von Matrizen (21.1) Definition: Für eine (m,n)-Matrix A und eine (n,s)-Matrix B ist das (Matrizen-) Produkt AB definiert als (21.2)
Lineare Algebra 11. Matrizen Eine m  n-Matrix ist ein Raster aus m  n Koeffizienten, die in m Zeilen und n Spalten angeordnet sind. = (a ij )
Dr.-Ing. R. Marklein - GET I - WS 06/07 - V Grundlagen der Elektrotechnik I (GET I) Vorlesung am Fr. 08:30-10:00 Uhr; R (Hörsaal)
Für den Punkt A gilt : x = 2 und y = 14
Theorie, Anwendungen, Verallgemeinerungen
Optimierungs- Algorithmen Petra Mutzel Technische Universität Wien Institut für Computergraphik und Algorithmen Algorithmen und Datenstrukturen 2.
Lineare Gleichungen Allgemeine Einführung Äquivalenzumformungen
Thema: Variable und Gleichungen
„Inside CAS“ Teil I: Polynome faktorisieren Teil II: Automatisches Beweisen Heinz Klemenz, KZO Wetzikon,
Theory of Programming Prof. Dr. W. Reisig Was heißt „Korrektheit“? W. Reisig Workshop Modellierung Hamburg, März 2015.
Löse folgende Gleichung: Inhalt Ende Komplexe Terme durch Substitution lösen.
Andra Cara WS `09/10 Seminar: Aufgaben im Mathematikunterricht.
Mathematik der Geraden – Lineare Funktion
gesucht ist die Geradengleichung
Organisatorisches DiMa für Master of Science Mathe anrechenbar
Wärmelehre Lösungen.
Elektrizitätslehre Lösungen.
 Präsentation transkript:

DVG Gaußscher Algorithmus1 Gaußscher Algorithmus

DVG Gaußscher Algorithmus 2 Lösen Sie das lineare Gleichungssystem AX=B ! Aufgabenstellung Gegeben: Dimension N ( int N; ) Koeffizienten A ij für i=0,...,N-1 und j=0,...,N-1 ( double [][] A = new double [N][N]; ) rechte Seite B i für i=0,...,N-1 ( double [] B = new double [N]; )

DVG Gaußscher Algorithmus 3 Gesucht: Existenz : Gibt es eine Lösung? Einzigkeit : Wenn es eine Lösung gibt, ist es die einzige Lösung? Lösung bzw. Lösungsmenge

DVG Gaußscher Algorithmus 4 Matrixschreibweise:

DVG Gaußscher Algorithmus 5 Gaußscher Algorithmus Für die erste Gleichung gilt:

DVG Gaußscher Algorithmus 6 X[0]=B[0]; for (int j=1; j<N; j++) { X[0] -= A[0][j]*X[j]; } X[0] /= A[0][0];

DVG Gaußscher Algorithmus 7 X 0 in den anderen (k=1,2,...,N-1) Gleichungen ersetzen: Die Gleichungen hängen nur noch von X 1, X 2,..., X N-1 ab. Die Dimension des Gleichungssystems ist also um 1 erniedrigt. Algorithmus kann in place durchgeführt werden, d.h. die Felder A und B können wiederverwendet werden.

DVG Gaußscher Algorithmus 8 for (int k=1; k<N; k++) { for (int j=1; j<N; j++) { A[k][j] -= A[k][0]*A[0][j]/A[0][0]; } } for (int k=1; k<N; k++) { B[k] -= A[k][0]*B[0]/A[0][0]; } für k=1,...,N-1 und j=1,...,N-1 für k=1,...,N-1 Koeffizienten und rechte Seiten des reduzierten Gleichungssystems

DVG Gaußscher Algorithmus 9 Nach der Anwendung eines Schrittes des Gaußschen Verfahrens entsteht folgendes Gleichungssystem (mit modifizierten Koeffizienten und rechten Seiten): Dieses Gleichungssystem und das ursprüngliche sind lösungsäquivalent. Voraussetzung :

DVG Gaußscher Algorithmus 10 Nach der Anwendung von i Schritten des Gauß-Jordan Verfahrens entsteht folgendes Gleichungssystem: Dieses Gleichungssystem und das ursprüngliche sind lösungsäquivalent. Voraussetzung :

DVG Gaußscher Algorithmus 11 Für die i-te Gleichung gilt:

DVG Gaußscher Algorithmus 12 X[i]=B[i]; for (int j=i+1; j<N; j++) { X[i] -= A[i][j]*X[j]; } X[i] /= A[i][i];

DVG Gaußscher Algorithmus 13 X i in den anderen (k=i+1,2,...,N-1) Gleichungen ersetzen: Die Gleichungen hängen nur noch von X i+1, X i+2,..., X N-1 ab.

DVG Gaußscher Algorithmus 14 for (int k=i+1; k<N; k++) { for (int j=i+1; j<N; j++) { A[k][j] -= A[k][i]*A[i][j]/A[i][i]; } } for (int k=i+1; k<N; k++) { B[k] -= A[k][i]*B[i]/A[i][i]; } für k=i+1,...,N-1 und j=i+1,...,N-1 für k=i+1,...,N-1 Koeffizienten und rechte Seiten des reduzierten Gleichungssystems

DVG Gaußscher Algorithmus 15 Nach der Anwendung von N-1 Schritten des Gaußschen Verfahrens entsteht folgendes Gleichungssystem: Dieses Gleichungssystem und das ursprüngliche sind lösungsäquivalent. Voraussetzung :

DVG Gaußscher Algorithmus 16 Es bleibt die Gleichung : X[N-1]=B[N-1]/A[N-1][N-1];

DVG Gaußscher Algorithmus 17 for (int i=0; i<N-1; i++) { for (int k=i+1; k<N; k++) { for (int j=i+1; j<N; j++) { A[k][j] -= A[k][i]*A[i][j]/A[i][i]; } B[k] -= A[k][i]*B[i]/A[i][i]; } } X[N-1]=B[N-1]/A[N-1][N-1]; for (int i=N-2; i>=0; i--) { X[i]=B[i]; for (int j=i+1; j<N; j++) { X[i] -= A[i][j]*X[j]; } X[i] /= A[i][i]; }

DVG Gaußscher Algorithmus 18 for (int i=0; i<N-1; i++) { for (int k=i+1; k<N; k++) { for (int j=i+1; j<N; j++) { A[k][j] -= A[k][i]*A[i][j]/A[i][i]; } B[k] -= A[k][i]*B[i]/A[i][i]; } } for (int i=N-1; i>=0; i--) { X[i]=B[i]; for (int j=i+1; j<N; j++) { X[i] -= A[i][j]*X[j]; } X[i] /= A[i][i]; }

DVG Gaußscher Algorithmus 19 Problem: A i,i muss immer verschieden von Null sein! Z.B.: Das System ist eindeutig lösbar X 1 = X 2 = X 3 = 1. Der Algorithmus funktioniert aber nicht, da A 0,0 = 0. Man braucht nur die Gleichungen umzusortieren und der Algorithmus funktioniert.

DVG Gaußscher Algorithmus 20 double maxa = Math.abs(A[i][i]); int imaxa = i; for (int k=i+1; k<N; k++) { if ( Math.abs(A[k][i])>maxa ) { maxa = Math.abs(A[k][i]); imaxa = k; } } if (i != imaxa) { double [] Ah = A[i]; A[i]=A[imaxa]; A[imaxa]=Ah; double h = B[i]; B[i]=B[imaxa]; B[imaxa]=h; }