Численные методы. Ч.2. Учебное пособие
.pdf
Лекция 15 
x1(k )
x(k ) = x2(k ) – вектор приближения,
...
xn(k )
тогда
f1 (x1, x2 ,..., xn ) = f1 (x1(k ), x2(k ),..., xn(k ) )+ |
∂f1 |
(x1 |
||||||||||
∂x |
||||||||||||
|
|
|
|
|
|
|
|
1 |
|
|
||
|
∂f1 |
(x2 − x2(k ) )+ ... + |
∂f1 |
(xn − xn(k ) )+ R1, |
||||||||
+ |
||||||||||||
∂x2 |
∂xn |
|||||||||||
|
|
|
|
|
|
|
|
|||||
|
|
|
|
. |
|
. . |
. |
. |
|
|
||
. . . . . . |
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
∂fn |
|
||
fn (x1, x2 ,..., xn ) = fn (x1(k ), x2(k ),..., xn(k ) )+ |
(x1 |
|||||||||||
∂x |
||||||||||||
|
|
|
|
|
|
|
|
1 |
|
|||
∂fn |
(x2 − x2(k ) )+ ... + |
∂fn |
(xn − xn(k ) )+ Rn . |
|||||||||
+ |
||||||||||||
∂x |
|
∂x |
|
|||||||||
|
2 |
|
n |
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|||
− x1(k ) )+
(15.17)
− x1(k ) )+
Все частные производные вычисляются в точке x(k ) .
В равенстве (15.17), отбрасывая остаточный член и приравнивая все функции к нулю, получим систему линейных уравнений относительно вектора:
x − x |
(k ) |
|||
|
1 |
1 |
|
|
x |
|
− x |
(k ) |
|
h = |
2 |
... |
2 |
. |
|
|
|
|
|
|
|
|
||
|
|
|
(k ) |
|
xn |
− xn |
|
||
Введем в рассмотрение матрицу частных производных, которую называют матрицей Якоби:
∂f1 |
|
∂f1 |
... |
||
|
|
|
|
|
|
∂x |
|
∂x |
|
||
|
|
|
|||
|
1 |
|
|
2 |
|
|
∂f2 |
|
∂f2 |
... |
|
|
|
|
|
|
|
∂x1 |
|
∂x2 |
|||
J = |
|
|
|||
... |
... ... |
||||
|
∂fn |
|
∂fn |
|
|
|
|
... |
|||
|
|
|
|
|
|
∂x |
|
∂x |
2 |
||
|
|
||||
|
1 |
|
|
|
|
∂f1
∂xn ∂f2 ∂xn
...
∂fn
∂xn
- 61 -
ЧИСЛЕННЫЕ МЕТОДЫ
Тогдапредыдущаясистемалинейныхуравнений,котораябыла получена путем отбрасывания остаточных членов, примет вид:
J h + f = 0 или J h = − f , |
(15.18) |
|||
где |
f1 (x1(k ), x2(k ),..., xn(k ) ) |
|
|
|
|
|
|
||
|
f2 (x1(k ), x2(k ),..., xn(k ) ) |
|
||
f = |
|
... |
. |
|
|
|
|
|
|
|
|
|
||
|
fn (x1(k ), x2(k ) ,..., xn(k ) ) |
|
||
|
|
|
|
|
Решив систему (15.18) любым известным методом (например: методом Гаусса, методом простой итерации и т. д.), найдем вектор
h = J −1 (− f )
или
x |
− x(k ) = h |
|
||
|
1 |
1 |
1 |
|
x |
|
− x(k ) = h |
|
|
h = |
2 |
2 |
2 |
|
|
|
... |
|
|
x |
n |
− x(k ) = h |
|
|
|
n |
n |
||
Из равенства (15.20) найдем
x1 = x1(k ) + h1 ,
x2 = x2(k ) + h2 ,
…
(15.19)
(15.20)
xn = xn(k ) + hn .
То есть получили вектор x = x(k ) + h ; обозначив последний векторчерез x(k +1) ,мытемсамымполучилиследующееприбли-
жение к решению системы уравнений (15.15). т. е. x(k +1) = x(k ) + h . Продолжая этот процесс сколь угодно далеко, мы можем сколь
угодно точно найти приближённое решение системы (15.15). Метод Ньютона обычно сходится, если начальное приближе-
ние x(0) выбрано удачно, т.е. x(0) близко к решению x и матрица J ( x ) невырождена, причём сходимость квадратичная.
- 62 -
Лекция 15 
На практике итерации обычно заканчивается, если

x(k −1) − x(k ) 
≤ ε .
Для выбора начального приближения принимают графический метод, метод проб и т. д.
Условия сходимости метода Ньютона для систем нелинейных уравнений даются теоремой Л. В. Конторовича.
Пример 15.1. Рассмотрим использование метода Ньютона для решения системы двух уравнений.
Методом Ньютона с точностью до ε решить следующую систему нелинейных уравнений
F1(x, y) =0 , F2 (x, y) =0
здесь i =1,2 . Выберем нулевое приближение X 0 =(x0 , y0 ) , принадлежащее области D. Построим систему линейных алгебраических уравнений. Она будет иметь вид
∂∂Fx1 (x − x0 ) + ∂∂Fx2 (x − x0 ) +
∂∂Fy1 (y − y0 ) = −F1(x0 , y0 )
∂∂Fy2 (y − y0 ) = −F2 (x0 , y0 )
Обозначим
x − x0 = x0 , y − y0 = y0
Решим систему относительно неизвестных x0, y0, например методом Крамера. Формулы Крамера запишем в виде
x0 = 1 , y0 = 2 ,
где основной определитель системы
|
∂F |
(x0 , y0 ) |
∂F1(x0 , y0 ) |
|
|
|
1 |
|
|
∂y |
|
= |
|
∂x |
|
≠ 0 |
|
∂F |
(x0 , y0 ) |
∂F |
(x0 , y0 ) |
||
|
2 |
|
2 |
|
|
|
|
∂x |
|
∂y |
|
|
|
|
|
|
|
авспомогательные определители системы имеют вид
-63 -
ЧИСЛЕННЫЕ МЕТОДЫ
|
|
|
|
∂F (x0 |
, y0 ) |
|
|
|
|
1 |
|
1 |
= |
−F (x0 |
, y0 ) |
∂y |
|
1 |
|
|
|
||
|
|
|
|
|
|
|
|
−F (x0 |
, y0 ) |
∂F (x0 |
, y0 ) |
|
|
2 |
|
2 |
|
|
|
|
|
∂y
∂F1(x0 , y0 )
2 = ∂ ∂x
F2 (x0 , y0 )
∂x
−F1(x0 , y0 )
.
−F2 (x0 , y0 )
Найденные значения |
x0, |
y0 подставим и найдём компонен- |
||||
ты x1 = x0 + x0 , y1 = y0 + |
y |
0 первого приближения X 1 к реше- |
||||
нию системы. |
|
|
|
|
|
|
Проверим условие |
|
|
|
|
|
|
max( |
|
x0 |
, |
y0 |
) ≤ ε , |
|
еслиэтоусловиевыполняется,тозаканчиваемвычисления,приняв за приближённое решение системы первое приближение, т. е. X 1 =(x1, y1 ) . Если условие max( x0 , y0 ) ≤ ε не выполняется,тоположим x0 = x1 , y0 = y1 ипостроимновуюсистемулинейных алгебраических уравнений. Решив её, найдём второе приближение X 2 =(x2 , y2 ) . Проверим его на ε . Если это условие будет выполняться, то за приближённое решение системы выберем X 2 =(x2 , y2 ) .Еслиусловиена ε небудетвыполняться,положим x1 = x2 , y1 = y2 и построим следующую систему для нахождения X 3 =(x3, y3 ) и т. д.
Выводы
В лекции поставлены и решены следующие задачи линейной алгебры: решение систем нелинейных уравнений. Дано определение понятию «сжимающего отображения». Для решения систем нелинейных алгебраических рассмотрены следующие прямые методы: метод простой итерации, метод Ньютона. Кроме того разобраны методы оценки погрешности приведенных итерационных методов.
- 64 -
Лекция 15 
Вопросы для самопроверки
1.Является пара чисел (1,1) решением системы уравнений
x2 + y2 = 2,
xy =1?
2. Является пара чисел (1, 0) решением системы уравнений
x2 + y2 =1,
2x + sin(y) =1?
3.Систему
sin(x + y) + 2x = 0.5,
cos(2x + y) + 5y = 0.1
привести к виду
x = f (x, y),y = g(x, y).
4.Найти область определения решений системы
sin(x + y) + 2x = 0.5,cos(2x + y) + 5y = 0.1
5.Система нелинейных уравнений, приведенная к виду
x1 = f1(x1, x2 ,…, xn ), |
|||||
x2 |
= f2 (x1, x2 ,…, xn ), |
||||
|
|||||
x |
n |
= f |
(x , x |
,…, x |
), |
|
n |
1 2 |
n |
|
|
решается методом итераций. Сформулируйте условия сходимости этого метода.
6.Дано отображение вида
x = f (x), где x , f – n -мерные векторы.
Приведите условие, при котором это отображение является сжимающим.
7.Приблизить функции
f1(x, y) = sin(x + y) + 2x − 0.5,f2 (x, y) = cos(2x + y) + 5y − 0.1
полиномами Тейлора 1-го порядка в окрестности точки(0, 0) .
Рекомендованная литература: 2–9, 13–17.
- 65 -
ЧИСЛЕННЫЕ МЕТОДЫ
Лекция 16.
РЕШЕНИЕ ОДУ. ЗАДАЧА КОШИ. МЕТОД ЭЙЛЕРА И ЕГО МОДИФИКАЦИИ
План
16.1.Постановка задачи Коши.
16.2.Метод Эйлера.
16.3.Погрешность метода Эйлера.
16.4.Модификация метода Эйлера.
16.1. ПОСТАНОВКА ЗАДАЧИ КОШИ
Требуется найти функции y = y( x ) , удовлетворяющие урав-
нению |
|
y' = f ( x, y) |
(16.1) |
и принимающие при x = x0 заданное значение |
|
y0 = y( x0 ) , x > x0 . |
(16.2) |
Для определенности будем считать, что уравнение имеет единственное решение.
Существование и единственность решения задачи (16.1), (16.2) следует из теоремы Коши:
Теорема.Еслиправаячасть f ( x, y) уравнения(16.1)иеечастная производная fy' ( x, y) определены и непрерывны в некоторой области G изменения переменных x и y , то для любой внутренней точки (x0 , y0 ) G данное уравнение имеет единственное решение, принимающее заданное значение y = y0 при x = x0 .
Методы решения обыкновенных дифференциальных уравнений можно разбить на следующие группы: графические, аналитические, приближенные (аналитические) и численные.
Приведем пример аналитического решения задачи Коши. Пример 16.1. Найти решение дифференциального уравнения
yy′ = ln y
при условии y(2) =1 .
- 66 -
Лекция 16 
|
|
|
|
|
|
|
ydx |
|
= ln y |
|
|||||||
|
|
|
|
|
|
|
dy |
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
dx = |
ln ydy |
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
y |
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
∫dx = ∫ |
ln ydy |
|
|
|||||||||
|
|
|
|
y |
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
x + C = ∫ln yd(ln y) |
|
||||||||||||
|
|
|
|
|
|
x + C = |
ln2 y |
|
|
||||||||
|
|
|
|
|
|
|
|
||||||||||
при y(2) =1 получаем |
|
|
|
2 |
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
2 + C = |
ln2 1 |
; 2 + C = 0; C = −2; |
|||||||||||||
|
|
|
|||||||||||||||
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Итого: 2(x − 2) = ln2 y; или y = e± 2 x −4 – частное решение; |
|||||||||||||||||
Проверка: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
y′ = e |
± 2 x −4 |
2 |
|
, |
|||||||||
|
|
|
|
|
|
|
|
|
|
||||||||
итого |
|
|
|
|
|
|
±2 2x − 4 |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
y |
= |
e± 2 x −4 (± 2x |
− 4) |
= ± 2x − 4 = ln y – верно. |
||||||||||||
|
y′ |
e± 2 x −4 |
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
Пример 16.2. Решить уравнение
yyx ′ + ey = 0
при условии y(1) =0 .
ydydx + xey = 0 ydy + xey dx = 0;
y
ey
y
∫ ey
Интеграл, стоящий в левой части вычисляют методом «по частям».
- 67 -
ЧИСЛЕННЫЕ МЕТОДЫ
|
|
− y |
|
u = y; e− y dy = dv; |
|
y |
|
|
|
y |
|
|||
∫ |
ye |
dy = |
|
|
|
|
|
y − |
∫ |
−e |
dy = |
|||
|
|
|
|
= −e |
|
|
||||||||
|
|
|
du |
= dy; v = −ey ; |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
= −e− y y − e− y = −e− y (y +1); |
|
|
|
|
||||||
|
|
|
|
|
e− y (y +1) = |
x2 |
+ C |
; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
2 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
2e− y (y +1) = x2 + C |
|
|
|
|
|
|
|||
Если y(1) =0 , то 2e0 (0 +1) =1 + C; |
|
2 =1 + C; |
|
C =1; |
||||||||||
Итого, частный интеграл: 2e− y (y +1) = x 2 +1 .
Далее мы будем рассматривать приближенные (аналитические) и численные методы. Решить задачу Коши численно означает следующее: на последовательности точек {xi } (где x0 , x1,..., xn – узлы), называемой сеткой, найти последовательность значений искомой функции y0 , y1,..., yn , эту последовательность значений функции называют сеточной функцией и обозначают y(h) , если заданная сетка равномерная с шагом
h = xi +1 − xi (i = 0,1,2,...) .
16.2. МЕТОД ЭЙЛЕРА
Метод Эйлера является простейшим численным методом решения задачи Коши для ОДУ.
Рассмотрим уравнение (16.1) в окрестностях узлов xi (i = 0,1,2,...) и заменим в левой части производную y' правой разделенной разностью.
При этом значение функции y( xi ) в узлах xi заменим сеточной функцией yi :
yi +1 − yi |
= f (xi , yi ) . |
(16.3) |
|
h |
|||
|
|
Полученная аппроксимация дифференциального уравнения (16.1) имеет первый порядок, так как при замене (16.1) на (16.3) допускается погрешность O(h) . Теперь из равенства (16.3) получаем:
yi +1 = yi + h f ( xi , yi ) (i = 0,1,2,...) |
(16.4) |
- 68 -
Лекция 16 
Полагая i =0 , из соотношения (16.4) находим значение сеточной функции y1 при x = x1 :
y1 = y0 + h f ( x0 , y0 ) .
Требуемое здесь значение y0 задано начальным условием
(16.2), то есть
y0 = y( x0 ) . |
(16.5) |
Аналогично можно найти значения сеточной функции в других узлах:
y2 = y1 + h f ( x1, y1 ) ,
y3 = y2 + h f ( x2 , y2 ) ,
……………………
yn = yn−1 + h f (xn−1, yn−1 ) .
Построенный алгоритм называется методом Эйлера. МетодЭйлераявляетсяодношаговымметодом,таккакзначе-
ние сеточной функции yi +1 в любом узле xi +1 вычисляется по ее одному значению yi в предыдущем узле xi .
Геометрически метод Эйлера означает следующее: искомую интегральную кривую y = y( x ) проходящую через данную точку M0 ( x0 , y0 ) ,приближеннозаменяютломаной M0 , M1, M2 , , Mn с вершинами Mi ( xi , yi ) ( i =0,1, 2, , n ), звенья которой Mi Mi +1 прямолинейны и имеют подъем
tgαi = yi +1h− yi = f (xi , yi )
(так называемая ломаная Эйлера). Таким образом звенья Mi Mi +1 ломаной Эйлера в каждой вершине имеют направление yi′ = f ( xi , yi ) ,совпадающееснаправлениеминтегральнойкривой, дифференциального уравнения, проходящей через точку Mi .
16.3. ПОГРЕШНОСТЬ МЕТОДА ЭЙЛЕРА
Погрешность δi в точке xi равна разности между точным значением искомой функции y( xi ) и значением сеточной функции yi , то есть
δi = y(xi ) − yi .
- 69 -
ЧИСЛЕННЫЕ МЕТОДЫ
Пусть методом Эйлера подсчитано приближенное значение
функции yi в точке xi . Разложим функцию y( x ) точки xi по формуле Тейлора:
y(x ) = y(xi ) + y'(xi )(x − xi ) + y''(ξ ) (x − xi )2 ,
2
Разложим и найдем ее значение в узле xi +1 :
вокрестности
ξ(x, xi )
y(xi +1 ) = y(xi ) + y'(xi )(xi +1 − xi ) + y''(ξ1 ) (xi +1 − xi )2 , ξ1 (x, xi ) . (16.6)
2
Отбрасывая в равенстве (16.6) последний член, будем иметь:
yi +1 = yi + h f ( xi , yi ) – метод Эйлера.
Отброшенный член в предыдущем неравенстве и есть остаточный член
δi = |
y''(ξ1 ) |
h |
2 |
(16.7) |
||
|
2 |
|
|
|||
или |
|
|
|
|
|
|
|
|
|
y''(ξ1 ) |
|
||
δi = C h |
2 |
, C |
= |
. |
||
|
|
2 |
||||
|
|
|
|
|
|
|
Последняя формула остаточного члена дает погрешность метода Эйлера на одном шаге. Такая погрешность называется локальной погрешностью. И, следовательно, метод Эйлера имеет локальную погрешность второго порядка относительно шага h .
Погрешность на n шагах обычно называется глобальной погрешностью. Найдем ее:
= n C h2 = n h C h = (xn − x0 )C h = C1 h , |
(16.8) |
где C1 = ( xn − x0 ) C . То есть глобальная погрешность метода Эйлера имеет первый порядок относительно шага h .
16.4. МОДИФИКАЦИЯ МЕТОДА ЭЙЛЕРА
Надо отметить следующее: глобальная погрешность метода Эйлера имеет первый порядок относительно шага h и, следовательно, сам метод Эйлера обладает малой точностью. Он практически не применяется в современных расчетах, но имеет огромное теоретическое значение. Попыткам улучшить, уточ-
- 70 -
