Fandom

Scratchpad

Numerik1:Explizites Eulerverfahren

216,081pages on
this wiki
Add New Page
Discuss this page0 Share

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

Zurück

Explizites Eulerverfahren

Anfangswertproblem

(1)\quad y'(x) = f(x,y(x)) \,, \quad y(0) = y_0 \,.

Die Aufgabe ist einen Näherungswert für den exakten Wert y(L), L > 0 zu finden.

Eigenschaften

  • (1) ist äquivalent zu der Integralgleichung
\quad y(x) = y(0) + \int \limits_{0}^{x} f(x,y(x)) \, dx \,.
  • Man erwartet dass die globale Lipschitz-Bedingung für eine Lispchitz -Konstante L erfüllt ist:
|f(x,y_1) - f(x,y_2)| \le L |y_1 - y_2| \,, \forall x

Motivation

\quad y'(x) = \lim \limits_{h->0} \frac{y(x+h) - y(x)}{h} \,,

das heißt

(2)\quad y'(x) \approx \frac{y(x+h) - y(x)}{h} \,.

Von (1) und (2) folgt es

\quad y(x_0+h) \approx y(x_0) + h f(x_0,y(x_0))

Das Verfahren

\quad 0 \equiv x_0 < x_1 < \ldots x_n < x_{n+1} < \ldots < x_N \equiv L \,, 
\quad h_n := x_{n+1} - x_n \,.

\quad y_{n+1} = y_{n} + h_n f(x_n,y_n) \,, \quad n=0,1,2,\ldots,N-1

\quad y_N \approx y(L) !

Implementierung (konstante Schrittweite h)

double euler(double L, int N, double y0, double *function) {

  double h, x, y;

  h = L/N;
  x = 0.0;
  y = y0;

  while (x < L) {
    
    y = y + h*function(x,y);
    x = x + h;
  }
  return(y);
}

Taylorentwicklung

\quad y(x+h) = y(x) + h y'(x) + \frac{1}{2} h^2 y''(s) \,, \quad
s \in (x,x+h) \,,

das heißt

\quad \left|\frac{y(x+h) - y(x)}{h} - f(x,y(x)) \right| \le h \frac{1}{2} \max \limits_{s \in [x,x+h]} |y''(s)|

Zurück

Also on Fandom

Random wikia