21.06.2014 Aufrufe

Beispiel - SAM - ETH Zürich

Beispiel - SAM - ETH Zürich

Beispiel - SAM - ETH Zürich

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

MATLAB-CODE : Adaptives Euler-Extrapolationsverfahren<br />

function [y,k] = eulexstep(f,y,H,TOL)<br />

kmax = 1000;<br />

T{1} = y + H*f(y);<br />

for i=2:kmax<br />

T{i} = y; h = H/i;<br />

for k=1:i, T{i} = T{i} + h*f(T{i}); end<br />

for l=i-1:-1:1<br />

T{l} = T{l+1} + (T{l+1}-T{l})/(i/l-1);<br />

end<br />

if (norm(T{1}-T{2}) < TOL*norm(T{1}))<br />

y = T{1}; k = i; return;<br />

end<br />

Beachte:<br />

Adaptives<br />

Euler-Extrapolationsverfahren:<br />

(für autonomes AWP)<br />

Makroschritt der LängeH<br />

Argumente:<br />

f<br />

: Funktionshandlef=@(y)<br />

auf rechte Seite<br />

y : Anfangswert zut = 0<br />

TOL : Toleranz<br />

Rückgabewerte:<br />

y : Näherung zut = H<br />

Einfache Erweiterung des Extrapolationstableaus um eine weitere Zeile<br />

<strong>Beispiel</strong> 2.4.19 (Euler-Extrapolationsverfahren mit Ordnungssteuerung).<br />

k : Verwendete Extrapolationstiefe<br />

Numerische<br />

Mathemtik<br />

R. Hiptmair<br />

rev 35327,<br />

25. April<br />

2011<br />

Bewegung eines geladenen Teilchens im Feld eines geraden Drahtes = Linienladung (konservatives<br />

Zentralfeld, Zentrum ( 0<br />

0<br />

)<br />

, PotentialU(x) := −2log‖x‖): → Bsp. 1.2.25<br />

ÿ = − 2y<br />

‖y‖ 2 ⇒<br />

( ˙ y<br />

v)<br />

=<br />

( ) v<br />

− 2y<br />

‖y‖ 2<br />

, y(0) =<br />

( )<br />

−1<br />

, v(0) =<br />

0<br />

( )<br />

0.1<br />

−0.1<br />

.<br />

2.4<br />

p. 272

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!