Курсовая работа: Применение языков программирования высокого уровня для реализации численных методов
Fn (x1 ,x2 ,...xn )=0,
(например, полученные на предыдущей итерации) равны соответственно a1 ,a2 ,...an . Задача состоит в нахождении приращений (поправок) к этим значениям x1 ,x2 ,....,xn , благодаря которым решение системы (1) запишется в виде:
xi =ai +x1, x2 =a2 +x2 ,...,xn ,=an +xn . (2)
Проведем разложение левых частей уравнений (1) в ряд Тейлора, ограничиваясь лишь линейными членами относительно приращений:
F1 (x1 ,x2 ,...xn )F1 (a1 ,...an )+
F2 (x1 ,x2 ,...xn )F2 (a1 ,...an )+
..............................................
Fn (x1 ,x2 ,...xn )Fn (a1 ,...an )+.
Поскольку в соответствии с (1) левые части этих выражений должны обращаться в нуль, то приравняем нулю и правые части. Получим следующую систему линейных алгебраических уравнений относительно приращений:
=-F1
=-F2 (2)
............................
=-Fn
Значения F1 ,F2 ,...,Fn и их производные вычисляются при x1 =a1 , x2 =a2 ,...xn =an .
Определителем системы (2) является якобиан:
J=
Для существования единственного решения системы (2) он должен быть отличным от нуля на каждой итерации.
Таким образом, итерационный процесс решения системы уравнений (1) методом Ньютона состоит в определении приращений x1, x2,... xn , к значениям неизвестных на каждой итерации. Счет прекращается, если все приращения становятся малыми по абсолютной величине: max|xi |<. В методе
i
Ньютона также важен выбор начального приближения для обеспечения хорошей сходимости. Сходимость ухудшается с увеличением числа уравнений системы.
В качестве примера рассмотрим использование метода Ньютона для решения системы двух уравнений
F1 (x,y)=0, (3)
F2 (x,y)=0.
Пусть приближенные значения неизвестных равны a,b. Предположим, что якобиан системы (3) при x=a; y=b отличается от нуля, т.е.:
J=
Тогда следующие приближения неизвестных можно аписать в виде
x=a-(F1
Величины, стоящие в правой части, вычисляются при x=a, y=b.