View Full Version : Übung 2
Hab mal mit Beispiel 87 begonnen würde bei
a, Schrittweite h = 0,25
bei der Stelle x = 1
y = 1,15126573
b, h = 0,1
an der Stelle x= 1
y = 1,1204228
rausbekommen.
Beispiel 88:
a: verbessertes Eulerverfahren:
y = 1,0741
b: Runge-Kutta-Verfahren:
y = 1,10410
bei Beispiel 89 würde ich:
mit Polygonzug (h = 0,1)
y(1) = 4,669 rausbekommen
mit Runge-kutta (h = 0,1)
y(1) = 5,4365
Beispiel 90:
mit Polygonzug (h = 0,1)
y(0,1) = 1,1
y(0,2)= 1,231
mit Polygonzug (h = 0,05)
y(0,1) = 1,107625
y(0,2)= 1,25037
Hoffe es passt. :)
Aeroflare
18-10-2008, 00:46
Also ich hab folgendes rausbekommen:
86)
655 / n ... wobei n eigentlich 9 sein sollte, aber dann kommt keine schöne zahl raus... mit 5 wär's besser und auch richtiger find ich, aber ich wüsste nicht, warum n = 5 sein sollte, bei einer unterteilung von 9 ^^
87)
a) h=0,25
y4=1,15
b) h=0,1
y10=1,12
88)
a) erweiteres PZV
y4=1,074
b) runge-kutta
y4=1,104
89)
PZV h=0,25
3,867
EPZV h=0,25
5,322
90)
h=0,05
0,1: 1,107625
0,2: 1,25
92)
n = 10000
0,735755
n=4
0,6328 < 15%
n=3
0,59 > 15% (Lösung)
95)
PZV:
n=1 2,2 ................ n=3 2,12949
RKV
n=1 0,2438 ............. n=3 1,3511
da glaub ich aber, dass ich irgendwie nen fehler hab... oder die unterschied sind wirklich so krass^^
Hab mir zu den meisten Aufgaben ein kleines c#-programm geschrieben, dass mir die sachen ausrechnet... sollten also eigentlich passen
fieselschweif
18-10-2008, 00:54
Hab mal mit Beispiel 87 begonnen würde bei
a, Schrittweite h = 0,25
bei der Stelle x = 1
y = 1,04381
b, h = 0,1
an der Stelle x= 1
y = 1,011
rausbekommen.
Hehe, gibts ausser mir glatt noch einen der so pervers ist und an einem Freitag Abend Mathe Uebungen rechnet :D
Bin allerdings noch nicht weit...
fuer Bsp 87 hab ich schon mal ganz andere Werte:
(a) h=0,25; y_4 = 1,151265734...
(b) h=0,1; y_10 = 1,120422856...
88 a) hingegen stimmt wieder ueberein:
y_4 = 1,074123...
und Runge-Kutta muss ich noch machen, das dauert ja ewig :distur:
// EDIT: Ah, da war wer schneller. Die Werte von 87 stimmen mit denen von Aeroflare ueberein, da kommt Freude auf ^^
Also ich hab folgendes rausbekommen:
86)
655 / n ... wobei n eigentlich 9 sein sollte, aber dann kommt keine schöne zahl raus... mit 5 wär's besser und auch richtiger find ich, aber ich wüsste nicht, warum n = 5 sein sollte, bei einer unterteilung von 9 ^^
Vielleicht kann ich helfen...i schätz mal du hast die Simpson´sche Regel genommen! Wenn du einen Blick ins Buch wirfst (Seite 413/ Formel (9.19)) steht da als letztes Element y2n! d.h das letzte Element ist das 2n-te Element! Da wir also 10 Elemente haben und daraus folget das 2n=10 ist --> n = 5 und die Rechnung passt!
lg,
rossi
Aeroflare
18-10-2008, 10:34
Vielleicht kann ich helfen...i schätz mal du hast die Simpson´sche Regel genommen! Wenn du einen Blick ins Buch wirfst (Seite 413/ Formel (9.19)) steht da als letztes Element y2n! d.h das letzte Element ist das 2n-te Element! Da wir also 10 Elemente haben und daraus folget das 2n=10 ist --> n = 5 und die Rechnung passt!
lg,
rossi
Danke stimmt! Den Fehler hab ich bei der letzten Übung schon gemacht ^^
fuer Bsp 87 hab ich schon mal ganz andere Werte:
(a) h=0,25; y_4 = 1,151265734...
(b) h=0,1; y_10 = 1,120422856...
Ah, hatte kleinen Fehler bei der Implementierung der Formel, komm nun
auch aufs gleiche. :thumb: (Werds oben gleich ausbessern !)
86)
655 / n ... wobei n eigentlich 9 sein sollte, aber dann kommt keine schöne zahl raus... mit 5 wär's besser und auch richtiger find ich, aber ich wüsste nicht, warum n = 5 sein sollte, bei einer unterteilung von 9 ^^
mit n = 5
wäre mein Ergebnis für Beispiel 86 dann 131
(mit der Simpson´sche Regel berechnet)
Beispiel 92
exakte Lösung: 0,7357588
n=4
0,63281 ... 13,9 % Unterschied < 15%
n=3
0,5925 ....19,4 % Unterschied > 15%
Beispiel 95
exakte Lösung: für x= 1,6 ist 2,35200
Polugonzugverfahren: mit n =1: 2,2.......n=3: 2,2952
Runge-Kutta-V.: mit n=1: 2,3511..........n=3: 2,3519
95)
PZV:
n=1 2,2 ................ n=3 2,12949
RKV
n=1 0,2438 ............. n=3 1,3511
da glaub ich aber, dass ich irgendwie nen fehler hab... oder die unterschied sind wirklich so krass^^
Kann das Ergebnis stimmen:
VPZV: y(1,6) = 2,346286848
RK: y(1,6) =2,351989956
93)
Wir wissen wie wir yi+1 berechnen:
yi+1=yi*h*f(xi,yi)
In unserem Fall:
yi+1=yi+e'/n*a*yi
yi+1=yi(1+e'*a/n) (=homogene Differenzengleichung)
yi=y0*(1+e'*a/n)^i (wir interessieren uns f. den letzten werten (also i gegen n laufen lassen)
yn=y0*(1+e'*a/n)^n (kommt uns aus mathe 1 bekannt vor (satz 4.74 und Seite 167))
Für beliebiges festes x element R gilt: lim n-->unend (1+x/n)^n=e^x
In unsrem Fall: lim n->unend En(e')=lim n->unend y0(1+e'*a/n)^n=y0*e^(e'*a)
Hoffe das hilft. Schönes Wochenende.
mfg Schakal
HerculeZ
21-10-2008, 12:17
Beispiel 92
exakte Lösung: 0,7357588
n=4
0,63281 ... 13,9 % Unterschied < 15%
n=3
0,5925 ....19,4 % Unterschied > 15%
hallo!
kann mir jemand erklären, wie man auf diese lsgn kommt? möglicherweise steh ich grad auf der leitung, aber ich habs so gerechnet:
Polygonzugverfahren: y(1) = y(0) + \frac{b-a}{n}*y'(0) = 1 + \frac{b-a}{n}*(0-y(0))
Werte einsetzen z.B.: für n=4: y(1)=1+\frac{1-0}{4}*(0-1)=0,75 statt 0,63281...
kann mir jemand sagen, was ich falsch mache?
danke,
lg
herculez
Necrowizzard
21-10-2008, 23:29
bei bsp 88 b)
die richtigen zwischenergebnisse: y1=0,2799; y2=0,5997; y3= 0,8950 (gerundet); y4=1,1041
hm diese ganzen sachen händisch rechnen scheint mir sowieso nicht sehr praktisch, je aufwendiger es wird umso größer ist auch die wahrscheinlichkeit einen rechenfehler einzubaun (und im endeffekt ist man dan vllt mit ner einfacheren aber vermutlich richtigeren lösung besser dran)
ps: okay alle werte waren falsch :P zumindest war bei meinem glück schon ein fehler im y1
pps: oben stehn jetzt die richtigen werte
markus87
22-10-2008, 00:30
Blöde Frage zu Bsp. 92: Wie berrechnet man den exakten Wert? Ich hab's mit dem Lösungsweg im Buch auf S. 293 ff versucht, jedoch kommt immer was falsches raus :D Ist das vl. der falsche Ansatz?
danke,
mfG,
Max
michaelllll
22-10-2008, 12:35
Blöde Frage zu Bsp. 92: Wie berrechnet man den exakten Wert? Ich hab's mit dem Lösungsweg im Buch auf S. 293 ff versucht, jedoch kommt immer was falsches raus :D Ist das vl. der falsche Ansatz?
danke,
mfG,
Max
Der Ansatz im Buch stimmt schon. Vielleicht für alle expliziten gewöhnlichen DG, da in Wikipedia steht:
Wikipedia: ... Lediglich explizite gewöhnliche Differentialgleichungen können mit einer geschlossenen Theorie gelöst werden...Im Satz 7.32 steht auch:
Die Lösungsgesamtheit der linearen DG y'+a(x)y = s(x) ist gegeben durch...Also weiß ich mal das y=y_{h} + y_{p} alle Lösungen bekomme für diese Form. Heißt das nun, dass ich immer mit diesem im Buch ausgeführten Kochrezept die korrekte Lösung bekomme? Was meint ihr? (Theoriefragen kommen ja ganz gerne zur Übung)
Also nun zur exakten Lösung der DG:
Haben die Gleichung y'=x-y
Die Formen wir mal um \frac{y'}{x} + \frac{y}{x}=1
Also haben wir eine inhomogenes lineares Differentialgleichung.
Nun homogene Gleichung durch "Trennung der Variablen":
\frac{y'}{x} = - \frac{y}{x}
\frac{dy}{dx*x} = - \frac{y}{x}
Integrieren und man bekommt:
y_{h} = C e^{-x}
Nun 2. Schritt: Bestimmung einer partikulären Lösung der inhomogenen Gleichung durch "Variation der Konstanten":
y(x) = C(x) e^{-x}
y'(x) = C'(x) e^{-x}-C(x) e^{-x}
Einsetzen in unser Funktion \frac{y'}{x} + \frac{y}{x}=1
\frac{C'(x)*e^{-x}-C(x)*e^{-x}} {x} = 1 - \frac{C(x)*e^{-x}}{x}
Durch x dividieren, die C(x) löschen sich aus, und etwas umformen. Dann hab ich:
C'(x)=x*e^{x}
Das nun integrieren: C(x)=e^{x}*(-1+x)
Das nun einsetzen in y_{h}
y_{p}=e^{x}*(-1+x}*e^{-x} = -1+x
3. Schritt: Ermittlung der Lösungsgesamtheit gemäß y(x) = y_{h}(x)+y_{p}(x)
y=-1+x+C*e^{-x}
Vergleich mit Mathematika und es passt.
Jetzt noch den Anfangswert einsetzen und somit das C(x) berechnen und man hat die exakte Lösung der DG.
Mit dieser Lösung kannst da dann die exakten Werte ausrechnen.
Lg Michael
markus87
22-10-2008, 16:38
Ich war so dumm und hab die Lösung schon gehabt, aber nicht erkannt dass sie richtig ist. Habe das C(x) in y(x) weggelassen und nicht mit dem Anfangswert berrechnet :D
Danke!
fieselschweif
23-10-2008, 17:35
Kann das Ergebnis stimmen:
VPZV: y(1,6) = 2,346286848
RK: y(1,6) =2,351989956
Ich hab so ziemlich dasselbe rausbekommen, mein C-Programm spuckt folgendes aus:
Euler'sches Polygonzugverfahren
i x_i y_i
0 1.000000 1.000000
1 1.200000 1.400000
2 1.400000 1.833333
3 1.600000 2.295238
Verbessertes Euler'sches Polygonzugverfahren
i x_i y_i
0 1.000000 1.000000
1 1.200000 1.416667
2 1.400000 1.867063
3 1.600000 2.346287
Klassisches Runge-Kutta-Verfahren
i x_i y_i
0 1.000000 1.000000
1 1.200000 1.418779
2 1.400000 1.871049
3 1.600000 2.351990
Jetzt nur noch die Frage wie man auf die exakte Lösung kommt, hier hab ich keinen blassen Schimmer. Hat jemand eine Idee?
LG, fieselschweif
markus87
23-10-2008, 18:06
Ich hoffe das hilft ;)
MfG Max
fieselschweif
23-10-2008, 18:39
Ich hoffe das hilft ;)
MfG MaxMerci bien :rolleyes:
Uiui, da wird mir erst klar wieviel ich von Mathe2 schon wieder vergessen habe...
wie kommt man denn von
y' / y = 1 / x
auf
ln y = ln x + C
?
Ich nehme mal an auf beiden Seiten integrieren? Warum wird das y' einfach verschluckt?
und der nächste Schritt auf
y_h = C x
ist mir auch nicht ganz klar *verwirrt_bin*
Kann mir das wer erklären?
meine ergebnisse:
relativer Fehler von Euler: -2,42%
relativer Fehler von Runge-Kutter: -6,74*10^-4%
markus87
23-10-2008, 18:50
einfach beide Seiten integrieren. Dass das Integral von y'/y = ln|y| ist hab ich aus dem Buch (S. 294). Denke das kann man auch durch partielle Integration leicht zeigen.
Auf yh = Cx kommst du indem du einfach schreibst e^ln|y| = e^(ln|x|+C)
Wenn du dir (so wie ich) beim Integrieren nicht mehr ganz sicher bist:
http://integrals.wolfram.com/index.jsp ;)
markus87
23-10-2008, 18:52
meine ergebnisse:
relativer Fehler von Euler: -2,42%
relativer Fehler von Runge-Kutter: -6,74*10^-4%
Hab ich auch so. So jetzt geh ich TIL lernen (morgen Prüfung :omg:)
wie kommt man denn von
y' / y = 1 / x
auf
ln y = ln x + C
?
wenn du y' / y partiell integrierst bekommst du ln|x|
int(y' / y)dx = y * 1/y - int(y * (-1)*y^-2 ) dx = int(1/y)dx = ln|y|
die formel befindet sich auch in der formelsammlung
Hm... ich hab bei 92 die exakte Lösung (2*e^-x + x -1) aber wie mach ich das mit dem Fehler? Ich weiß da wirklich nicht wie ich anfangen soll (ausser verschiedene N durchprobieren aber so ist es glaub ich nicht gemeint).
Beim eulershen Polygonzug ist ja der lokale Fehler O(h^2) und der globale O(h). Muss ich von einem dieser Werte ausgehen?
Bräuchte bitte einen Denkanstoss.
michaelllll
23-10-2008, 22:03
Hm... ich hab bei 92 die exakte Lösung (2*e^-x + x -1) aber wie mach ich das mit dem Fehler? Ich weiß da wirklich nicht wie ich anfangen soll (ausser verschiedene N durchprobieren aber so ist es glaub ich nicht gemeint).
Beim eulershen Polygonzug ist ja der lokale Fehler O(h^2) und der globale O(h). Muss ich von einem dieser Werte ausgehen?
Bräuchte bitte einen Denkanstoss.
Ich habe mir schon zwar das gleiche Gedacht, aber habe es nun trotzdem einfach mal nur ausprobiert. Warum? Das O(h) bzw. O(h^2) ist ja nur eine Größenordnung des Fehlers. Glaube einfach nicht daran, dass ich damit auf den Fehler schließen kann, ob es nun n=3 oder n=4 ist
Was meinen die anderen?
Lg Michael
EDIT: Stimmen muss es so halt schon. Natürlich kann dich der Prof mit Fragen löchern, wie es anders gehen würde.
EDIT 2: Hmm... Naja, es gibt einen Rundungs- und Verfahrenfehler. Zwar kannst du vielleicht den Verfahrensfehler bestimmen, müsstest aber noch den Rundungsfehler bestimmen (für das wir nun wirklich fast keinen Anhaltspunkt haben), weil ja beides im Fehler zwischen der exakten und nummerisschen eingeht. Darum kann ich es mir in diesem Fall fast nicht vorstellen, wie man das angehen könnte (mit meinen Wissen).
K
hast du dann exakt-näherung = fehler oder näherung/exakt = fehler (ursprünglich: exakt/näherung = fehler)?
steht ja relativer fehler
3. Schritt: Ermittlung der Lösungsgesamtheit gemäß y(x) = y_{h}(x)+y_{p}(x)
y=-1+x+C(x)*e^{-x}
Da isn wiiinziger Fehler, muss nur C heißen weils ja eine wirkliche Konstante ist.
michaelllll
23-10-2008, 23:11
K
hast du dann exakt-näherung = fehler oder exakt/näherung = fehler?
steht ja relativer fehler
habe: 1 - numm Lösung / exakte Lösung = fehler
es geht aber auch:
(exakte Lösung - nummer Lösung) / (exakte Lösung) = fehler
Wenn man aber von Verfahrensfehler auf das n schließen kann, würde es mich schon interessieren...
@M4rs: Danke!
Lg Michael
Naja, ich denke man kann indirekt draus schließen. O(h) heißt ja, dass sich der Verfahrensfehler halbiert wenn ich die Schrittweite halbiere. Ich kann mir dann für ein h das Ergebnis ausrechnen u mit dem echten Vergleichen u habe den Verfahrensfehler u weiß eben, dass ich nur noch den halben Verfahrensfehler habe wenn ich h/2 nehme, 1/4 Verfahrensfehler wenn ich h/4 nehme usw.
Edit3: Also auf gut deutsch verhält es sich einfach linear :D Aber wir dürfen nicht vergessen, dass es nur eine Obergrenze ist. (Also bei h=1/4 wie in unserem Fall sollt es 25% sein...oder ich check das Ganze ned..zum Nachdenken: http://de.wikipedia.org/wiki/Konsistenzordnung)
Pfusch: (Edit: Dann ist ja eh logisch, bei h=1 haben wir 100% Verfahrensfehler, bei h=2 50%, 3 25%, 4 12,5%...als Obergrenze halt...hoff, dass das stimmt u ich jetzt nicht irgendeinen Blödsinn verzapf
Edit2: das obige ist zumindest ein bisserl falsch)
Edit: Dann ist ja eh logisch, bei h=1 haben wir 100% Verfahrensfehler, bei h=2 50%, 3 25%, 4 12,5%...als Obergrenze halt...hoff, dass das stimmt u ich jetzt nicht irgendeinen Blödsinn verzapf
Sollte der der Fehler nicht mit kleinerm h fallen?
h = (b-a)/n
Wenn n=1, dann is ja logisch, dass der Fehler relativ groß sein wird. Je größer das _n_ desto kleiner das _h_ und demnach der Fehler.
Ups, hab n u h verwechselt was das wachsen u fallen angeht, meine h=1/2, 1/4 usw...bin jez auch bissal verwirrt, weil von 1/2 auf 1/3 wärs ja keine Halbierung...naja, is schon spät :-D....aber der Grundgedanke dahinter dürft schon stimmen
Gelobt sei Matlab, dass es mir dieses hässliche Runge-Kutta-Verfahren und andere Hirnquälereien ausrechnet :)
vBulletin® v3.7.1, Copyright ©2000-2009, Jelsoft Enterprises Ltd.