Zurück Vor +Ebene Home Inhalt Index Hilfe

Nullstellenbestimmung durch das Newton-Verfahren

Programm zur Bestimmung der Nullstelle einer Funktion f durch das Newton-Verfahren.
program Newton(input, output);

        {Nullstellensuche der Funktion f=cos(x)-x um den Wert x0
        durch das Newton-Verfahren}

    var
        x0:     double; {Anfangswert}
        eps:    double; {Genauigkeit}
        fehler: double;
        x, y:   double;

    function f(x: double): double; begin
        f := cos(x) - x
    end; {f}

    function fstrich(x: double): double; begin
        fstrich := -sin(x) - 1
    end; {fstrich}

    procedure init; begin
        writeln('Exemplarische Darstellung einer Nullstellensuche durch ');
        writeln('das Newton-Verfahren anhand der Funktion f=cos(x)-x');
        writeln;
        writeln('Geben Sie bitte den Anfangswert ein.');
        readln(x0);
        writeln('Wie genau soll die Nullstelle bestimmt werden?');
        readln(eps);
        while eps <= 0 do begin
            writeln('Nur positive Genauigkeiten machen Sinn. Versuchen Sie es noch einmal.');
            readln(eps)
        end {while}
    end; {init}

    procedure result; begin
        writeln('Die Nullstelle liegt bei ', x:1:7, '.')
    end; {result}

    begin {Newton}
        init;
        x := x0;
        repeat begin
           y := x - f(x)/fstrich(x);
           fehler := abs(y-x);
           x := y
           end;
        until fehler < eps;
        result
    end. {Newton}
           
Zurück Vor +Ebene Home Inhalt Index Hilfe

Copyright Verlag Harri Deutsch AG  Stöcker DeskTop Mathematik