Zurück Vor +Ebene Home Inhalt Index Hilfe

Ralston Verfahren

Programm zur Integration der Gleichung y'(x)=-y(x) mittels des Runge-Kutta-Verfahren zweiter Ordnung nach Ralston.

program Ralston(input, output);

        {Integration der Gleichung y'(x)=-y(x) mittels des Runge-Kutta-
        Verfahren 2. Ordnung nach Ralston}

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

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

    procedure init; begin
       writeln('Darstellung der Loesung einer expliziten Differentialgleichung');
       writeln('mittels des Verfahren von Ralston am Beispiel y`(x)=-y(x)');
       writeln;
       writeln('Geben Sie bitte die Anfangswerte 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 {Ralston}
        init;
        while x < xf do begin
            k1 := fxy(x,y);
            x1 := x + h*0.75;
            y1 := y + k1*h*0.75;
            k2 := fxy(x1,y1);
            y1 := y + k1*h*0.75;
            y  := y + (k1/3.0 + 2.0*k2/3.0)*h;
            x  := x + h;
            result
        end; {while}
    end. {Ralston}
Zurück Vor +Ebene Home Inhalt Index Hilfe

Copyright Verlag Harri Deutsch AG  Stöcker DeskTop Mathematik