
-
Системы нелинейных уравнений
Многие практические задачи сводятся к решению системы нелинейных уравнений.
Пусть для вычисления неизвестных x1, x2, … , xn требуется решить систему n нелинейных уравнений:
F1(x1, x2, … , xn) = 0
F2(x1, x2, … , xn) = 0
. . . . .
Fn(x1, x2, … , xn) = 0
В отличие от решения СЛАУ не существует прямых методов решения систем нелинейных уравнений. Лишь в отдельных случаях эту систему можно решить непосредственно. Например, для случая двух неизвестных иногда удается выразить одно неизвестное через другое и таким образом свести задачу к решению одного нелинейного уравнения относительно другого.
В общем случае для решения систем нелинейных уравнений обычно используются итерационные методы.
Метод Ньютона для системы нелинейных уравнений
В основе метода Ньютона для системы уравнений лежит использование разложения функций Fi(x1, x2, … , xn) в ряд Тейлора, причем члены, содержащие вторые производные (и производные более высоких порядков), отбрасываются.
Пусть приближенные значения неизвестных системы (например, полученные на предыдущей итерации) равны соответственно а1, а2, … , аn .Задача состоит в нахождении приращений (поправок) в этим значениям Dx1, Dx2, … , Dxn , благодаря которым решение исходной системы запишется в виде:
x1 = a1 + Dx1 , x2 = a2 + Dx2 , , . . . . . , xn = an + Dxn .
Проведем разложение левых частей уравнений исходной системы в ряд Тэйлора, ограничиваясь лишь линейными членами относительно приращений:
. . . . . . . . . . . . . . . . . .
Поскольку левые части этих выражений должны обращаться в ноль, то можно приравнять нулю и правые части:
. . . . . . . . . . . . . . . . . .
Значения F1, F2 , … , Fn и их производные вычисляются при x1 = a1 , x2 = a2 , … , xn = an .
Определителем последней системы является якобиан:
Для существования единственного решения системы якобиан должен быть отличным от нуля на каждой итерации.
Таким образом, итерационный процесс решения системы нелинейных уравнений методом Ньютона состоит в определении приращений Dx1, Dx2, … , Dxn к значениям неизвестных на каждой итерации. Счет прекращается, если все приращения становятся малыми по абсолютной величине:
В методе Ньютона также важен удачный выбор начального приближения для обеспечения хорошей сходимости. Сходимость ухудшается с увеличением числа уравнений системы.
В качестве примера можно рассмотреть использование метода Ньютона для решения системы двух уравнений:
F1(x,y) = 0
F2(x,y) = 0
где F1 и F2 - непрерывно дифференцируемые функции.
Пусть начальные значения неизвестных равны a, b .
После разложения исходной системы в ряд Тэейлора можно получить:










Предположим, что якобиан системы при x = a и y = b отличен от нуля:
Тогда значения Dx и Dy можно найти, используя правило Крамера следующим образом:
и
Вычислив значения Dx и Dy можно найти следующие приближения неизвестных по формулам:
Величины, стоящие в правой части, вычисляются при x = a и y = b .
Ниже приводится блок-схема метода Ньютона для решения системы двух нелинейных уравнений. В качестве исходных данных задаются начальные приближения неизвестных a, b , погрешность решения e и допустимое число итераций М. Если итерации сойдутся, то выводятся значения x и y; в противном случае происходит вывод x, y, M .
Ввод a, b, e, M
i=1
Вычисление J
A=F1/J B=F2/J






























a=x b=y i=i+1
Нет |x-a|>e Да
Да Да
½y-b½>e i < M
Нет Нет
Вывод x,y Вывод x,y,M
Конец
Пример.
Методом Ньютона решить систему двух уравнений:
2x2 + 3y2 - 6y - 4 = 0
x2 - 3y2 + 4x - 2 = 0
Решение:
1) Начальные приближения можно определить графическим способом. Для этого перепишем систему в виде:
2x2 + 3(y-1)2 = 7
(x + 2)2 - 3 y2 = 6
Первое из преобразованных уравнений определяет эллипс, а второе - гиперболу. Данная система имеет два решения. Для уточнения выбирают одно из них, принадлежащее области 0.5<x<0.6 и -0.48<y<-0.44 .
За начальное приближение принимают x0 = 0.5 и y0 = -0.46.
2) Находим
F1(x,y) = 2x2 + 3y2 - 6y -4 : F2(x,y) = x2 + 4x -3y2 -2
F1'x = 4x : F1'y = 6y - 6 : F2'x = 2x + 4 : F2'y = -6y
n |
xn |
F1(xn,yn) |
F1'x(xn,yn) |
F1'y(xn,yn) |
Dn |
|
yn |
F2(xn,yn) |
F2'x(xn,yn) |
F2'y(xn,yn) |
|
0 |
0.5 |
-0.1052 |
2 |
-8.76 |
49.32 |
|
-0.46 |
-0.3848 |
5 |
2.76 |
|
1 |
0.5742 |
0.0114 |
2.2968 |
-8.7306 |
51.2203 |
|
-0.4551 |
0.0052 |
5.1484 |
2.7306 |
|
2 |
0.5727 |
0.00006 |
2.2908 |
-8.7252 |
51.1375 |
|
-0.4542 |
-0.00011 |
5.1454 |
2.7252 |
|
3 |
0.5727 |
|
|
|
|
|
-0.4542 |
|
|
|
|
Окончательный ответ: x » 0.573 и y » -0.454