View
1
Download
0
Category
Preview:
Citation preview
Programmieren in derComputerorientierten Mathematik I
Einfuhrungsveranstaltung
Freie Universitat Berlin
20. Oktober 2017
Tobias Kies
,Angewandte Mathematiker und ihre Fehler
”reales“ Problem
mathematisches Modell
Losungsalgorithmus
Implementierung
Modellfehler
Diskretisierungsfehler,Approximationsfehler, . . .
Rundungsfehler
,
2
,Beispiel
”reales“ Problem
Positionsbestimmung eines Flugobjekts zur Zeit T .
Position zu t = 0
Position zu t = T
Flugbahn
,
3
,Beispiel
mathematisches Modell
Vereinfachende Annahmen: Objekt als Punkt, Position x0 zu t = 0bekannt, Geschwindigkeitsvektor v(t) bekannt fur t ∈ [0,T ].
Fehler: Objekt ist kein Punkt, Messfehler in x(0) und v(t), . . .
Formel fur Position zum Zeitpunkt T :
x(T ) = x0 +
∫ T
0
v(t)dt
= x0 + limn→∞
T
n
n∑i=1
v
(i · T
n
)(Def. Riemann-Integral)
Wichtig: Wohldefiniertheit? (”Ergibt dieser Ausdruck Sinn?“)
,
4
,Beispiel
mathematisches Modell
Vereinfachende Annahmen: Objekt als Punkt, Position x0 zu t = 0bekannt, Geschwindigkeitsvektor v(t) bekannt fur t ∈ [0,T ].
Fehler: Objekt ist kein Punkt, Messfehler in x(0) und v(t), . . .
Formel fur Position zum Zeitpunkt T :
x(T ) = x0 +
∫ T
0
v(t)dt
= x0 + limn→∞
T
n
n∑i=1
v
(i · T
n
)(Def. Riemann-Integral)
Wichtig: Wohldefiniertheit? (”Ergibt dieser Ausdruck Sinn?“)
,
4
,Beispiel
mathematisches Modell
Vereinfachende Annahmen: Objekt als Punkt, Position x0 zu t = 0bekannt, Geschwindigkeitsvektor v(t) bekannt fur t ∈ [0,T ].
Fehler: Objekt ist kein Punkt, Messfehler in x(0) und v(t), . . .
Formel fur Position zum Zeitpunkt T :
x(T ) = x0 +
∫ T
0
v(t)dt
= x0 + limn→∞
T
n
n∑i=1
v
(i · T
n
)(Def. Riemann-Integral)
Wichtig: Wohldefiniertheit? (”Ergibt dieser Ausdruck Sinn?“)
,
4
,Beispiel
mathematisches Modell
Vereinfachende Annahmen: Objekt als Punkt, Position x0 zu t = 0bekannt, Geschwindigkeitsvektor v(t) bekannt fur t ∈ [0,T ].
Fehler: Objekt ist kein Punkt, Messfehler in x(0) und v(t), . . .
Formel fur Position zum Zeitpunkt T :
x(T ) = x0 +
∫ T
0
v(t)dt
= x0 + limn→∞
T
n
n∑i=1
v
(i · T
n
)(Def. Riemann-Integral)
Wichtig: Wohldefiniertheit? (”Ergibt dieser Ausdruck Sinn?“)
,
4
,Beispiel
Zwischenschritt:Diskretisierung
Ziel: Approximiere die Losung mit Hilfe endlich vieler
”Elementaroperationen“.
Dafur zunachst: Das Problem diskretisieren, also”endlich machen“.
Approximation
xN(T ) := x0 +T
N
N∑i=1
v
(i · T
N
)
Diskretisierungsfehler
‖x(T )− xN(T )‖ ≤ ?
,
5
,Beispiel
Zwischenschritt:Diskretisierung
Ziel: Approximiere die Losung mit Hilfe endlich vieler
”Elementaroperationen“.
Dafur zunachst: Das Problem diskretisieren, also”endlich machen“.
Approximation
xN(T ) := x0 +T
N
N∑i=1
v
(i · T
N
)
Diskretisierungsfehler
‖x(T )− xN(T )‖ ≤ ?
,
5
,Beispiel
Zwischenschritt:Diskretisierung
Ziel: Approximiere die Losung mit Hilfe endlich vieler
”Elementaroperationen“.
Dafur zunachst: Das Problem diskretisieren, also”endlich machen“.
Approximation
xN(T ) := x0 +T
N
N∑i=1
v
(i · T
N
)
Diskretisierungsfehler
‖x(T )− xN(T )‖ ≤ ?
,
5
,Beispiel
Losungsalgorithmus
Fur unser Problem: Ein Losungsalgorithmus ist eine konkreteAufeinanderfolge von Elementaroperationen, mit denen xN(T )berechnet werden kann.
Es gibt unendlich viele Losungsalgorithmen!
Haufig werden Algorithmen nur als Pseudocode angedeutet (oder durcheine konkrete Implementierung):
1: Gegeben: x0 ∈ R3, N ∈ N, T ∈ R>0 und v(i TN)∈ R3 fur i ∈ {1, . . . ,N}
2: Initialisiere xN(T ) := x0, h := TN
3: for i = 1, . . . ,N do4: xN(T )← xN(T ) + hv(ih)5: end for
,
6
,Beispiel
Losungsalgorithmus
Fur unser Problem: Ein Losungsalgorithmus ist eine konkreteAufeinanderfolge von Elementaroperationen, mit denen xN(T )berechnet werden kann.
Es gibt unendlich viele Losungsalgorithmen!
Haufig werden Algorithmen nur als Pseudocode angedeutet (oder durcheine konkrete Implementierung):
1: Gegeben: x0 ∈ R3, N ∈ N, T ∈ R>0 und v(i TN)∈ R3 fur i ∈ {1, . . . ,N}
2: Initialisiere xN(T ) := x0, h := TN
3: for i = 1, . . . ,N do4: xN(T )← xN(T ) + hv(ih)5: end for
,
6
,Beispiel
Losungsalgorithmus
Fur unser Problem: Ein Losungsalgorithmus ist eine konkreteAufeinanderfolge von Elementaroperationen, mit denen xN(T )berechnet werden kann.
Es gibt unendlich viele Losungsalgorithmen!
Haufig werden Algorithmen nur als Pseudocode angedeutet (oder durcheine konkrete Implementierung):
1: Gegeben: x0 ∈ R3, N ∈ N, T ∈ R>0 und v(i TN)∈ R3 fur i ∈ {1, . . . ,N}
2: Initialisiere xN(T ) := x0, h := TN
3: for i = 1, . . . ,N do4: xN(T )← xN(T ) + hv(ih)5: end for
,
6
,Beispiel
Losungsalgorithmus
Fur unser Problem: Ein Losungsalgorithmus ist eine konkreteAufeinanderfolge von Elementaroperationen, mit denen xN(T )berechnet werden kann.
Es gibt unendlich viele Losungsalgorithmen!
Haufig werden Algorithmen nur als Pseudocode angedeutet (oder durcheine konkrete Implementierung):
1: Gegeben: x0 ∈ R3, N ∈ N, T ∈ R>0 und v(i TN)∈ R3 fur i ∈ {1, . . . ,N}
2: Initialisiere xN(T ) := x0, h := TN
3: for i = 1, . . . ,N do4: xN(T )← xN(T ) + hv(ih)5: end for
,
6
,Beispiel
Implementierung
Potentieller Nutzen
Illustration bewiesener Ergebnisse
Simulationen in Zusammenarbeit mit anderen Wissenschaftlern
Leichtere Verfugbarkeit der Algorithmen fur andere
Impulse fur die weitere Forschung
Beispiel
,
7
,Beispiel
Implementierung
Potentieller Nutzen
Illustration bewiesener Ergebnisse
Simulationen in Zusammenarbeit mit anderen Wissenschaftlern
Leichtere Verfugbarkeit der Algorithmen fur andere
Impulse fur die weitere Forschung
Beispiel
,
7
,Beispiel
Implementierung
Potentieller Nutzen
Illustration bewiesener Ergebnisse
Simulationen in Zusammenarbeit mit anderen Wissenschaftlern
Leichtere Verfugbarkeit der Algorithmen fur andere
Impulse fur die weitere Forschung
Beispiel
,
7
,Beispiel
Implementierung
Potentieller Nutzen
Illustration bewiesener Ergebnisse
Simulationen in Zusammenarbeit mit anderen Wissenschaftlern
Leichtere Verfugbarkeit der Algorithmen fur andere
Impulse fur die weitere Forschung
Beispiel
,
7
,Beispiel
Implementierung
Potentieller Nutzen
Illustration bewiesener Ergebnisse
Simulationen in Zusammenarbeit mit anderen Wissenschaftlern
Leichtere Verfugbarkeit der Algorithmen fur andere
Impulse fur die weitere Forschung
Beispiel
,
7
,Beispiel
Implementierung
Potentieller Nutzen
Illustration bewiesener Ergebnisse
Simulationen in Zusammenarbeit mit anderen Wissenschaftlern
Leichtere Verfugbarkeit der Algorithmen fur andere
Impulse fur die weitere Forschung
Beispiel
,
7
,Zusammengefasst
Angewandte Mathematik findet sich haufig an der Schnittstellezu anderen Wissenschaften.
Physik, Chemie, Biologie, Informatik, Medizin,Gesellschaftswissenschaften, . . .
Programmieren ist ein ungemein wichtiger Bestandteil des Alltagsangewandter Mathematiker. . .
Verifizierung von Resultaten, Inspiration fur neue Resultate,Teil interdisziplinarer Zusammenarbeit, . . .
. . . aber das Hauptaugenmerk liegt woanders.
Analyse mathematischer Modelle, Entwicklung undAnalyse von Algorithmen, . . .
,
8
,Zusammengefasst
Angewandte Mathematik findet sich haufig an der Schnittstellezu anderen Wissenschaften.
Physik, Chemie, Biologie, Informatik, Medizin,Gesellschaftswissenschaften, . . .
Programmieren ist ein ungemein wichtiger Bestandteil des Alltagsangewandter Mathematiker. . .
Verifizierung von Resultaten, Inspiration fur neue Resultate,Teil interdisziplinarer Zusammenarbeit, . . .
. . . aber das Hauptaugenmerk liegt woanders.
Analyse mathematischer Modelle, Entwicklung undAnalyse von Algorithmen, . . .
,
8
,Zusammengefasst
Angewandte Mathematik findet sich haufig an der Schnittstellezu anderen Wissenschaften.
Physik, Chemie, Biologie, Informatik, Medizin,Gesellschaftswissenschaften, . . .
Programmieren ist ein ungemein wichtiger Bestandteil des Alltagsangewandter Mathematiker. . .
Verifizierung von Resultaten, Inspiration fur neue Resultate,Teil interdisziplinarer Zusammenarbeit, . . .
. . . aber das Hauptaugenmerk liegt woanders.
Analyse mathematischer Modelle, Entwicklung undAnalyse von Algorithmen, . . .
,
8
,Zielsetzung
Beherrschung diverser Grundlagen des Programmierens.
Variablen, Funktionen, Kontrollstrukturen, . . .
Fahigkeit, einfache mathematische Algorithmen zu implementieren.
Zahlenumwandlung, euklidischer Algorithmus, gaußschesEliminationsverfahren,. . .
,
9
,Zielsetzung
Beherrschung diverser Grundlagen des Programmierens.
Variablen, Funktionen, Kontrollstrukturen, . . .
Fahigkeit, einfache mathematische Algorithmen zu implementieren.
Zahlenumwandlung, euklidischer Algorithmus, gaußschesEliminationsverfahren,. . .
,
9
,Programmieren mit MATLAB
Wir verwenden fur diesen Kurs MATLAB.
I Mathematisch angehauchte Syntax
I Einfach zu erlernende Sprache
I Einfach auszufuhrende Programme
I Schneller Zugriff auf zahlreiche mathematische Standardalgorithmen
I Ausfuhrliche Dokumentation und große Community
Programmausfuhrung oft langsamer als C/C++ (besonders beiineffizienter Implementierung)
Kostenpflichtig (Alternative furs Zuhause: Octave)
Kaum Objektorientierung
Wenig Nahe zur Maschine
,
10
,Programmieren mit MATLAB
Wir verwenden fur diesen Kurs MATLAB.
I Mathematisch angehauchte Syntax
I Einfach zu erlernende Sprache
I Einfach auszufuhrende Programme
I Schneller Zugriff auf zahlreiche mathematische Standardalgorithmen
I Ausfuhrliche Dokumentation und große Community
Programmausfuhrung oft langsamer als C/C++ (besonders beiineffizienter Implementierung)
Kostenpflichtig (Alternative furs Zuhause: Octave)
Kaum Objektorientierung
Wenig Nahe zur Maschine
,
10
,Programmieren mit MATLAB
Wir verwenden fur diesen Kurs MATLAB.
I Mathematisch angehauchte Syntax
I Einfach zu erlernende Sprache
I Einfach auszufuhrende Programme
I Schneller Zugriff auf zahlreiche mathematische Standardalgorithmen
I Ausfuhrliche Dokumentation und große Community
Programmausfuhrung oft langsamer als C/C++ (besonders beiineffizienter Implementierung)
Kostenpflichtig (Alternative furs Zuhause: Octave)
Kaum Objektorientierung
Wenig Nahe zur Maschine
,
10
,MATLAB fur die Computerorientierte Mathematik I
MATLAB ist geeignet fur. . .
I Programmier-Einsteiger
I kleine bis mittelgroße wissenschaftliche Berechnungen
I Prototyping
MATLAB ist nicht oder nur eingeschrankt geeignet fur. . .
sehr große, rechenintensive Probleme
nicht-wissenschaftliche Anwendungen
umfangreiche Projekte
Open Source Projekte
=⇒ Fur das Ziel dieser Veranstaltung bietet MATLAB einenpassenden Rahmen.
,
11
,MATLAB fur die Computerorientierte Mathematik I
MATLAB ist geeignet fur. . .
I Programmier-Einsteiger
I kleine bis mittelgroße wissenschaftliche Berechnungen
I Prototyping
MATLAB ist nicht oder nur eingeschrankt geeignet fur. . .
sehr große, rechenintensive Probleme
nicht-wissenschaftliche Anwendungen
umfangreiche Projekte
Open Source Projekte
=⇒ Fur das Ziel dieser Veranstaltung bietet MATLAB einenpassenden Rahmen.
,
11
,MATLAB fur die Computerorientierte Mathematik I
MATLAB ist geeignet fur. . .
I Programmier-Einsteiger
I kleine bis mittelgroße wissenschaftliche Berechnungen
I Prototyping
MATLAB ist nicht oder nur eingeschrankt geeignet fur. . .
sehr große, rechenintensive Probleme
nicht-wissenschaftliche Anwendungen
umfangreiche Projekte
Open Source Projekte
=⇒ Fur das Ziel dieser Veranstaltung bietet MATLAB einenpassenden Rahmen.
,
11
,Nutzen uber die Vorlesung hinaus
Einstieg in die Programmierung
Voraussetzung fur diverse weiterfuhrende Kurse
Relevanz in Wissenschaft und Industrie
Erleichterter Einstieg in andere Sprachen wie R, Python und Fortran
Kann fur Schulprojekte in der Oberstufe verwendet werden?
Kann eine gemeinsame Plattform zwischen Mathematiker und Informatikerbieten
Kann als extrem machtiger Taschenrechner den wissenschaftlichen Alltagerleichtern
,
12
,MATLAB lernen
Mit Hilfe der Vorlesung
Ubungsaufgaben
Einfuhrungsskript (sowie weitere Unterlagen spater)
Programmiersprechstunde
regelmaßige Tutorien
MATLAB-Tutorien
Aus Eigenantrieb
Internet (besonders MathWorks und Stack Exchange)
Literatur
Fragen stellen!
,
13
,MATLAB lernen
Mit Hilfe der Vorlesung
Ubungsaufgaben
Einfuhrungsskript (sowie weitere Unterlagen spater)
Programmiersprechstunde
regelmaßige Tutorien
MATLAB-Tutorien
Aus Eigenantrieb
Internet (besonders MathWorks und Stack Exchange)
Literatur
Fragen stellen!
,
13
Recommended