Gruppenaufgaben
Gruppenaufgaben
Gruppenaufgaben
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Informatik Praktikum <strong>Gruppenaufgaben</strong> 22/26<br />
Aufgabe 5.25 Zweidimensionale lineare Approximation<br />
Schreiben Sie ein Programm linprox.exe, das für gegebene Punkte eine Gerade der Form<br />
Y = Ax + B errechnet, die mit möglichst geringer Abweichung durch (alle) Punkte geht. Die Punkte<br />
sind in einer Text- oder Binärdatei gegeben und von dort einzulesen. Linprox.exe soll dann iterativ<br />
die beste Kombination von A und B bestimmen.<br />
A<br />
Datei: ideal.txt<br />
4<br />
0.00 3.00<br />
2.00 4.42<br />
2.70 5.00<br />
7.00 8.00<br />
Datei: real.txt<br />
5<br />
0.53 2.11<br />
1.12 3.48<br />
1.96 4.55<br />
2.30 5.69<br />
4.00 5.71<br />
Dazu sollen die quadratischen Abweichungen e i an den einzelnen Punkten P i mit<br />
e i = ( P yi – Y(P xi ) )² berechnet und zur Gesamtabweichung E = e 1 +e 2 +e 3 +...e n addiert werden.<br />
Dann sollen A und B geändert und die Abweichungen neu berechnet werden. Dieser Vorgang wird<br />
oft wiederholt und die beste Gerade (mit dem geringsten Fehler E) ausgegeben (Iteration).<br />
Überlegen Sie sich einen Algorithmus zum Auffinden der Startwerte für A und B sowie eine<br />
geeignete Abbruchbedingung für die Iteration. Es sollen bis zu 100 Punkte verarbeitet werden<br />
können. Das Programm soll aus mehreren Funktionen aufgebaut sein und Verbesserungen für die<br />
Ausführungszeit enthalten. Fangen Sie alle denkbaren Fehlerquellen ab!<br />
Zusatzaufgabe: Implementieren Sie einen Filter für Ausreißer, der Punkte aus der Berechnung<br />
ausschließt, wenn ihr Fehler größer ist, als die dreifache Standardabweichung (Schätzwert).