РТФ РАДИОТЕХНИЧЕСКИЙ ИНСТИТУТ

advertisement
РАДИОТЕХНИЧЕСКИЙ ИНСТИ
РТФ
«Вычислительная математика»
Презентационные материалы к лекциям :
Селиванова Ирина Анатольевна,
ст.преподаватель кафедры
«Автоматики и информационных
технологий» УГТУ-УПИ
Численные методы решения систем нелинейных
уравнений
• 1. ПОСТАНОВКА ЗАДАЧИ
•
•
•
•
•
•
•
•
•
•
2. МЕТОД НЬЮТОНА, ЕГО РЕАЛИЗАЦИИ И МОДИФИКАЦИИ
2.1. Метод Ньютона
2.2. Модифицированный метод Ньютона
2.3. Рекурсивный метод Ньютона
2.4. Метод Ньютона с последовательной аппроксимацией обратных
матриц
2.5. Дискретный (разностный) метод Ньютона
2.6. Простейший метод секущих
3. МЕТОД ПРОСТЫХ ИТЕРАЦИЙ
4. СРАВНЕНИЕ МЕТОДОВ
СПИСОК ЛИТЕРАТУРЫ
Введение
Часто в инженерной практике встает вопрос о решении систем
нелинейных уравнений. В каждой конкретной задаче на решение
накладываются
определенные
ограничения,
такие,
как:
необходимая точность вычисления, простота алгоритма, время
решения, затраты машинной памяти, и др.
При их решении необходимо учитывать все данные составляющие. В
зависимости от конкретной постановки задачи нужно выбирать
определенный метод решения.
1. Постановка задачи
Дана система n нелинейных уравнений с n неизвестными:
 f 1 ( x1 , x 2 ,..., x n )  0,
 f ( x , x ,..., x )  0,
 2 1 2
n

............................
 f n ( x1 , x 2 ,..., x n )  0
n
f i ( x1 ,  , x n ) : R  R, i  1,  , n , - нелинейные
где
непрерывные в некоторой области
представить в векторном виде:
 

функции, определенные и
G  R n . Систему (1) можно
f ( x)  0
T


f ( x )   f1 ( x ), , f n ( x )


такой вектор x  ( x1 ,, xn ) T
 


(1)
(2)
где x  ( x1 ,, xn )T
Требуется найти
, который при подстановке
в систему (1) превращает каждое уравнение в верное числовое
равенство.
В этой постановке задача является обобщением задачи построения
методов нахождения нулей одномерных нелинейных уравнений.
Фактически это та же задача, только в пространстве большей
размерности.
2. Метод Ньютона, его реализации и модификации
2.1. Метод Ньютона
Для решения системы (1) воспользуемся методом последовательных
приближений.
Предположим, что найдено k-ое приближение


(k )
(k )
(k )
x ( k )  ( x1 , x2 ,..., xn ) одного из изолированных корней x  ( x1 ,  , xn ) T
векторного уравнения (2). Тогда точный корень уравнения можно
представить в виде:   
x  x ( k )  p ( k )
(3)

где p ( k )  ( p1(k ) , p2(k ) ,..., pn (k ) ) - поправка (погрешность) корня на k -ом шаге.
Подставив выражение (3) в (2), получим:


 

(k )
f ( x )  f ( x  p ( k ) )  0
(4)
Метод Ньютона
 
Предположим, что функция f ( x ) - непрерывно дифференцируема
в


некоторой выпуклой области, содержащей x и x (k ). Тогда левую
часть уравнения (4) разложим в ряд Тейлора по степеням малого
вектора , ограничиваясь линейными членами:




 
 
(k )
(k )
(k )
'
(k )
(5)
f ( x  p )  f ( x )  f ( x ) p (k )  0
 
под производной f ' ( x ) следует понимать матрицу Якоби системы
функций f 1 , f 2 ,..., f n , относительно переменных x1 , x2 ,..., xn , то есть:
f1
x1
f1
x 2
f 2
f ( x )  J ( x )  x1
...
f n
x1
f 2
x 2
 
'

...
f n
x 2
...
f1
x n
f 2
 

 f 
x n  f ' ( x )  J ( x )   i  (i, j  1,2,..., n)
 x j 
... ...
f n
...
x n
...
(6)
Формула (5) может быть
записана
в следующем виде:



f ( x (k ) )  J ( x (k ) ) p (k )  0
(7)
Метод Ньютона

(k )
J (x
Отсюда, предполагая,
что матрица




)-
неособенная, получим:
p ( k )   J 1 ( x ( k ) ) f ( x ( k ) )
(8)
Теперь, подставив выражение (8) в формулу (3), окончательно
получим:



 
( k 1)
(k )
1
(k )
x
 x  J ( x ) f ( x ( k ) ) (k  0,1,2..., n)
(9)
Таким образом, получили вычислительную формулу  (метод
( 0)
Ньютона), где в качестве нулевого приближения x
можно
взять приближенное (грубое) значение искомого корня.
Для останова процесса вычислений в быстросходящихся методах
таких, как метод Ньютона, методы секущих и т.п., часто вполне
успешно применяют простой критерий:

 (
k 1)
 x (k )  
x


 
 f ( x ( k 1) )  




x : x

( k 1)
(10)
Метод Ньютона
Отслеживать факт сходимости в процессе итерации для того, чтобы
реагировать на возможную расходимость в случаях, когда заранее
не обеспечены условия сходимости применяемого метода, можно
с помощью текущих проверок на уменьшение от шага к шагу
поправок и невязок, т.е. выполнение неравенств:








( k 1)
( k 1)
(k )
(k )
( k 1)
и
(11)
f (x
)  f ( x (k ) )
x
x  x x
Теорема 1 (о достаточных условиях сходимости метода Ньютона).
 
Пусть функция f ( x ) непрерывно дифференцируема в открытом

n
n
выпуклом множестве G  R .Предположим, что существуют x  R

 

1
и r ,   0, такие, что N ( x , r )  G , f ( x )  0 , и существует J ( x ) ,



1
причем J ( x )   и J ( x )  Lip ( N ( x , r )) . Тогда существует такое   0 ,


(0)
(
1
)
что для всех x  N ( x ,  ) последовательность x , x ( 2) , ,

порождаемая соотношением (9), сходится к x и удовлетворяет
2


неравенству


( k 1)
(k )
x
 x   x
 x , k  0,1,
Метод Ньютона

N ( x , r ) - открытая
Здесь использованы следующие обозначения:

окрестность радиуса r с центром в точке x : N ( x , r )   x  R : x  x  r  ;





запись J ( x )  Lip ( N ( x , r )) означает, что J ( x ) непрерывна по Липшицу,


 
 

J
(
y
)

J
(
x
)


y

x

x
,
y

N
(
x
где  - константа Липшица, т.е.
 , r) .




n



• К недостаткам метода Ньютона следует отнести:
– необходимость задавать достаточно хорошее начальное
приближение;
– отсутствие глобальной сходимости для многих задач;
– необходимость вычисления матрицы Якоби на каждой
итерации;
• Достоинством метода является квадратичная сходимость из
хорошего начального приближения при условии невырожденности
матрицы Якоби.
Метод Ньютона
Методика решения задачи

1. Задать начальное приближение x (0) и малое положительное число
 (точность). Положить k  0




(k )
1
(k )
2. Найти значение выражения  x   J ( x ) f ( x ( k ) )



( k 1)
(k )
3. Вычислить следующее приближение: x  x   x ( k )


(k 1)
x

x


4. Если
или f ( x )   , процесс закончить и положить



x  x (k 1)
Иначе, положить k  k  1 и перейти к п.2.

( k 1)

(k )

Метод Ньютона, его реализации и модификации
2.2. Модифицированный метод Ньютона
Новым, по сравнению со скалярным случаем, фактором,
осложняющим применение метода Ньютона к решению n-мерных
систем, является необходимость решения n-мерных линейных
задач на каждой итерации, вычислительные затраты на которые
растут с ростом n, вообще говоря, непропорционально быстро.
Уменьшение таких затрат – одно из направлений модификации
метода Ньютона.

( x)
Если матрицу Якоби Jвычислить
и обратить лишь один раз в методе
Ньютона, то придем к модифицированному методу Ньютона
(12)




( k 1)
 x ( k ) метода
 J 1 ( x ( 0 ) ) fможно
( x ( k ) ) k отнести
 0,1,2,  , nто, что он требует
К преимуществамx этого
значительно меньших вычислительных затрат на один
итерационный шаг.
Модифицированный метод Ньютона
Однако недостатком является то, что итераций при этом может
потребоваться значительно больше для достижения заданной
точности по сравнению с основным методом Ньютона.


Критерий остановки:  x ( k 1)  x ( k )   

 

 f ( x ( k 1) )



x : x

( k 1)


Методика решения задачи

( 0)
1. Задать начальное приближение x и малое положительное число
 (точность). Положить k  0




(k )
1
(0)
(k )

x


J
(
x
)
f
(
x
)
2. Найти значение выражения



( k 1)
(k )
3. Вычислить следующее приближение: x  x   x ( k )


(k 1)
4. Если x  x   или f ( x )   , процесс закончить и положить



(k 1)
x  x
Иначе, положить k  k  1 и перейти к п.2.

( k 1)

(k )

Модифицированный метод Ньютона
Пример. Решить систему уравнений.
 x1  x22  3  0

2 x1  x2  4  0
1. Поиск приближенных корней уравнений.
По графику 1 определяем точки пересечения
Точки пересечения (приближенно)
М1(-2,-3) и М2(2,-1)
График 1
Рассмотрим точку М1(-2,-3) – начальное приближение x
(0)
  2
  
 3
Модифицированный метод Ньютона
2. Подставим x
(0)
f( x
в исходную систему.
(0)
  2  ( 3 )2  3   4 
   
)  

 2(  2 )  (  3 )  4   3 
Найдем матрицу Якоби :
 f 1

x
J( x )   1
 f 2
 x
 1
3.
(0)
f 1 

x2   1 2 x2 


f 2   2  1 
x2 
Подставим x в матрицу
1
(0)
1  1  6


J (x )
 23  2  1 
Якоби:
(0)
 1  6

J ( x )  
2

1


и обратим матрицу:
4. По уравнению (12) найдем следующее приближение:
x
(1)
  3,272 

 

2
,
545


Вторая итерация:
x
(2)
  3,254 

 
  2,508 
(1)
 0 ,207 

f ( x )  
0
,
000


(2)
 0,036 

f ( x )  
0
,
000


Модифицированный метод Ньютона
Третья итерация:
x
(3)
  3,251

 

2
,
501


f(x
(3)
 0,006 

)  
0
,
000


Четвертая итерация:
x
(4)
  3,250 

 
  2,500 
(4)
 0,001 

f ( x )  
0
,
000


Графики изменения значений х1 и х2 на каждой итерации:
Модифицированный метод Ньютона
Графики изменения погрешностей на каждой итерации:
Метод Ньютона, его реализации и модификации
2.3. Рекурсивный метод Ньютона
Компромиссный вариант – это вычисление и обращение матриц
Якоби не на каждом итерационном шаге, а через несколько шагов
(такие методы называют рекурсивными).
Например, простое чередование основного (9) и модифицированного
методов
Ньютона
(12)
приводит
к итерационной
формуле:











x ( k 1)  x ( k )  J 1 ( x ( k ) ) f ( x ( k ) )  J 1 ( x ( k ) ) f ( x ( k )  J 1 ( x ( k ) ) f ( x ( k ) )), где k  0,1,2... (13)
За здесь принимается результат последовательного применения
одного шага основного, а затем одного шага модифицированного
метода, т.е. двухступенчатого
процесса





 (k )
(k )
1
(k )
(k )
z  x  J ( x ) f ( x )
(14)






 x ( k 1)  z ( k )  J 1 ( x ( k ) ) f ( z ( k ) )

Доказано, что такой процесс при определенных условиях
порождает
 (k ) 
кубически сходящуюся последовательность  x  .


Рекурсивный метод Ньютона
Критерий остановки:

 (
k 1)
(k )
x

x




 
 f ( x ( k 1) )  





x : x ( k 1)
Методика решения задачи

( 0)
1. Задать начальное приближение x и малое положительное число
 (точность). Положить k  0



 
(k )
(k )
1
(k )
2. Найти значение выражения z  x  J ( x ) f ( x (k ) )





( k 1)
(k )
1
(k )
3. Найти значение выражения x  z  J ( x ) f ( z ( k ) )


(k 1)
x

x


f
(
x
)   , процесс закончить и положить
4. Если
или



(k 1)
x  x
Иначе, положить k  k  1 и перейти к п.2.

( k 1)

(k )

Метод Ньютона, его реализации и модификации
2.4. Метод Ньютона с последовательной аппроксимацией
обратных матриц
Задачу обращения матриц Якоби на каждом k-ом шаге метода
Ньютона можно попытаться решать не точно, а приближенно. Для
этого можно применить, например, итерационный процесс
Шульца, ограничиваясь минимумом – всего одним шагом процесса
второго порядка, в котором за начальную матрицу принимается
матрица, полученная в результате предыдущего шага. Таким
образом, приходим к методу Ньютона с последовательной
аппроксимацией обратных матриц:
 (k 1) ( k ) 1 ( k )  ( k )
 x  J (x ) f (x )
x




 ( k )
( k 1)
1
(k )
( 0)
1
, где k  0,1,2... НУ : x , J ( x ( 0) )
  E  J ( x ) J ( x )





 J 1 ( x ( k 1) )  J 1 ( x ( k ) )  J 1 ( x ( k ) ) ( k )

(15)
Метод Ньютона с последовательной
аппроксимацией обратных матриц
Критерий остановки:

 (
k 1)
 x (k )

x


 
 f ( x ( k 1) )  




x : x

( k 1)
Методика решения задачи

( 0)
1. Задать начальное приближение x и малое положительное число
 (точность). Положить k  0
2. Найти значение выражения x  x  J ( x ) f ( x )
3. Найти значение выражения   E  J ( x ) J ( x )
4. Найти значение выражения J ( x )  J ( x )  J ( x )


(k 1)
5. Если x  x   или f ( x )   , процесс закончить и положить



(k 1)
x  x
Иначе, положить k  k  1 и перейти к п.2.

( k 1)

(k )

(k )
1

( k 1)

(k )

1

( k 1)

( k 1)
1

(k )
1

(k )


(k )

(k )
1

(k )

(k )
Метод Ньютона, его реализации и модификации
2.5. Дискретный (разностный) метод Ньютона
На базе метода Ньютона можно построить близкий к нему по
поведению итерационный процесс, не требующий вычисления
производных. Сделаем это, заменив частные производные в
матрице Якоби разностными отношениями, т.е. подставив в
формулу вместо матрицу , где:
n
(k )
(k )
(k )
(k )
(k )
(k )
(k )




f
(
x
,...,
x

h
,...,
x
)

f
(
x
,...,
x
,...,
x
)
(16)
j
j
n
i
1
j
n
(k )
(k )
 i 1

J (x , h ) 


h (j k )

 i , j 1
При удачном задании последовательности малых векторов
(постоянной или сходящейся к нулю) полученный таким путем
разностный (или иначе, дискретный) метод Ньютона:




 
( k 1)
(k )
1
(k )
(k )
(17)
x
 x  J ( x , h ) f ( x(k ) )
имеет сверхлинейную, вплоть до квадратичной, скорость сходимости
и обобщает на многомерный случай метод. При задании
векторного параметра h – шага дискретизации – следует
учитывать точность машинных вычислений, точность вычисления
функций f i , средние значения получаемых приближений.
Дискретный (разностный) метод Ньютона

(0)
Для запуска алгоритма необходимо знать
Критерий остановки:  x (k 1)  x( k )  


 
 f ( x ( k 1) )




x : x

(0)
x ,h

( k 1)


Методика решения задачи

1. Задать начальное приближение x (0) и малое положительное число
 (точность). Положить k  0
2. Найти значение выражения
n
 f i ( x1( k ) ,..., x (jk )  h (j k ) ,..., xn( k ) )  f i ( x1( k ) ,..., x (jk ) ,..., xn( k ) ) 

J (x , h )  
(k )


h
j

 i , j 1

(k )

(k )

( k 1)

(k )

(k )

(k )


(k )
3. Найти значение выражения x  x  J ( x , h ) f ( x )


(k 1)
4. Если x  x   или f ( x )   , процесс закончить и положить



(k 1)
Иначе,
положить
k  k  1 и перейти к п.2.
x  x

( k 1)

(k )

1
Метод Ньютона, его реализации и модификации
2.6. Простейший метод секущих
Можно связать задание последовательности { p ( k ) } с какой-либо
сходящейся к нулю векторной последовательностью,
например,
с




 
(k )
последовательностью невязок { f ( x )  f ( x )}или поправок {x ( k )  x ( k 1) } .
Так, полагая, h (j k )  x (jk 1)  x,(jk ) j  1,2,..., n, k  1,2,,  приходим к простейшему
методу секущих:




 
x ( k 1)  x ( k )  B 1 ( x ( k ) , x ( k 1) ) f ( x ( k ) ),
(18)
где матрица B есть:
 f ( x ,..., x
,..., x )  f ( x ,..., x ,..., x ) 
(19)

 , k  1,2,3...
B( x , x ) 

(k )

( k 1)
( k 1)
(k )
i


i
j
(k )
n
xj
( k 1)
(k )
i
 xj
i
(k )
(k )
j
(k )
n
n

 i , j 1
Этот метод является двухшаговым
и требует задания двух начальных


1 5
точек
. Сходимость
метода имеет порядок
.
x ( 0 ) , x (1)
2
Простейший метод секущих
Критерий остановки:

 (
k 1)
 x (k )  
x


 
 f ( x ( k 1) )  




x : x

( k 1)
Методика решения задачи

1. Задать начальное приближение x (0) и малое положительное число
 (точность). Положить k  0
2. Найти значение выражения

(k )
B( x , x

( k 1)
n
 f i ( xi ( k ) ,..., x j ( k 1) ,..., x n ( k ) )  f i ( xi ( k ) ,..., x j ( k ) ,..., x n ( k ) ) 

)
( k 1)
(k )


xj
 xj

 i , j 1

( k 1)

(k )

(k )

( k 1)


(k )
3. Найти значение выражения x  x  B ( x , x ) f ( x ),


(k 1)
x

x


4. Если
или f ( x )  , процесс закончить и положить



x  x (k 1)
Иначе, положить k  k  1 и перейти к п.2.

( k 1)

(k )

1
3. Метод простых итераций
Пусть система (1) имеет вид (или преобразована к виду):
 x1  1 ( x1 , x2 ,, xn ),
 x   ( x , x ,, x ), 

 2
2
1
2
n
 x  ( x )











 xn   n ( x1 , x2 ,, xn ),
где
  
 1 ( x )   1 ( x1 , x 2 ,  , x n ) 



 

  2 ( x )    2 ( x1 , x 2 ,  , x n ) 
 ( x ) : 






 
 ( x , x ,, x ) 
 

n 
  n 1 2
 n ( x ) 
(20)
(21)
Для этой задачи о неподвижной точке нелинейного отображения
 : Rn  Rn запишем формально рекуррентное равенство


( k 1)
(20)
x
 ( x ( k ) )
которое определяет метод простых итераций (МПИ) (или
метод последовательных приближений) для задачи (1).
Метод простых итераций
Теорема 2. Пусть функция
M  D()  R таковы, что:



( x )
и замкнутое
множество
n
( x )  M  x  M ;




q  1 :  ( x )   ( ~
x )  q x ~
x
 
 x, ~
x M


 ( x ) имеет в M единственную неподвижную точку x
Тогда
;

(k )
{x } , определяемая
последовательность
МПИ (15), при любом


( 0)
сходится к x  M и справедливыxоценки:


(k )
x  x


q
q k (1) ( 0)
(k )
( k 1)

x x

x x
k  N
1 q
1 q
Однако практическая ценность такой теоремы не так велика из-за
неконструктивности ее условий. В случаях, когда имеется хорошее


начальное приближение
к решению
, x
больший
x ( 0)
интерес для приложений может представить следующая теорема.
Метод простых итераций

Теорема 3. Пусть функция  ( x ) дифференцируема в замкнутом
шаре S ( x ( 0) , r )  D() , причем q  (0,1) :
.


( 0)
Тогда, если центр x

(0)

( 0)
x  ( x )
sup  ' ( x )  q

x S
и радиус r шара S, таковы, что
 r (1  q) , то справедливо заключение теоремы 2 с M=S.
Лемма 1. Пусть функция  : Rn  Rn непрерывно
дифференцируема
на



множестве M  D()и пусть  1 ( x )  L  x  M . Тогда  ( x )
удовлетворяет на множестве M условию Липшица




( x )  ( ~
x )  L x ~
x
.
Метод простых итераций
Критерий остановки:

 (
k 1)
(k )
x

x




 
 f ( x ( k 1) )  




x : x

( k 1)
Методика решения задачи

1. Задать начальное приближение x (0) и малое положительное число
Положить k  0
 (точность).



( k 1)
(k 1)
2. Вычислить x
по формуле x  ( x ( k ) ) или
 x1( k 1)  1 ( x1( k ) , x 2( k ) ,, x n( k ) )
 ( k 1)
  2 ( x1( k ) , x 2( k ) ,, x n( k ) )
 x2


 x ( k 1)   ( x ( k ) , x ( k ) ,, x ( k ) )
n
1
2
n
 n
3. Если




x ( k 1)  x ( k )
x  x

(k 1)


(k 1)
или f ( x )  , процесс закончить и положить

Иначе, положить k  k  1 и перейти к п.2.

Сравнение методов.
Используем различные методы для решения системы:
 x1  2 sin x1  x2  1  0
 2
2
 x1  x2  1  0
Начальное приближение х(0) = (-1,5;0)
Критерий остановки ε = 10-7
Сравнение методов.
По графику видно, что заданная точность быстрее всего достигается
посредством метода Ньютона, затем по рекурсивному методу
Ньютона, затем по методу Ньютона с последующей
аппроксимацией обратных матриц. Модифицированный метод
Ньютона обладает самой медленной скоростью сходимости.
м
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Библиографический список
Вержбицкий В.М. Основы численных методов: Учебник для вузов/В.М.
Вержбицкий.-2-е изд., перераб.- М.: Высш. шк., 2002. – 840с.
Киреев В.И. Численные методы в примерах и задачах: Учеб. пособие/В.И. Киреев,
А.В. Пантелеев.-2-е изд. стер.-М.: Высш. шк., 2006.-480с.:ил.
Волков Е.А. Численные методы: Учебное пособие. – 3-е изд., испр. – СПб.: Лань,
2004. – 256 с.
Турчак Л.И., Плотников П.В. Основы численных методов: Учебное пособие.-2-е
изд., перераб. И доп.-М.:ФИЗМАТЛИТ, 2002.-304с.
Численные методы: Учеб. Пособие для студ. Вузов / М.П. Лапчик, М.И. Рагулина,
Е.К. Хеннер; Под ред. М.П. Лапчика. – 2-е изд., стер. – М.: Издательский центр
«Академия», 2005. – 384 с.
Бахвалов Н.С., Жидков Н.П., Кобельков Г.М. Численные методы – М.: Лаборатория
базовых знаний, 2002 г. – 632с.: ил.
Бахвалов Н.С., Лапин А.В., Чижонков Е.В. Численные методы в задачах и
упражнениях. Учеб. пособие. /Под ред. В.А. Садовничего – М.: Высшая школа.
2000. – 190с.
Копченова Н.В., Марон И.А. Высшая математика в примерах и задачах - М.:
Главная редакция физ-мат литературы издательства «Наука», 1972 г. - 384с.
Калиткин Н.Н. Численные методы. – М.: Главная редакция физ-мат литературы
изд-ва «Наука», 1978 г. - 256с.
Ивановский Р.И. Компьютерные технологии в науке и и образовании. Практика
применения систем MathCAD Pro: Учеб. пособие/Р.И. Ивановский. – М.: Высш. шк.
2003. – 431с.: ил.
Дейтел Х. М., Дейтел П. Дж. Как программировать на С: Четвертое издание. Пер. с
англ. – М.: ООО «Бином – Пресс», 2006 г. – 912 с.: ил.
Download