Es gibt 10 Arten von Menschen auf dieser Welt: die einen verstehen das Binärsystem und die anderen verstehen es nicht.


Auf das Thema antworten  [ 8 Beiträge ] 
SS10: Serie 08 
Autor Nachricht

Registriert: 10/2009
Beiträge: 26 + 5
Mit Zitat antworten
Beitrag SS10: Serie 08
2 Fragen zum Programmierbeispiel:

1.Frage:
soll der Prädiktor (Euler) zuerst die m zusätzlichen Schritte machen oder der Korrektor (Adams-Moulton) m mal hintereinander angewendet werden
Die Lösung von letztem Jahr hat ersteres gemacht, aber auf wikipedia steht für predictor-corrector-Verfahren ein Beispiel, bei dem letzteres gemacht wird
http://en.wikipedia.org/wiki/Predictor-corrector_method

2. Frage:
Was für Graphen soll compare_methods genau machen? :?:
Soll es die Lösungen der beiden vorher programmierten Verfahren vergleichen (also eine von ihnen als exakt betrachten), oder den Fehler der Verfahren zur echten Lösung des AWP plotten.
Letzteres hätte natürlich den Effekt, dass das Programm nicht sehr allgemein ist, weil es ja jede Funktion nur gegen diese Funktion plotten würde.
Oder soll man ganz was anderes machen?
Und sollen die plots in den gleichen Graphen gezeichnet werden? Das ist glaub ich aber eher egal

_________________
\ :twisted: /
´| |`
_/ \_


Sa 08-05-2010 15:05:53
Diesen Beitrag melden
Profil

Registriert: 10/2008
Beiträge: 27 + 69
Mit Zitat antworten
Beitrag Re: SS10: Serie 08
Das Programmierbeispiel muss ich mir noch anschauen, aber ich habe die Lösungen zu 8.5 und 8.6 ... leider konnte ich sie nicht abfotographieren, deshalb gibts die Lösung jetzt hier beschrieben!

8.5:

Ein Verfahren erhält Invarianten $I$, wenn $I(y_1) = I(y_0)$, wobei $y_1$ ein Schritt des Verfahrens ist. Wir betrachten hier lineare Invarianten, d.h. $I(y) = c^T y + \gamma$, wobei $c$ ein Vektor der Größe $d$ ist (also genauso groß wie unser $y$) und $\gamma \in \mathbb{R}$ ist. Nun setzten wir einen Schritt des Verfahrens in die Invariante ein:
$I(y_1) = c^T (y_0 + h\sum_{i=1}^s b_i f(y_0 + h\sum_{j=0}^s a_{ij}k_j)) + \gamma = c^T y_0 + h\sum_{i=1}^s b_i c^T f(y_0 + h\sum_{j=0}^s a_{ij}k_j)) + \gamma $

Der Gradient der Invariante (d.h der Vektor der Ableitungen nach den jeweiligen Variablen) ist bei einer linearen Invariante gerade $c$, daher:

$I(y_1) = c^T y_0 + h\sum_{i=1}^s b_i \nabla I(y_0 + h\sum_{j=0}^s a_{ij}k_j) f(y_0 + h\sum_{j=0}^s a_{ij}k_j)) + \gamma = c^T y_0 + \gamma = I(y_0) $, da laut Satz 6.5 $\nabla I(y) f(y) = 0$ für alle $y$ gilt. Damit ist die Behauptung gezeigt

Rest folgt später, wahrscheinlich morgen!
Lg


Sa 08-05-2010 18:38:29
Diesen Beitrag melden
Profil

Registriert: 10/2008
Beiträge: 27 + 69
Mit Zitat antworten
Beitrag Re: SS10: Serie 08
Rest folgt doch heute schon! :D
(ok, die letzte Rechnung fehlt, aber da muss man nur mehr einsetzen)


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.


Sa 08-05-2010 19:03:20
Diesen Beitrag melden
Profil

Registriert: 10/2008
Beiträge: 27 + 69
Mit Zitat antworten
Beitrag Re: SS10: Serie 08
@ lunatic:

1. Der Korrektor braucht die m zusätzlichen Schritte für die Fixpunktiteration - das Prädiktorverfahren ist ja stets explizit (maW braucht man nichts iterieren)!

2. Man soll den Fehler bezüglich der exakten Lösung plotten ... nicht gerade sehr allgemein, aber es reicht zum Vergleich der 6 verschiedenen Methoden aus. Am Besten du zeichnest die Graphen alle in einen Plot, dort kannst du die Unterschiede deutlicher als in vielen einzelnen Plots sehen.


So 09-05-2010 14:29:21
Diesen Beitrag melden
Profil

Registriert: 11/2008
Beiträge: 25 + 17
Mit Zitat antworten
Beitrag Re: SS10: Serie 08
bin mir immer noch nicht sicher ob ich das programmierbeispiel richtig versteh
kann mich jemand bestätigen/richtigstellen bitte:

also z.b. der plot für hh=h^2 und m=2
ich berechne zuerst mittels compute_y1 den wert von y1, wobei y1 die approximation an y(h), rufe also auf compute_y1(hh,2^n,0,[1;1],f), da ja hh=2^-2n muss ich 2^n schritte der länge hh machen.
und jetzt verwende ich dieses y1 fürs predictor corrector verfahren und berechne so die approximation an y(1).


So 09-05-2010 17:59:44
Diesen Beitrag melden
Profil

Registriert: 10/2008
Beiträge: 27 + 69
Mit Zitat antworten
Beitrag Re: SS10: Serie 08
genau so gehts!


So 09-05-2010 19:40:51
Diesen Beitrag melden
Profil

Registriert: 10/2008
Beiträge: 23 + 5
Mit Zitat antworten
Beitrag Re: SS10: Serie 08
Nochmal, nur damit ich es kapiert habe wie die Angabe zu verstehen ist, weil irgendwie passt das nicht so richtig zusammenwie es geschrieben ist:

Schritt 1: wir führen unseren Prädiktor mit y0 aus der compute_y1 heißt.
Schritt 2: wir führen mit dem erhaltenen y1 den Korrektor aus der in unserer Angabe als predcor bezeichnet wird. (obwohl es nur mehr ein Korrektor ist).
Dieser verbessert mir meinen y1 Wert m-mal. Und mit dem Wert y1,m gehts jetzt zurück zu Schritt 1.


Und dann plotten wir den Fehler y(end) - yex(1). (in unseren 3*2 Varianten).

lg J.


Mo 10-05-2010 16:00:26
Diesen Beitrag melden
Profil

Registriert: 10/2009
Beiträge: 26 + 5
Mit Zitat antworten
Beitrag Re: SS10: Serie 08
der Anfang stimmt, aber wieso willst du wieder von Schritt 1 anfangen?

unsere predcor Funktion verbessert ja nicht unser y1, sondern berechnet uns für alle stützstellen t_i, die wir ihr übergeben, ihren Wert y_i mittels einem predictor-corrector Verfahren
also berechnen wir uns ein y1 mittels compute_y1 und geben das weiter an predcor
dieser gibt uns dann eine Matrix, in der die letzte Spalte der Wert y(1) ist


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

_________________
\ :twisted: /
´| |`
_/ \_


Mo 10-05-2010 20:52:35
Diesen Beitrag melden
Profil
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Auf das Thema antworten   [ 8 Beiträge ] 


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Du darfst neue Themen in diesem Forum erstellen.
Du darfst Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
Powered by phpBB © phpBB Group.  |  Designed by STSoftware for PTF  |  © Czechnology 2007 - 2024  |  Deutsche Übersetzung durch phpBB.de