Zurück Vor +Ebene Home Inhalt Index Hilfe

Modifiziertes Euler-Verfahren

Programm zur numerischen Integration einer Differentialgleichung nach dem modifizierten Euler-Verfahren.
program Eulermodifiziert;

        {Numerische Integration der Gleichung y'(x)=-y(x) mittels des
        modifizierten Euler-Verfahrens}

    var
        x0, y0: double; {Anfangwerte}
        xf:     double; {Endwert}
        h:      double; {Schrittweite}
        x, y:   double;
        x1, y1: double;

    function fxy(x, y: double): double; begin
        fxy := -y
    end; {fxy}

    procedure init; begin
        writeln('Exemplarische Darstellung einer numerischen Integration mittels');
        writeln('des modifizierten Euler-Verfahrens anhand der Gleichung y`(x)=-y(x)');
        writeln;
        writeln('Geben Sie bitte die Anfangwerte ein.');
        readln(x0, y0);
        writeln('Geben Sie nun an, bis zu welchem x-Wert y(x) berechnet werden soll.');
        readln(xf);
        writeln('Und in welcher Schrittweite sollen die x-Werte liegen?');
        readln(h);
        while (xf - x0)*h < 0 do begin
            writeln('Von ', x0:1:3,' aus koennen Sie ', xf:1:3,' in Schritten von ', h:1:3,' nicht erreichen.');
            writeln('Geben Sie noch einmal den Endwert und die Schrittweite ein.');
            readln(xf, h)
        end; {while}
        x := x0;
        y := y0;
        writeln('x       y')
    end; {init}


    procedure result; begin
        writeln( x:1:5,' ', y:1:5)
    end; {result}

    begin {Euler modifiziert}
        init;
        while x < xf do begin
           x1 := x + h/2.0;
           y1 := y + fxy(x, y)*h/2.0;
           y  := y + h*fxy(x1,y1);
           x  := x + h;
           result
        end {while}
    end. {Euler modifiziert}
Zurück Vor +Ebene Home Inhalt Index Hilfe

Copyright Verlag Harri Deutsch AG  Stöcker DeskTop Mathematik