Zurück Vor +Ebene Home Inhalt Index Hilfe

Euler-Verfahren

Programm zur numerischen Integration einer Differentialgleichung nach dem Euler-Verfahren.

program Euler(input,output);

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

    var
        x0, y0: double; {Anfangswerte}
        xf:     double; {Endwert}
        h:      double; {Schrittweite}
        x, y:   double;

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

    procedure init; begin
        writeln('Exemplarische Darstellung einer numerischen Integration mittels');
        writeln('des 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}
        init;
        
        while x < xf do begin
           y := y + h*fxy(x, y);
           x := x + h;
           result
        end; {while}
    end. {Euler}
Zurück Vor +Ebene Home Inhalt Index Hilfe

Copyright Verlag Harri Deutsch AG  Stöcker DeskTop Mathematik