Применение метода итерации для уточнения корней уравнения — Delphi(Делфи)

uses Math;

(*
This routines must be defined by the programmer:
function F(X : Double):Double;
*)

procedure FEqXModifiedIteration(const n : Integer;
     const e : Double;
     const a : Double;
     var HasRoot : Boolean;
     var x : Double);forward;


(*************************************************************************
Корень уравнения x=F(x) - модифицированный метод итераций.

procedure FEqXModifiedIteration(
    n:integer;
    e:real;
    xn:real;
    var HasRoot:boolean, x:real)

Функция находит корень уравнения x=F(x) методом модифицированной итерации
с относительной погрешностью e. В качестве начального приближения
берется x0.
функция прекращает работу после n итераций.
ременная HasRoot=True если необходимая точность e достигнута
менее чем за n итераций, и HasRoot=False, если необходимая точность
за n итераций недостигнута.
*************************************************************************)
procedure FEqXModifiedIteration(const n : Integer;
     const e : Double;
     const a : Double;
     var HasRoot : Boolean;
     var x : Double);
var
    J : Integer;
    g : Double;
    b : Double;
    c : Double;
    d : Double;
    h : Double;
begin
    HasRoot := True;
    x := a;
    g := F(x);
    b := g-a;
    d := b;
    c := b;
    if Abs((F(g)-g)/g)>=e then
    begin
        j := 1;
        HasRoot := False;
        while j<=n do
        begin
            x := g;
            c := F(x)-g;
            if AbsReal(c)<Abs(g)*e then
            begin
                HasRoot := True;
                j := n+1;
            end
            else
            begin
                h := b/c;
                b := c;
                if Abs(h-1)<e then
                begin
                    j := n+1;
                end
                else
                begin
                    d := d/(h-1);
                    g := g+d;
                end;
            end;
            j := j+1;
        end;
    end;
end;

1. Заварыкин В. М., Житомирский В. Г., Лапчик М. П. Численные методы. – М.: Просвещение, 1991.
2. Ракитин В. И., Первушин В. Е. Практическое руководство по методам вычислений с приложением программ для персональных компьютеров. – М.: Высш. шк., 1998.

Leave a Comment

− 9 = 1