Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ChM_Laboratorny_praktikum_s_ispravleniami.pdf
Скачиваний:
464
Добавлен:
23.03.2016
Размер:
1.36 Mб
Скачать

4. Лабораторная работа №4. РЕШЕНИЕ СИСТЕМ НЕЛИНЕЙНЫХ УРАВНЕНИЙ

4.1. Численные методы решения систем нелинейных уравнений

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

Пусть требуется решить систему вида:

ìï f1 (x1 , x2 ,..., xn ) = 0

í... (4.1)

ïî fn (x1 , x2 ,..., xn ) = 0 ,

где функции f1 , f 2 ,..., f n заданные нелинейные вещественнозначные функции n вещественных переменных x1 , x2 ,..., xn .

Обозначим через

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

æ x

 

ö

 

æ

f1

(x) ö

 

 

 

 

 

 

 

 

 

 

 

 

ç 1

÷

 

ç

 

 

 

 

÷

æ

f

(x

, x

,..., x

) ö

 

æ0

ö

 

 

ç x

 

÷

 

 

 

ç f

 

(x) ÷

ç

1

1

2

n

÷

 

 

ç

÷

x =

 

,

 

 

 

 

 

 

 

,

ç

2

÷

F (x) = ç

 

2

÷ = ç...

 

 

 

÷

0 = ç...÷ .

 

 

ç...

÷

 

ç...

÷

ç

 

 

 

 

÷

 

ç

÷

 

 

ç

 

÷

 

ç

fn

 

 

÷

è

fn

(x1, x2 ,..., xn ) ø

 

è0

ø

 

 

 

 

 

 

 

 

è xn

ø

 

è

(x)ø

 

 

 

 

 

 

 

 

 

 

Тогда систему (4.1) можно записать в виде

F (x) = 0 . (4.2)

Обозначим через

æ

f

;

f

1

;...;

ç

1

 

x1

x2

ç

 

 

J = ç...

 

 

 

 

ç

 

 

fn

 

ç ¶fn

;

;...;

ç

 

 

 

x

x

2

è

1

 

 

 

J матрица Якоби, Для n-мерного

f1 ö÷ xn ÷

÷

(4.3)

÷

 

fn ÷ ¶xn ÷ø ,

якобиан.

случая итерационный процесс Ньютона:

x

( k +1) =

x

(k ) -[J (

x

(k ) )]-1 F(

x

( k ) ) .

(4.4)

Замечание: Если начало приближения

выбрано достаточно

близко к решению системы, то итерационный процесс (4.4) сходится к этому решению с квадратичной скоростью.

60

Недостаток: Метод Ньютона достаточно трудоемкий– на каждом шаге итерационного процесса необходимо найти матрицу, обратную якобиану.

Модификации метода Ньютона:

I. Если матрицу Якоби вычислить и обратить лишь в начальной

точке, то получим модифицированный метод Ньютона:

x

( k +1) =

x

( k ) - [J (

x

(0) )]-1 F (

x

(k ) ) .

(4.5)

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

II. Двухступенчатый метод Ньютона.

Идея: Вычисление и обращение матрицы Якоби не на каждой итерации, а через несколько шагов.

x ( k +1) = x (k ) - [J (x ( k ) )]-1 F (x ( k ) ) - [J ( x (k ) )]-1 F ( x (k ) - [J (x ( k ) )]-1 F ( x (k ) )) .

(4.6)

За x ( k ) принимается результат одного шага основного метода,

затем одного шага модифицированного метода– двухступенчатый процесс.

z

(k ) =

x

( k ) - [J (

x

(k ) )]-1 F (

x

( k ) ) ;

x

( k ) =

z

( k ) - [J (

x

( k ) )]-1 F (

z

( k ) ) .

(4.7)

Такой процесс при определенных условиях дает кубическую сходимость последовательности {x ( k ) } к решению x * .

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

аппроксимационный аналог метода Ньютона;

разностный метод Ньютона.

61

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

Необходимо найти решение системы(4.2). Таким образом, рассматривается задача о нулях нелинейного отображения

F : Rn ® Rn .

Пусть Ф : X ® X , где Ф(X) – нелинейный оператор, а X

банахово подпространство (сепарабельное, т. е. счетное, всюду плотное множество).

Определение.

 

 

 

 

Элемент

 

*

Î X

называется

 

 

 

 

пространстваx

неподвижной точкой оператора Ф, если Ф(x* ) = x* .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Определение. Оператор Ф называется сжимающим на множестве

Q Ì X ,

если

 

 

для "x'

 

и x''Q

справедливо

 

 

Ф(x') -Ф(x'' )

 

 

 

 

£ q

 

 

 

x'-x' '

 

 

 

,

 

 

 

 

 

 

 

 

 

 

 

q <1 – условие Липшица.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рассмотрим наиболее простой метод – метод итерации.

 

 

 

 

 

 

 

 

 

Пусть система (4.1) преобразована к виду:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ìx

 

= j

 

(x

, x

,..., x

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ï 1

1

 

1

 

2

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(4.8)

í...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ïx

n

= j

n

(x

 

, x

 

,..., x

 

)

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

î

 

 

 

 

 

 

1

2

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= Ф(

 

) ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(4.9)

 

x

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

æj

 

(

 

 

)

ö

æj

 

(x , x

,..., x

) ö

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ç

 

1

 

 

 

 

 

 

 

÷

ç

 

 

1

1

2

 

n

÷

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где Ф(x) = ç...

 

 

 

 

 

 

 

÷ = ç...

 

 

 

 

÷.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ç

 

 

 

 

 

 

 

 

 

÷

ç

 

 

 

 

 

 

 

÷

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

èjn (x)ø èjn

(x1 , x2 ,..., xn )ø

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Запишем итерацию

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

( k +1) = Ф(

 

( k ) ) ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(4.10)

 

x

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

которая определяет метод простой итерации для задачи (4.1).

Если

 

 

 

 

отображение,

задаваемое

системой (4.8),

является

сжимающим в некоторой окрестности корня, начальное приближение x(0) = (x1(0) , x2(0) ,..., xn(0) )T лежит в той же окрестности и итерации (4.10) не

62

выходят за ее пределы, то

 

 

последовательность {x

( k ) } сходится

 

к

 

вектору решения системы (4.1) –

 

*

 

= (x* , x* ,..., x* )T .

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 2

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

Теорема

о

простых

 

 

итерациях.

Пусть

 

функцияФ(

 

 

)

 

и

 

 

x

 

замкнутое множество M Í D(Ф) Î Rn :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1) Ф(

 

 

 

) Î M ,"

 

Î M ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2) $q < 1:

 

 

 

 

 

 

 

 

 

 

~

 

 

 

 

 

 

 

 

 

 

 

~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ф(x) - Ф(x )

£ q

x - x

 

, для " x, x ÎM

,

 

 

 

 

 

 

 

 

 

 

 

 

тогда Ф(

x

) имеет в M

единственную

 

 

неподвижную точку

x

* ;

 

последовательность {x

( k ) }, определяемая методом простых итераций

 

по формуле (4.10), при

"

 

 

 

 

 

начальных

x

 

 

(0) ÎM сходится

к

x

*

 

и

 

справедливы оценки:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

* -

x

( k )

 

 

 

£

 

q

 

x

( k ) -

x

( k -1)

 

 

 

 

£

q k

 

 

 

 

 

x

(1) -

x

(0)

 

 

 

, "k Î N

 

(4.11)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 - q

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 - q

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Для приведения системы нелинейных уравнений

 

к,

виду

пригодному для итерации, можно использовать

такой способ:

 

умножить каждое уравнение системы(4.1) на

ai ,

где

i =

 

,

 

 

1, n

 

 

некоторый множитель, не равный нулю. Затем эти множители можно

 

использовать для достижения условия сжимаемости.

 

 

 

 

 

 

 

 

 

 

Недостаток: необходимо прибегать к искусственным приемам

 

при приведении системы к виду, пригодному для итерации.

 

 

 

 

 

 

 

 

 

 

4.1.3. Метод наискорейшего спуска

 

Общим недостатком рассмотренных ранее методов является

локальный

характер сходимости. Когда возникают проблемы с

выбором хорошего начального приближения, применяют методы

спуска.

 

 

Рассмотрим систему:

 

ì f (x, y) = 0

(4.12)

í

.

îg(x, y)

= 0

 

Из функций f и g системы (4.12) образуем новую функцию:

63

Ф(x, y) = f 2 (x, y) + g 2 (x, y) .

(4.13)

Так как функция Ф(x, y) неотрицательная, то $(x* , y* ) :

 

Ф(x, y) ³ Ф(x* , y* ) ³ 0, "(x, y) Î R2 , т. е. (x* , y* ) = arg minФ(x, y) .

x , y ÎR2

ì f (x* , y* ) = 0

Так как Ф(x* , y* ) = 0 Þ í Þ (x* , y* ) решение

îg(x* , y* ) = 0

системы (4.12).

Последовательность точек {xk }{, yk } получим по рекуррентной формуле

æç xk +1 çè yk +1

ö

æ x

ö

+a

æ p

 

÷

= ç

k ÷

ç

k

÷

ç

÷

 

k ç

 

ø

è yk ø

 

èqk

ö

÷ , (4.14)

÷

ø

где k = 0,1,2,...;

( pk , qk )T – вектор, определяющий направление

минимизации; ak

– скалярная величина, шаговый множитель.

При этом выполняется условие релаксации: Ф(xk +1 , yk +1 ) < Ф(xk , yk ) .

 

 

 

æ p

ö

 

 

 

 

 

 

æ

Ф'

(x

, y

 

) ö

 

– антиградиент

Вектор ç

k ÷

= -gradФ(xk

 

 

 

ç

x

k

 

k

÷

 

 

 

 

ç

÷

, yk ) = -ç

'

(xk

, yk

÷

 

 

 

 

 

 

èqk ø

 

 

 

 

 

 

è

Фy

)ø

 

 

 

Тогда градиентный метод имеет вид:

 

 

 

 

 

æ x

 

ö

æ x

ö

æ

Ф'

(x

, y

 

) ö

 

 

 

 

 

 

 

 

 

ç

k +1

÷

ç

k ÷

ç

x

k

 

k

÷

,

 

 

 

 

 

 

 

 

ç

 

÷

= ç

÷

-ak ç

'

(xk

 

 

÷

 

 

 

 

 

 

 

 

è yk +1

ø è yk ø

è

Фу

, yk )ø

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

æ

 

 

 

 

'

(xk , yk )

ö

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где оптимальный шаг a = arg min Фç xk -aФx

 

÷.

 

 

 

 

 

 

k

 

a>0

 

ç

 

 

 

'

 

 

÷

 

 

 

 

 

 

 

 

 

 

 

 

è yk -aФy

 

(xk , yk ) ø

Ф(x, y) .

(4.15)

(4.16)

Формулы (4.15) и (4.16) определяют градиентный метод, который называют методом наискорейшего спуска.

Достоинство: глобальная скорость (из любой начальной точки процесс приведет к минимальной точке).

Недостаток: медленная скорость сходимости эквивалентная линейной, причем, скорость замедляется в окрестности корня. Лучше применять совместно с другими методами(сначала – спуск, затем – метод Ньютона).

64

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]