Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Численные методы. Ч.2. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
15.08.2026
Размер:
1 Мб
Скачать

Лекция 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 -

dy = −xdx;
dy = −xdx;

Лекция 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; ey dy = dv;

 

y

 

 

 

y

 

ye

dy =

 

 

 

 

 

y

e

dy =

 

 

 

 

= −e

 

 

 

 

 

du

= dy; v = −ey ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= −ey y ey = −ey (y +1);

 

 

 

 

 

 

 

 

 

ey (y +1) =

x2

+ C

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2ey (y +1) = x2 + C

 

 

 

 

 

 

Если y(1) =0 , то 2e0 (0 +1) =1 + C;

 

2 =1 + C;

 

C =1;

Итого, частный интеграл: 2ey (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 +1hyi = 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 -

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