Материал: Спецглавы высшей математики. численные методы. Пантелеев И.Н

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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

59

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

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

4.1. Векторная запись нелинейных систем. Метод простых итераций

Пусть требуется решить систему уравнений

f1(x1, x2 , xn ) 0,

 

f2 (x1, x2 , xn ) 0,

(IV.1)

 

 

 

 

 

 

 

 

 

 

 

f

(x

, x

, x ) 0,

 

n

1

2

n

 

где f1.f2...,fn - заданные, вообще говоря, нелинейные вещественнозначные функции n вещественных переменных x1,x2.....xn. Введем обозначения:

x1`

xx2 ,x3

 

f

1

(x)

 

 

 

 

f2 (x)

F x

 

 

 

 

 

 

 

fn (x)

 

 

 

f

1

 

 

 

 

 

f2

 

 

 

 

 

 

 

 

 

 

fn

 

 

(x1 , x2 , xn )

 

(x1 , x2 , xn )

,

(x

 

 

, x

 

 

 

, x

2

n

)

1

 

 

 

 

0 0 0 .

0

Тогда систему (IV.1) можно заменить одним уравнением

F x

 

(IV.2)

0

60

относительно векторной функции F векторного аргумента x. Следовательно, исходную задачу можно рассматривать как

задачу о нулях нелинейного отображения F : Rn Rn . В этой

постановке данная задача является прямым обобщением задачи о нахождении решения нелинейного уравнения для случая пространств большей размерности. Это означает, что можно строить методы ее решения как на основе обсужденных в предыдущей главе подходов, так и осуществлять формальный перенос выведенных для скалярного случая расчетных формул. Однако не все результаты и не все методы оказывается возможным перенести формально (например, метод половинного деления). В любом случае следует позаботиться о правомерности тех или иных операций над векторными переменными и векторными функциями, а также о сходимости получаемых таким способом итерационных процессах. Отметим, что переход от n= 1 к n ≥2 вносит в задачу нахождения нулей нелинейного отображения свою специфику, учет которой привел к появлению новых методов и различных модификаций уже имеющихся методов. В частности, большая вариативность методов решения нелинейных систем связана с разнообразием способов, которыми можно решать линейные алгебраические задачи, возникающие при пошаговой линеаризации данной нелинейной вектор-функцииF(x) .

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

Пусть система (IV.1) преобразована к следующей эквивалентной нелинейной системе:

x1 1 (x1 , x2 , , xn ),

 

x2

2 (x1 , x2

, xn ),

(IV.3)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

n

(x

, x

2

,

x

n

)

 

 

1

 

 

 

 

 

или в компактной записи:

61

1 x 1 (x1 , x2 , , xn )

x (x) 2 x 2 x1 , x2 , , xn . (IV.4)n x n (x1 , x2 , , xn )

Для задачи о неподвижной точке нелинейного отображенияRn Rn запишем формальное рекуррентное равенство:

x (k 1)

(x (k ) ),

(IV.5)

где k определяет метод простых итераций, для задачи (IV.3) и k= 0,1,2,...,n .

Если начать процесс построения последовательности x k с некоторого вектора x 0 x10 , x20 , , xn0 T и продолжить вы-

числительный процесс по формуле IV.5), то при определенных условиях данная последовательность со скоростью геометриче-

ской прогрессии будет приближаться к векторуx* — неподвижной точке отображения Ф(х).

Справедлива следующая теорема, которую мы приводим без

доказательства.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Теорема IV.1. Пусть функция Ф(х) и замкнутое множество

D Rn таковы, что:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. x ,

 

 

x .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. q 1:

 

 

x

 

 

 

~

 

q

 

x

~

 

 

 

 

,

 

 

 

 

~

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

x

 

 

 

 

x, x

 

 

 

 

 

 

Тогда Ф(х) имеет в М единственную неподвижную точку

 

x* ;

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

 

определяемая (IV.5),

сходится

при

любом

 

 

 

x 0

 

 

к

 

 

 

 

x* ;

справедливы

оценки:

 

x

*

x

k

 

 

 

 

 

 

 

 

q

 

 

x

k

x

k 1

 

 

 

 

 

 

 

 

qk

 

 

x

1

x

0

 

 

 

,

k N.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

q

 

 

 

 

 

 

1

q

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

62

 

 

 

 

 

 

 

 

 

 

 

 

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

брано хорошее начальное приближение x 0 решению x* , больший практический интерес представляет следующая тео- рТеорема. IV.2. Пусть x дифференцируема в замкну-

том

шаре S x

0

, r D , причем

q 0;1 :

sup

 

 

 

q .

 

 

 

 

 

 

 

x

 

Тогда

если центр x 0

 

 

x S

 

 

 

 

и радиус

r шара S

таковы,

что

 

x 0 x 0

 

 

 

r 1 q ,

то справедливо заключение теоремы

 

 

 

IV.1 с М = S .

Запишем метод последовательных приближений (IV.5) в развернутом виде:

x1k 1 1 x1k , x2k , , xnk ,

 

 

 

 

x1k , x2k , , xnk ,

 

x2k 1

2

(IV.6)

 

 

 

 

 

 

 

 

 

 

 

 

x k 1

n

x k , x k , , x k .

 

 

n

1

2

n

 

Сравнение (IV.6) с вычислительной формулой метода простой итерации решения систем линейных уравнений (III.13) обнаруживает их сходство. Учитывая, что в линейном случае, как правило, более эффективен метод Зейделя, а данном случае также может оказаться более эффективным его многомерный аналог, называемый методом покоординатных итераций:

x1k 1 1 x1k , x2k , , xnk 1 , xnk ,

 

 

 

 

x1k 1 , x2k , , xnk 1 , xnk ,

 

x2k 1

2

(IV.7)

 

 

 

 

 

 

 

 

 

 

 

 

x k 1

n

x k 1 , x k 1 , , x k 1 , x k .

 

n

1

2

n 1

n

 

 

 

 

 

63

 

 

Заметим, что, как и для линейных систем, отдельные уравнения в (IV.7) неравноправны, т, е. перемена местами уравнений системы (IV.3) может изменить в некоторых пределах число итераций и вообще ситуацию со сходимостью последовательности итераций. Для того чтобы применить метод простых итераций (IV.6) или его "зейделеву" модификацию (IV.7) к исходной системе (IV.1), необходимо сначала тем или иным способом привести эту систему к виду (IV.3). Это можно сделать,

например, умножив (IV.2) на неособенную nхn матрицу А и

прибавив к обеим частям уравнения

- F x вектор неизвест-

ных. Полученная система

 

x x F x

(IV.8)

эквивалентна исходной и имеет вид, аналогичный уравнению в методе итераций в одномерном случае. Проблема состоит лишь

вправильном подборе матричного параметра.

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

Для решения системы (IV.3) будем пользоваться методом последовательных приближений.

Предположим, известно k-е приближение x k x1k , x2k , , xnk одного из изолированных корней x* x1* , x2* , , xn* векторного уравнения (IV.2).

Тогда точный корень уравнения (IV.2) можно представить в виде:

x* x k x k ,

(IV.9)

где x k x1k , x2k , , xnk — поправка (погрешность кор-

ня). 64

Подставляя выражение (IV.9) в (IV.2), имеем

 

F x k x k 0.

(IV.10)

Предполагая, что функция F x непрерывно дифференцируе-

ма в некоторой выпуклой области, содержащей x и x k , разложим левую часть уравнения (IV.10) по степеням малого век-

тора x k , ограничиваясь линейными членами:

 

F x

k

x

k

 

F x

k

 

 

 

k

x

k

(IV.11)

 

 

 

 

 

 

F x

 

 

 

или в развернутом виде :

 

 

 

 

 

 

 

 

 

 

 

f1

x1k

x1k , , xnk

xnk

f1 x1k , , xnk

 

 

 

 

 

k f1

 

 

k f1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1

 

 

xn

 

 

 

0

 

 

 

 

 

 

x1

 

xn

 

 

 

 

 

 

 

 

(IV.12)

 

 

 

 

k

 

k

 

 

k

k

 

 

 

k

 

 

k

 

fn x1

x1

 

, , xn

 

 

xn

 

 

fn x1

 

, , xn

 

 

 

 

 

k fn

 

 

k fn

 

 

 

 

 

 

 

 

 

x1

 

 

 

xn

 

 

 

 

 

0.

 

 

 

 

 

 

x1

 

 

xn

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Из формул (IV.11) и (IV.12) видно, что под производной F x следует понимать матрицу Якоби системы функций

f1 , f2 , , fn относительно переменных x1 , x2 , xn , т. е.

65

f1x1

f2 F x W x x1fn

x1

или в краткой записи

 

f1

 

 

f1

 

 

 

 

 

 

 

 

 

 

x

2

x

 

f

 

 

 

n

 

2

 

 

f

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

x2

 

 

xn

 

 

 

 

fn

 

 

fn

 

 

 

 

 

 

 

 

x2

 

 

 

 

 

 

 

 

 

 

 

 

xn

 

 

fi

 

i, j 1,2,, n ,

 

 

 

 

 

F x W x

 

 

 

x j

 

 

 

 

 

 

поэтому формула (IV.12) может быть записана в следующем виде:

F x k W x k x k 0.

 

(IV.13)

f

 

0 , то

Если det W x det

 

 

 

x

 

x k W 1 x k F x k

.

 

(IV.14)

Отсюда видно, что метод Ньютона для решения системы (IV.1) состоит в построении итерационной последовательности:

x k 1 x k W 1 x k F x k , (IV.15)

где k =0, 1,2,

Если все поправки становятся достаточно малыми, счет прекращается. Иначе новые значения хi, используются как приближенные значения корней, и процесс повторяется до тех пор, пока не будет найдено решение или не станет ясно, что полу-

чить его не удастся.

66

 

Пример IV.1. Найти методом Ньютона приближенное положительное решение системы уравнений

f1 x, y, z x2 y 2 z 2 1,

 

 

x, y, z 2x2

y 2 4z,

f2

f

3

x, y, z 3x2

4y z 2 ,

 

 

 

исходя из начального приближения x0 y0 z0 0.5.

Полагая

0.5 x 0 0.5 ,

0.5

Имеем

 

f1

x, y, z

 

f x

 

f

 

 

,

 

2

x, y, z

 

 

 

 

 

 

f

 

 

 

 

 

3

x, y, z

 

 

 

 

 

 

 

x

2

y

2

z

2

 

 

 

 

 

 

 

 

 

1

 

 

f x

2x2

y 2

4z

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

4y z

2

 

 

 

 

3x

 

 

 

 

 

Отсюда

 

 

 

 

 

 

 

 

 

 

 

 

0.25 0.25 0.25 1

 

0.25

f x 0 0.50 0.25 2.00

 

 

 

1.25

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0.25

 

 

 

 

 

0.75 2.00

 

 

 

1.00

 

Составим матрицу Якоби:

67

Источник: https://studfile.net/preview/16565850/