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

4.2 Метод Ньютона

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

Чтобы численно решить уравнение методом простой итерации, его необходимо привести к следующей форме: , где -- сжимающее отображение.

Для наилучшей сходимости метода в точке очередного приближения должно выполняться условие . Решение данного уравнения ищут в виде

, тогда:

В предположении, что точка приближения «достаточно близка» к корню , и что заданная функция непрерывна , окончательная формула для такова:

С учётом этого функция определяется выражением:

Эта функция в окрестности корня осуществляет сжимающее отображение, и алгоритм нахождения численного решения уравнения сводится к итерационной процедуре вычисления:

Рис. Иллюстрация метода Ньютона

уравнение алгебраическое интеграл фурье

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

Блок схема

Текст задачи

var a:array[1..100,1..100] of integer;

t:text;

i,j,m,n,k:byte;

e,ed,alfa:real;d:boolean; x,xx:array[1..100] of real;

begin

ed:=0.001;

assign(t,H:Phoenix4.txt);

reset(t);

while not eof(t) do

begin

i:=i+1;

j:=0;

while not eoln(t) do

begin

j:=j+1;

read(t,a[i,j]);

end;

readln(t);

end;

close(t);

n:=i;

m:=j;

for i:=1 to n do begin

for j:=1 to m do

write(a[i,j], );

writeln;

end;

repeat

xx:=x;

k:=k+1;

writeln(k=,k, );

for i:=1 to n do

begin

x[i]:=a[i,n+1]/a[i,i];

for j:=1 to n do

if j<>i then x[i]:=x[i]-(a[i,j]*xx[j])/a[i,i];

write(x[,i,]=,x[i]:0:2, );

end;

d:=false;

for i:=1 to n do

begin

alfa:=0;

for j:=1 to n do

alfa:=alfa+(a[i,j]*x[j]);

e:=abs((alfa-a[i,n+1])/(a[i,n+1]));

write(e=,e:2:5, );

if e>=ed then d:=true;

end;

writeln;

until not d; end.

Результаты

4

2

2

2

5

7

Корни уравнений х1=-1; х2=1;

Вывод

Метод Ньютона позволяет находить решение систем линейных алгебраических уравнений, если определитель основной матрицы отличен от нуля. По сути метод сводится к вычислению определителей матриц порядка n на n и применению соответствующих формул для нахождения неизвестных переменных.