Näherungsweise Berechnung von Nullstellen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Näherungsweise Berechnung von Nullstellen

    Hi,...

    mal ein kleines Programm zur Berechnung von Nullstellen. Ihr werdet sehen die Gleichung ist doch etwas komplizierter. Man kann gerne etwas damit rumspielen, beispielsweise die Gleichung mal ändern oder die Genauigkeit, etc

    [code:1]procedure TForm1.btn1Click(Sender: TObject);
    var fwl, fwr , fwk, fwk1, xl , xr, nst, xm, fm: real;
    t,k, n:integer;
    existnst: boolean;

    begin
    existnst := false;
    for k:=-1000 to 1000 do
    begin
    fwk:=2*k*k*k-2*k+0.75;
    fwk1:=2*(k+1)*(k+1)*(k+1)-2*(k+1)+0.75;
    if fwk * fwk1 <= 0 then
    begin
    fwl := fwk;
    fwr := fwk1;
    xl := k;
    xr := k+1;
    existnst := true;
    end;
    end;

    if existnst then
    begin

    if fwl = 0 then nst := xl
    else if fwr = 0 then nst := xr
    else
    begin
    repeat
    n := n+1;
    xm := (xl + xr) / 2;
    fm := 2*xm*xm*xm-2*xm+0.75;

    if fm * fwl < 0 then xr := xm;
    if fm * fwr < 0 then xl := xm;

    until abs( fm ) < ( 1 / 1000 );
    nst := xm;
    end;
    edit1.text := floattostr( nst );
    showmessage (inttostr(n));

    end;


    end;

    end.[/code:1]

    mfg KC