Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по выч.физике.pdf
Скачиваний:
192
Добавлен:
07.06.2015
Размер:
756.71 Кб
Скачать

6. РЕШЕНИЕ СИСТЕМ НЕЛИНЕЙНЫХ УРАВНЕНИЙ МЕТОДОМ НЬЮТОНА

Задача о нахождении решений системы из n нелинейных алгебраических или трансцендентных уравнений с n неизвестными вида

f1 (x1, x2 ,xn )= 0,

 

f2 (x1, x2 ,xn )= 0,

(6.1)

……………………

 

fn (x1, x2 ,xn )= 0,

 

широко рассмотрена в вычислительной практике. Подобные системы уравнений могут возникать, например, при численном моделировании нелинейных физических систем на этапе поиска их стационарных состояний. В яде случаев системы вида (6.1) получаются опосредованно, в процессе решения некоторой другой вычислительной задачи. К примеру, пытаясь минимизировать функцию нескольких переменных, можно искать те точки многомерного пространства, где градиент функции равен нулю. При этом приходится решать систему уравнений (6.1) с левыми частями – проекциями градиента на координатные оси.

В векторных обозначениях систему (6.1) можно записать в более компактной форме

f (x)= 0 ,

(6.2)

где x =(x1, x2 ,, xn )T – вектор-столбец аргументов,

f =( f1, f2 ,, fn )T

вектор столбец функций, символом ( )T обозначена операция транспони-

рования.

Поиск решений системы нелинейных уравнений – это задача намного более сложная, чем решение одного нелинейного уравнения. Тем не менее ряд итерационных методов решения нелинейных уравнений может быть распространен и на системы нелинейных уравнений.

47

Метод простой итерации

Метод простой итерации для систем нелинейных уравнений по существу является обобщением одноименного метода для одного уравнения. Он основан на том, что система уравнений (6.1) приводится к виду

x1 = g1 (x1, x2 ,, xn ), x2 = g2 (x1, x2 ,, xn ),

……………………

xn = gn (x1, x2 ,, xn ),

и итерации проводятся по формулам

x1(k +1) = g1 (x1(k ), x2(k ),, xn(k ) ), x2(k +1) = g2 (x1(k ), x2(k ),, xn(k ) ),

……………………………

xn(k +1) = gn (x1(k ), x2(k ),, xn(k ) ).

Здесь верхний индекс указывает на номер приближения. Итерационный процесс (6.3) начинается с некоторого начального приближения

(x1(0), x2(0),, xn(0) ) и продолжаются до тех пор, пока модули приращений

всех аргументов после одной k-итерации не станут меньше заданной величины ε: xi(k +1) xi(k ) < ε для i =1,2,,n .

Хотя метод простой итерации прямо ведет к решению и легко программируется, он имеет два существенных недостатка. Один из них – медленная сходимость. Другой состоит в том, что если начальное приближение выбрано далеко от истинного решения (X1, X2 ,, Xn ), то сходимость

метода не гарантированна. Ясно, что проблема выбора начального приближения, не простая даже для одного уравнения, для нелинейных систем становится весьма сложной.

Решить систему нелинейных уравнений:

F

(x ...

x

)= 0

 

1

1

n

 

 

Fn (x1...

xn )= 0 .

(4.1)

 

 

 

 

 

48

Не существует прямых методов решения нелинейных систем общего вида. Лишь в отдельных случаях систему (4.1) можно решить непосредственно. Например, для случая двух уравнений иногда удается выразить одно неизвестное через другое и таким образом свести задачу к решению одного нелинейного уравнения относительно одного неизвестного.

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

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

В случае одного уравнения F (x)= 0 алгоритм метода Ньютона был легко получен путем записи уравнений касательной к кривой y = F (x). В основе метода Ньютона для систем уравнений лежит использование разложения функций F1 (x1 ... xn ) в ряд Тейлора, причем члены, содержа-

щие вторые (и более высоких порядков) производные, отбрасываются. Пусть приближенные значения неизвестных системы (4.1) равны со-

ответственно a1,a2 ,....,an . Задача состоит в нахождении приращений (по-

правок) к этим значениям

x1, x2 ,...,

xn , благодаря которым решение сис-

темы запишется в виде:

 

 

 

x1 = a1 + x1,

x2 = a2 +

x2 , .... , xn = an + xn .

(4.2)

Проведем разложение левых частей уравнений (4.1) с учетом разложения в ряд Тейлора, ограничиваясь лишь линейными членами относи-

тельно приращений:

 

 

 

 

 

 

F1 (x1...xn )F1 (a1...an )+

F1

x1 +

...

+ F1

xn ,

 

x

 

 

x

 

 

1

 

 

 

n

 

F2 (x1...xn )F2 (a1...an )+

F2

x1 +

...

+

F2

xn ,

 

x

 

 

 

x

 

 

1

 

 

 

n

 

...................................

 

 

 

 

 

 

Fn (x1...xn )Fn (a1...an )+

Fn

x1 +

...

+

Fn

xn.

 

x

 

 

 

x

 

 

1

 

 

 

n

 

Подставляя в систему (4.1), получим следующую систему линейных алгебраических уравнений относительно приращений:

49

F1

x

+

F1

x +

...

+ F1

x

= −F ,

x

1

 

x

2

 

x

n

1

1

 

 

2

 

 

 

n

 

 

F2

x

+

F2

x +

...

+

F2

x

= −F ,

x

1

 

x

2

 

 

x

n

2

1

 

 

2

 

 

 

n

 

 

..............................

 

 

 

 

 

Fn

x

+

Fn

x +

...

+

Fn

x

= −F .

x

1

 

x

2

 

 

x

n

n

1

 

 

2

 

 

 

n

 

 

Значения F1 ...

Fn

и

их

производные

вычисляются при

x2 = a2 , … xn = an .

Определителем системы (4.3) является якобиан:

F1

… …

F1

x

 

x

1

 

n

F2

… …

F2

J = ∂x

 

x .

1

 

n

… … …

Fn … … Fn x1 xn

(4.3)

x1 = a1 ,

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

Таким образом, итерационный процесс решения системы уравнений методом Ньютона состоит в определении приращений x1, x2 , ..., xn к значениям неизвестных на каждой итерации путем решения системы линейных алгебраических уравнений (4.3). Счет прекращается, если все приращения становятся малыми по абсолютной величине: max xi <ε . В ме-

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

В качестве примера рассмотрим использование метода Ньютона для решения системы двух уравнений:

F (x, y)= 0

1 .F2 (x, y)= 0

50

Пусть приближенные значения неизвестных равны a, b . Предположим,

что якобиан системы при x = a,

y =b отличен от нуля, т.е.

 

F1

F1

 

 

 

J =

x

y

0 .

 

F

F

 

 

2

2

 

 

x

y

 

Тогда следующее приближение неизвестных можно записать в виде:

 

 

1

 

 

F2

x =

a

 

 

F1

 

J

y

 

 

 

 

 

 

1

 

 

F2

y = b +

 

 

F1

 

J

 

x

 

 

 

 

F2

F2

F y1 ,

F1 . x

Величины, стоящие в правой части, вычисляются при x = a, y =b .

Если выполняются условия

 

y b

 

<ε и

 

x a

 

<ε

при заданном M , то

 

 

 

 

выводятся значения x и y ,

в противном случае

происходит вывод

x, y, M .

 

 

 

 

 

 

 

 

 

51