logo
Математическое моделирование и численные методы в решении технических задач

2.1 Метод хорд

Теоретические сведения:

Будем искать корень функции . Выберем две начальные точки (;) и (;) и проведем через них прямую. Она пересечет ось абсцисс в точке (;0). Теперь найдем значение функции с абсциссой . Временно будем считать корнем на отрезке [;]. Пусть точка имеет абсцисcу и лежит на графике. Теперь вместо точек и мы возьмём точку и точку . Теперь с этими двумя точками проделаем ту же операцию и так далее, то есть будем получать две точки и и повторять операцию с ними. Отрезок, соединяющий последние 2 точки, пересекает ось абсцисс в точке, значение абсциссы которой можно приближённо считать корнем. Эти действия нужно повторять до тех пор, пока не получим значение корня с нужным приближением.

Рис. 1 Иллюстрация метода хорд

Рисунок иллюстрирует работу метода хорд. В данном случае вторая производная функции положительна, поэтому в качестве начального приближения выбрана точка хо = b. Как видно из рисунка, метод имеет очень быструю сходимость среди всех методов решения нелинейных уравнений: обычно заданная точность достигается за 2-3 итерации.

Блок схема

Текст задачи

var a,b,e,c,cc,ee:real;

k:integer;

function f(x: real):real;

begin

f:=x*x-2*x;

end;

begin

a:=1;

b:=4;

ee:=0.001;

repeat

cc:=c;

c:=(b*f(a)-a*f(b))/(f(a)-f(b));

k:=k+1;

if f(a)*f(c)<0 then b:=c else a:=c;

e:=abs((c-cc)/c);

writeln(k, ,c:0:5, ,e:0:5, ,f(c):0:5);

until e<=ee;

writeln;

end.

Результаты

а=1, b=4

k

c

e

F(c)

1

1.33333

1.00000

-0.88889

2

1.60000

0.16667

-0.64000

3

1.77778

0.10000

-0.39506

4

1.88235

0.05556

-0.22145

5

1.93939

0.02941

-0.11754

6

1.96923

0.01515

-0.06059

7

1.98450

0.00769

-0.03077

8

1.99222

0.00388

-0.01550

9

1.99610

0.00195

-0.00778

10

1.99805

0.00097

-0.00390

Вывод

Достоинство метода хорд: очень быстрая сходимость по сравнению с методом половинного деления к заданной точности.