Математическое моделирование и численные методы в решении технических задач
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 и применению соответствующих формул для нахождения неизвестных переменных.