Zurück Vor +Ebene Home Inhalt Index Hilfe

Nullstellensuche durch Intervallschachtelung

Programm zur Bestimmung der Nullstelle einer Funktion f im Intervall durch Intervallschachtelung.


program Intervallschachtelung(input, output);

	{Nullstellensuche der Funktion f=cos(x)-x im Intervall [xu, xo] durch
        Intervallschachtelung}
	
    var
        xu, xo: double; {Intervallgrenzen}
        eps:    double; {Genauigkeit}
        fehler: double;
        xneu:   double;

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

    procedure init; begin
        writeln('Exemplarische Darstellung einer Nullstellensuche durch ');
        writeln('Intervallschachtelung anhand der Funktion f=cosinus(x)-x');
        writeln;
        writeln('Geben Sie bitte die Grenzen des Intervalls an, in dem gesucht werden soll.');
        writeln('(Vorsicht, (cos(xunten)-xunten)*(cos(xoben)-xoben) muss negativ sein!)');
        readln(xu, xo);
        while (f(xu)*f(xo)) > 0 do begin
            writeln('Zwischen diesen Grenzen liegt keine Nullstelle. Versuchen Sie es noch einmal.');
            readln(xu, xo)
        end; {while}
        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 ', xneu:1:7, '.')
    end; {result}

    begin {Intervallschachtelung}
        init;
        fehler := abs(xo - xu)/2;
        while fehler > eps do begin
           xneu := (xo + xu)/2;
           if f(xneu) = 0.0 then begin
               result;
               halt
           end; {if}
     	   if f(xneu)*f(xu) < 0 then begin
              xo := xneu
           end else begin {if}
               xu := xneu;
               fehler := 0.5*fehler
           end {if}
        end; {while}
        xneu := (xo + xu)/2.0;
        result
    end. {Intervallschachtelung}
Zurück Vor +Ebene Home Inhalt Index Hilfe

Copyright Verlag Harri Deutsch AG  Stöcker DeskTop Mathematik