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

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

 

 

6.1. Решение нелинейных уравнений

 

 

 

 

 

 

 

Пусть дано уравнение

f (x)= 0.

Корнем этого уравнения называется такое значение

xk , при котором

f (xk )= 0.

Корень xk называется простым,

если

f / (xk ) 0 ,

в против-

ном случае

- кратным. Целое число m

называется

кратностью

 

корня

xk , если

f (k )(xk )= 0,

для k =1,2,..., m 1,

а f (m )(xk )0.

Геометрически корень

xk

 

соответствует точке

пересечения графика функции

y = f (x)

с осью Ox. Корень кратный,

когда пересечение про-

f(x)

 

 

 

 

исходит под нулевым углом. На рисунке x1 ,

 

 

 

 

x3 - простые корни, x2 ,

 

 

x4

- кратные. В по-

 

 

 

 

 

 

 

 

 

 

 

 

давляющем большинстве случаев предста-

 

 

 

 

 

вить решение уравнения

 

 

f

(x)= 0 в виде ко-

 

 

 

 

 

нечной замкнутой формулы оказывается не-

 

 

 

 

 

возможным.

Даже

 

 

для

простейшего

x1

x2

x3

x4

 

алгебраического

уравнения

n

степени

 

xn + a

n1

xn1

+ ... + a x + a

0

= 0

явные форму-

 

 

 

 

 

 

 

 

1

 

n = 2,3,4.

 

 

 

 

 

 

лы корней известны для

 

Уже для

уравнения пятой (и более высоких степеней) таких формул не существует.

Задача отыскания корней нелинейного уравнения решается в два этапа. Первый называется этапом локализации (отделения) корней, второй - этапом итерационного уточнения корней. Отрезок [a, b], содержащий только один корень xk уравнения f (x)= 0 , называется

отрезком локализации корня xk . Способы локализации корней многообразны, и указать уни-

версальный метод не представляется возможным. Иногда отрезок локализации известен либо он определяется из физических соображений. В простых случаях хороший результат может дать графический метод. На этапе итерационного уточнения корней с точностью ε использу-

ют тот или

иной итерационный

метод,

позволяющий строить последовательность

x(0), x(1),..., x(n)

приближений к корню x

T

. Итерационный метод называют одношаговым, если

для вычисления очередного приближения x(n+1)

используется только одно предыдущее при-

ближение x(n ) и k - шаговым, если для вычисления x(n+1) используется k предыдущих приближений x(nk +1), x(nk +2),..., x(n ). Столько же данных необходимо для начального приближения, чтобы запустить метод.

Скорость сходимости - одна из важнейших характеристик итерационных методов. Говорят, что метод сходится со скоростью геометрической прогрессии, знаменатель которой q < 1 , если для n N справедлива оценка:

x(n ) xточн.

 

c0 q n , где c0 = const.

(6.1.1)

 

При определении скорости сходимости метода используют понятие порядка сходимости. Если справедливо неравенство

x(n+1) xточн.

 

c

 

x(n) xточн.

 

p , где c > 0, p 1,

(6.1.2)

 

 

 

то число p называют порядком сходимости. Если p = 1, то сходимость линейная (сходимость геометрической прогрессии), при p > 1 сходимость называется сверхлинейной. Если p = 2 ,

скорость сходимости называют квадратичной.

Если p = 1, то есть метод обладает линейной сходимостью, можно установить справедливость формулы

x(n) xточн.

 

qn

 

x(0) xточн.

 

, n 0 ;

(6.1.3)

 

 

 

152

 

 

 

смотрите метод простых итераций или метод Зейделя в предыдущей главе. Если же справедлива оценка

x

(n)

xточн.

 

c1 (q

p

n

~

 

x

(0)

xточн.

 

.

 

 

 

 

 

 

) ,

n 0, где c1 = c

 

 

 

p> 1, то

(6.1.4)

6.2. Метод Ньютона для уравнений

Этот знаменитый метод - один из наиболее эффективных методов решения самых разных нелинейных задач. Выведем его расчетную формулу, исходя из простейших геометрических соображений. Соответствующая иллюстрация приведена на рисунке слева. Пусть

f (x(0)) M (0)

f (x(1) ) xT

x(2 ) x(1) x(0)

x(0) - заданное начальное условие. В точке M (0) с координатами M (0)(x(0), f (x(0))) проведем касательную к графику функции y = f (x) и за новое приближение x(1) примем абсциссу точки пере-

сечения этой касательной с осью Ox.

Далее по-

ступают аналогично, за приближение

x(2) берут

абсциссу точки пересечения с осью

Ox

каса-

тельной, проведенной к графику

в

точке

M (1)(x(1), f (x(x ))) и так далее. Уравнение касательной, проведенной к графику y = f (x) в точ-

ке (x(n ), f (x(n ))), имеет вид y = f (x(n ) )+ f / (x(n) )(x x(n) ). Если положить здесь y = 0 , тогда

абсцисса точки x(n+1) пересечения касательной с осью Ox будет удовлетворять этому уравнению, то есть 0 = f (x(n ))+ f / (x(n) )(x(n+1) x(n) ). Отсюда

x

(n+1)

= x

(n)

f (x(n) )

, n 0, f ' (x

(n)

) 0 .

(6.2.1)

 

 

f ' (x(n) )

 

 

 

 

 

 

 

 

 

 

Это и есть основная рабочая формула метода Ньютона или метода касательных, получившего свое второе название благодаря указанной геометрической интерпретации.

6.3. Сходимость метода Ньютона и трудности его применения

Теорема 6.1. Пусть xk - простой корень уравнения f (x)= 0 , в некоторой окрестности которого функция y = f (x) дважды непрерывно дифференцируема. Тогда найдется такая малая σ -окрестность корня xT , что при произвольном выборе начального при-

ближения x(0) из этой окрестности итерационная последовательность метода Ньютона не

выходит за пределы этой окрестности и справедлива оценка

x(n+1) xT

 

c

 

x(n ) xT

 

2 , n 0,

(6.3.1)

 

 

 

где c = 1 / σ. Это означает, что метод Ньютона сходится с квадратичной скоростью. Грубо говоря, на каждой итерации число верных знаков приближения примерно удваивается.

Простота и высокая скорость сходимости делает метод Ньютона чрезвычайно привлекательным. Однако имеются две существенные трудности. Первая из них - необхо-

димость вычисления производной f / (x).

x(0) область σ

xT

x(1) x(2)

153

Это часто либо невозможно сделать, либо вычисление f / (x) оказывается слишком

дорогим. В таких ситуациях прибегают к различным модификациям метода Ньютона. Вторая трудность - его локальная сходимость. Это значит, что последовательные

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

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

6.4. Метод Ньютона решения систем нелинейных уравнений

Решение систем нелинейных уравнений - задача существенно более сложная, чем урав-

нения типа f (x)= 0 . Пусть дана система n нелинейных уравнений с n неизвестными вида

f1

(x1 , x2 ,..., xn )= 0,

 

f

2

(x , x

2

,..., x

n

)= 0,

 

 

1

 

 

(6.4.1)

 

 

 

 

 

 

 

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

 

f

n

(x , x

2

,..., x

n

)= 0.

 

 

1

 

 

 

На практике, к сожалению, эта задача встречается гораздо чаще предыдущей. Как и в случае уравнения с одним неизвестным, отыскание решения начинают с этапа локализации.

Для каждого из искомых решений x указывают множество, которое содержит только одно это решение и расположено в достаточно малой его окрестности. Часто в качестве такого множества выступает параллелепипед или шар в n -мерном пространстве. Сама задача локализации в большинстве случаев очень сложна, иногда полное решение задачи локализации невозможно.

Впростейших случаях могут быть использованы графические методы.

Вметоде Ньютона применяется линеаризация системы (6.4.1). Пусть по выбранному

 

 

(0) построены приближения

 

 

 

(1),

 

 

(2),...,

 

(k ).

 

 

Заменим в системе (6.4.1) каждую из функций

 

x

 

x

x

x

 

 

 

fi (x), i =1,2,..., n линейной частью ее разложения по формуле Тейлора в точке

 

(k ) :

 

x

 

 

fi (

 

)fi (x

(k ))+ n

fi (x

(k ))(x j x(jk )).

(6.4.2)

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j=1

 

 

x j

 

 

Тогда вместо системы (6.4.1) получим

 

 

 

 

 

 

(k )

)(x j x(jk ))= 0,

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f1 (x

 

 

 

 

f1

(x

(k ))+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j=1

 

x j

(k )

)(x j x(jk ))= 0,

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f2 (x

 

 

 

 

f2

(x

(k ))+

 

 

 

(6.4.3)

 

 

 

 

 

 

 

 

 

 

j=1

 

x j

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

fn

(x

(k ))+ n fn (x(k ))(x j x(jk ))= 0.

 

 

 

 

 

 

 

 

 

 

 

 

j=1

 

x j

 

 

 

 

 

 

 

 

В матричной форме система (6.4.3) будет иметь вид

 

 

 

 

 

 

 

 

 

(x

(k ))+ Φ(x

(k ))(x

 

(k ))= 0,

(6.4.4)

 

 

 

 

 

 

f

x

где матрица Якоби

f1 (

 

 

 

)

 

 

 

 

 

 

 

 

x

 

 

 

x1

 

 

 

 

 

 

f2 (

 

 

)

 

 

 

x

Φ(x)=

x

 

 

 

 

1

 

 

 

 

 

 

...

 

 

 

fn (

 

)

 

 

x

 

 

 

x

 

 

 

1

 

 

 

 

f1 (x)

x2

f2 (x)

x2

f...n (x)

x2

 

f1 (

 

 

 

)

 

 

 

x

 

...

xn

 

 

 

 

 

f2 (

 

 

)

 

 

...

 

x

(6.4.5)

xn

 

...

.

...

 

 

 

 

 

 

 

 

 

fn (

 

)

 

 

...

x

 

xn

 

 

 

 

 

154

Если матрица Φ(x) - невырожденная, то есть det Φ(x)0, то существует обратная матрица Φ1 (x). Тогда система (6.4.4) имеет единственное решение, которое и принимается за очеред-

ное приближение

 

(k +1) к решению

 

. Таким образом, приближение

 

(k +1)

удовлетворяет ра-

 

 

x

x

x

венству

 

 

 

 

 

(x

(k ))+ Φ(x

(k ))(x

(k +1)

 

(k ))= 0.

(6.4.6)

 

 

 

f

x

Из (6.4.6), как и в случае одного уравнения, легко выводится итерационная формула метода Ньютона для систем нелинейных уравнений:

 

(k +1) =

 

(k ) − Φ1 (x

(k ))f

(x

(k )). .

(6.4.7)

x

x

Формула (6.4.7) редко используется для непосредственного вычисления x(k +1) в силу своей трудоемкости из-за необходимости обращать матрицу Якоби. Вместо этого часто решается система линейных алгебраических уравнений вида

Φ(x

(k ))

 

(k +1) = −

 

(x

(k )), где

 

 

 

(k +1) =

 

(k +1)

 

(k ).

(6.4.8.)

x

f

x

x

x

Очередное приближение легко находится по формуле

 

 

 

 

 

 

(k +1) =

 

(k ) +

 

(k +1).

(6.4.9)

 

 

 

 

x

x

x

6.5. Сходимость метода Ньютона для систем нелинейных уравнений

Теорема 6.2. Пусть в некоторой окрестности решения

x

системы (6.4.1) функции

fi (x), i =1,2,..., n дважды непрерывно дифференцируемы и матрица Якоби Φ(x) невырожденная. Тогда найдется такая малая σ -окрестность решения x , что при произвольном выборе начального приближения x(0) из этой σ -окрестности итерационная последова-

тельность метода Ньютона сходится к решению x , не выходя за пределы σ -окрестности

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

 

 

(k +1)

 

 

c

 

(k ) x

2

,

k 0, c = 1

 

.

(6.5.1)

 

 

 

 

 

 

 

x

x

x

σ

По приведенной в начале главы классификации метод Ньютона сходится с квадратич-

ной скоростью. Практически для окончания расчетов используют критерий

 

 

 

 

 

 

 

 

(k +1)

 

(k )

 

< ε.

 

 

(6.5.2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

x

 

 

 

Все трудности метода, указанные для случая одного уравнения, сохраняются и здесь. Обостряется проблема нахождения хорошего начального приближения. Кроме того, вместо

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

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

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

а. Упрощенный метод Ньютона.

В нем матрица Φ(x(k )), вычисляемая заново на каждом приближении, заменяется постоянной матрицей A = Φ(x(0)). В результате формулы метода приобретают следующий вид:

 

 

 

 

(k +1)

 

 

 

 

 

 

(k )

 

 

 

x

= − f (x

),

 

A

 

 

 

 

(6.6.1)

 

 

 

(k +1)

 

 

 

(k )

 

 

 

 

 

(k +1)

 

 

= x

+ x

.

x

 

 

 

 

 

 

Этот метод обладает линейной сходимостью, причем знаменатель прогрессии q тем

меньше, чем ближе x(0) к x . Число итераций здесь существенно возрастает, однако вычислительные затраты могут оказаться меньше из-за того, что вычисление матрицы Якоби происхо-

155

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

б. Использование формул численного дифференцирования.

Часто вычисление производных fi невозможно. В подобных ситуациях используют

x j

различные конечно-разностные аппроксимации первых частных производных. Например,

fi (x

(k ))J (k ) =

1

[f

(x(k ),..., x

(k ) , x

(k )

+ h(k ), x(k )

,..., x(k ))

f

(x(k ),..., x(k ))]. .

h(jk )

 

 

x j

ij

i

1

 

 

 

j1

j

 

 

j

 

 

j+1

n

i

1

n

Формулы метода в этом случае примут вид

 

 

 

),

 

 

 

 

 

 

 

 

 

 

(k )

 

 

 

(k +1)

 

 

 

 

 

 

 

 

 

(k )

 

 

 

 

 

 

 

 

 

 

x

= − f (x

 

 

 

 

 

 

 

 

 

J

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(k +1)

 

 

 

 

(k )

 

 

 

 

 

 

(k +1)

 

 

 

 

 

 

 

 

 

 

 

= x

+ x

.

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

(6.6.2)

(6.6.3)

В этом методе проблему представляет выбор шагов h(jk ) . Это также не простая задача.

От выбора h(jk ) зависит точность приближения J (k ) к Φ(x(k )), а следовательно, и скорость схо-

димости.

в. Метод секущих.

В этом методе h(k ) = x(k 1) x(k ). Формулы (6.6.2) и (6.6.3) остаются без изменения. Однако, для того чтобы начать вычисления, необходимо задать два начальных приближения x(0) и x(1). Если они выбраны удачно, то метод сходится со сверхлинейной сходимостью с поряд-

ком сходимости p =

5 +1 .

 

2

Пример. Решить систему нелинейных уравнений методом Ньютона с ε = 103 :

sin(x + y)1.1x = 0.1,

x2 + y2 =1.

Здесь две переменные: x1 = x и x2 = y. Вычислим матрицу Якоби в аналитической форме:

 

 

 

 

 

 

f1 (x, y)= sin(x + y)

 

f2 (x, y)= x2 + y

 

 

 

 

 

 

 

 

f1

= cos(x + y)1.1,

 

 

 

 

x

 

 

 

 

 

 

f1 = cos(x + y),

1.1x 0.1,

 

 

 

 

 

 

 

y

 

2

1.

 

 

 

 

 

 

 

 

f2

 

 

 

 

 

 

x = 2x,

 

 

 

 

 

 

 

 

 

 

 

 

f2

= 2 y.

 

 

 

 

 

 

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f

1

(x, y)

 

 

f

1

(x, y)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

cos(x + y)1.1

cos(x + y)

 

 

 

 

 

 

 

 

0.1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(0)

Итак,

Φ(x)=

 

x

 

 

 

 

y

 

Пусть

x

 

 

 

 

 

=

 

 

.

 

 

=

 

 

,

 

 

 

 

 

 

 

 

f

2 (x, y)

 

f

2 (x, y)

 

2x

2 y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.0

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

так

как

могут быть

 

случаи

 

деления на

нуль.

Основная

 

 

 

формула

 

 

(k +1)

=

 

(k )

− Φ1 (x

(k ))f

(x

(k )), поэтому на каждом шаге необходимо знать

 

(

 

) и Φ(

 

).

 

x

x

f

x

x

x(0) 0 ,

метода

156

Соседние файлы в предмете Вычислительная математика