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

Boyarshinov_ChM_T2

.pdf
Скачиваний:
308
Добавлен:
13.03.2016
Размер:
2.93 Mб
Скачать

z x ~y x y x ~y0 y0 ekx

x

и различие между решениями увеличивается с ростом аргумента x (рис. 2.1б).

y(x)

 

 

 

 

 

 

 

y(x)

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

0.5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

3

6

9 x

0

 

0.3

0.6

0.9 x

 

 

 

 

а

 

 

 

 

 

 

 

 

 

 

 

 

б

 

 

 

Рис. 2.1. Примеры сходимости (а) и расходимости (б) решений действительного (нижние кривые) и возмущенного при начальных условиях (верхние кривые).

Метод Пикара4

Проинтегрируем уравнение (2.1) с помощью разделения переменных:

dy f x,y dx,

y(x)

x

 

dy

f t,y dt ,

 

y0

0

 

 

x

 

y x y0

f t,y t dt .

(2.4)

 

0

 

Используя последнее соотношение, построим итерационный процесс:

 

x

 

y(k) x y0

f t,y(k 1) t dt,

(2.5)

 

0

 

при этом в качестве “нулевого” приближения выбирается y(0) x y0

const.

Интеграл в правой части процедуры (2.4) вычисляется точно или численно.

4 Пикар Шарль Эмиль [24.7.1856 - 11.12.1941] - французский математик. В

1877 году окончил Высшую

нормальную школув Париже. С 1881 года - професор этой же школы, а с 1886

года - профессор Парижского

университета. С 1895 член-корреспондент Петербургской академии наук; с 1889 - член Парижской академии наук; с 1924 года - член Французской академии наук; с 1925 года - почетный член академии наук СССР.

11

Пример

 

 

2.2.

Найдем

методом

Пикара

решение

 

уравнения

dy k y,

 

y 0 1.

 

 

 

 

 

 

 

 

 

dx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Начальное приближение, в соответствии с идеей метода, y(0) x 1.

Первое приближение:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

x

 

 

x

 

 

 

 

 

y(1) x y0

f t,y(0) t dt 1 ky(0) t dt 1 k 1dt 1 kx.

 

 

 

 

 

 

 

0

 

 

0

 

 

0

 

 

 

Аналогично определяются второе

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

x

x

 

 

2

 

 

 

y(2) x 1 k 1 kt dt 1 k 1dt k2 tdt 1 kx kx

 

,

 

 

 

 

 

 

 

0

 

 

 

0

0

 

2

 

 

третье

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

(3)

 

 

 

x

 

(kt)2

 

 

(kx)2

(kx)3

 

 

 

 

 

 

x 1 k 1 kt

dt 1 kx

 

,

 

 

 

 

 

 

 

 

 

0

 

2

 

 

2

6

 

 

четвертое

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

(4)

 

 

 

x

 

 

(kt)2

(kt)3

 

 

(kx)2

(kx)3

 

(kx)4

 

x 1

k 1 kt

 

dt 1 kx

 

 

 

 

 

 

 

0

 

 

 

2

6

 

 

2

6

 

24

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

в ряд Тэйлора экспоненты

y x e kx ,

являющейся

точным решением

поставленной задачи.

 

 

 

Рассмотрим условия сходимости метода Пикара.

 

Пусть определена ограниченная область G x,y

x 0,T ,y a,b , в

которой правая часть f x,y уравнения (2.1)

удовлетворяет условию Липшица

f x,y2 f x,y1 K y2 y1 .

 

Вследствие ограниченности области x,y G выполнены соотношения:

x T,

y y0 H b a .

 

Вычитая из соотношения (2.5) уравнение (2.4), определим погрешность приближенного решения:

x

z(k) x y(k) x y x f x,y(k 1) t f x,y t dt .

0

Оценим модуль погрешности:

12

 

 

x

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

z(k) x

 

 

f

x,y(k 1)

t

f

x,y t

 

f

f

x,y t

dt

 

 

 

 

dt

 

 

x,y(k 1) t

 

 

 

 

0

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

K y(k 1) t y t dt K z(k 1) t dt .

0 0

Поскольку z0 x y0 y x H

(решение

рассматривается внутри G),

получаем:

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

z(1) x K z(0) t dt K H x,

 

0

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

2

 

 

z(2) x K z(1) t dt K2H x

 

,

 

0

 

 

 

 

 

 

 

2

 

 

x

 

 

 

 

 

 

3

 

 

 

 

z(3) x K z(2) t dt K3H x

 

, ...,

 

0

 

 

 

 

 

6

 

 

 

 

x

 

 

n

 

n

H (KT)

n

z(n) x K z(n 1) t dt H K

 

x

 

.

0

 

 

n!

 

 

 

 

 

n!

 

В силу того, что

 

 

 

 

 

 

 

 

 

 

 

lim KT n

0,

 

 

 

 

 

 

 

 

n

n!

 

 

 

 

 

 

 

 

 

 

приходим к заключению, что погрешность решения уменьшается с увеличением числа итераций:

z(n) x H (KT)n 0, n! n

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

Метод Эйлера

Пусть для отрезка [a, b], на котором ищется решение дифференциального

уравнения (2.1), построена сеточная область

 

n

a x

0

x

1

x

n

b

с

 

 

 

 

 

постоянным шагом h. Для построения решения уравнения (2.1) воспользуемся разложением искомой функции y(x) в ряд Тэйлора вблизи произвольной точки xk n :

y xk 1 y xk y xk h

13

Учитывая, что согласно уравнению (2.1) y xk f xk ,y xk , это разложение решения можно записать в виде

y xk 1 y xk f xk ,y xk h

С помощью полученного выражения построим вычислительный процесс

yk 1

yk f xk ,yk h,

k 12,, ,

y0 y 0 .

(2.6)

Здесь и далее будем обозначать символами

yk результат численного

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

(2.1), а выражение y xk

будем использовать для

обозначения точного решения исходной задачи.

 

 

Пример 2.3. Решим методом Эйлера уравнение dy y,

y 0 1.

 

 

 

dx

 

В этом частном случае правая часть дифференциального уравнения имеет вид f x,y y, то есть схема (2.6) записывается следующим образом:

y

k 1

y

k

y

k

h y

 

 

1 h ,

 

k 12,,

 

 

 

 

 

 

 

 

 

 

 

k

 

 

 

 

 

 

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

n :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y0

y 0 1,

 

 

,

 

 

 

 

 

 

 

 

 

y

1

y

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 h

 

1 h

 

 

 

y

2

y

 

1 h

 

1 h

 

1 h

 

1 h

 

2 ,

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

3

y

2

1 h

 

 

1 h

 

3

, ...,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

yn

1 h n .

 

 

 

 

 

Для оценки точности получаемого численного решения производятся вычисления с различными шагами интегрирования h (табл. 2.1). Точное решение y x e x , например, для x=10 дает значение y(10)=0,4539992976·10-4.

 

 

 

 

 

Таблица 2.1.

Результаты численного решения yn

методом Эйлера обыкновенного

дифференциального уравнения y y с начальным условием y(0)=1.

Величина шага h

0.5

0.25

0.1

0.01

0.001

0.0001

Число шагов n

20

40

100

1000

10000

100000

yn·10-4.

0,009537

0,100566

0,265614

0,431713

0,451733

0,453772

 

 

 

 

 

 

 

14

Верные три значащие цифры получены для шага h = 0,0001, при этом требуется выполнить 100000 “шагов” по аргументу x, то есть выполнить вычислений в соответствии с формулой (2.6).

Для оценки точности решения, как и ранее, представим погрешность в

виде

zk yk y xk ,

определяющем отклонение численного решения по схеме Эйлера от точного.

Соотношение

(2.6)

запишем

в

виде

разностного

аналога

дифференциального уравнения (2.1):

 

 

 

 

 

 

yk 1

yk f xk ,yk .

 

(2.7)

 

 

 

 

h

 

zk y xk

 

y xk 1 ,

Подставляя в

выражение

(2.7)

yk

и yk 1 zk 1

получаем

 

 

 

 

 

 

 

 

 

zk 1 zk y xk 1 y xk f xk ,zk y xk .

 

 

 

h

 

h

 

 

 

 

Преобразуем последнюю формулу, добавляя в правую часть и

одновременно вычитая f xk ,y xk ,

 

 

 

 

zk 1 zk

y xk 1 y xk f xk ,zk y xk f xk,y xk f xk ,y xk ,

h

 

h

zk 1 zk

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h

 

 

 

(2.8)

y xk 1 y xk

 

 

 

 

 

 

 

 

 

 

 

h

f xk

,y xk f xk,zk y xk f xk,y xk .

 

 

 

 

 

 

 

 

 

Выражение в квадратных скобках представляет собой разностный аналог (2.7), в котором приближенные значения yk искомой функции заменены на точные значения y(xk). Это позволяет проверить, как точно разностный аналог (2.7) аппроксимирует исходное дифференциальное уравнение (2.1).

Величина

k

y xk 1 y xk f xk ,y xk

(2.9)

 

h

 

носит название погрешности аппроксимации исходного дифференциального уравнения разностным аналогом. Для оценки этой погрешности подставим разложение решения в ряд Тэйлора

y xk 1 y xk y xk h y xk

h2

2

в формулу (2.9):

15

 

y xk y xk h y xk

h2

y xk

 

 

k

2

f xk ,y xk

 

h

 

h

y xk y xk 2 f xk,y xk

Учтем, что согласно исходному уравнению y xk f xk ,y xk . Тогда

h

k y xk 2 O h .

При условии, что значения y xk ограничены на отрезке [a, b], погрешность аппроксимации оказывается величиной, пропорциональной первому порядку шага интегрирования.

В общем случае порядок аппроксимации равен p, если имеет место

соотношение вида

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k

O hp .

 

 

 

 

 

 

 

 

 

Вновь обратимся к формуле (2.8). Второе слагаемое согласно теореме

Лагранжа о среднем можно представить в виде:

k

 

k

 

 

 

 

.

f

 

x

k

 

x

k

z

k

f

 

x

k

 

x

k

y

x

k

 

x

z

z

k

,

 

 

,y

 

 

 

 

,y

 

f

 

,y

 

 

 

 

0,1

Тогда выражение (2.8) преобразуется следующим образом:

 

 

 

 

 

 

 

 

 

 

 

 

zk 1 zk

fy zk O h ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

zk 1 zk fy zkh O h2 zk 1 fy h O h2 .

 

Для того, чтобы при выполнении вычислений погрешность не возрастала,

потребуем выполнения условия:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 fyh

1,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 1 fyh 1,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 fyh 0.

 

 

 

 

 

 

 

(2.10)

Полученное неравенство соответствует критерию устойчивости по начальным данным, fy 0, полученному ранее. Далее, с учетом выполнения условия Липшица f x,y2 f x,y1 Ky2 y1 , оценим производную

16

f

f xk,y xk zk f xk

,y xk

 

 

y

zk

 

 

,

 

y xk zk y xk

 

K

 

K

 

zk

 

 

K fy K .

 

Учитывая условие устойчивости решения, fy 0, получаем:

K fy 0.

Теперь из неравенства (2.10) можно получить:

h 2

2 .

f

K

y

 

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

17

Метод Рунге - Кутты5

Для построения разностной схемы интегрирования воспользуемся разложением решения задачи (2.1) в ряд Тэйлора:

 

 

h2

 

 

y xk 1 y xk y xk h y xk 2

Заменим вторую производную в этом разложении выражением

 

 

~ ~

 

y xk y xk f xk,y xk f x,y f xk,y xk ,

 

 

x

~

x,

~

где x xk

y y xk x , причем x подбирается из условия достижения

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

произведем замену величины ~ разложением в ряд Тэйлора y

~

y y xk x y xk y xk x

Для исходного уравнения (2.1) построим вычислительную схему:

h2

yk 1 yk f xk,yk h 2 x f xk x,yk yk x f xk,yk ,

которую преобразуем к виду

yk 1 yk

 

 

h

 

,yk

h

 

 

 

 

 

 

h 1

f xk

f xk x,yk yk x

 

 

 

 

 

2 x

 

2 x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

yk

 

h

f xk,yk

h

 

 

x

 

x

 

h 1

 

f

xk

h,yk f xk ,yk

h

 

 

 

 

2 x

 

 

2 x

 

 

h

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Введем обозначения:

 

 

 

 

 

h ,

1 h

, x,

f xk ,yk x ,

 

 

 

 

 

 

2 x

 

2 x

h

 

h

 

 

 

 

которые позволяют записать предыдущее выражение в форме

 

 

 

yk 1

yk

h f xk ,yk f xk

h,yk h .

 

 

 

 

Очевидно, что все введенные коэффициенты зависят от величины x и могут быть определены через , который в этом случае играет роль параметра,

1 ,

1 ,

f xk ,yk

2 .

 

2

 

 

Окончательно схема Рунге-Кутты принимает вид

5 Кутта Мартин Вильгельм [3.11.1867 - 25.12.1944] - немецкий физик и математик, был профессором Высшей технической школы Штудгарта.

19

yk 1 yk

h

 

 

h

h

 

 

.

(2.11)

1 f xk

,yk f xk

 

,yk

f xk ,yk

 

 

 

 

 

2

2

 

 

 

 

 

 

 

 

 

Та же схема в форме разностного аналога уравнения (2.1):

y

 

y

 

1 f xk

 

h

,yk

h

f xk

 

 

k 1

h

k

,yk f xk

 

 

,yk

 

 

 

 

 

2

 

2

 

 

При = 0 получаем как частный случай уже известную схему Эйлера

yk 1 yk h f xk ,yk .

При = 1 выражение (2.11) записывается в форме

yk 1 yk

 

h

,yk

h

f xk

 

h f xk

 

 

,yk .

 

 

2

 

2

 

 

В этом случае проведение расчетов на очередном шаге интегрирования можно рассматривать как последовательность следующих операций (рис. 2.2):

1. Вычисляется выражение

h

yk 1/2 yk 2 f xk ,yk ,

представляющее собой полушаг интегрирования по схеме Эйлера, то есть

определяется приближенное значение искомой функции в точке xk h . 2

2. Для той же промежуточной

точки определяется приближенное значение

производной

 

 

 

 

yk 1/2

 

h

,yk 1/2

 

f xk

 

.

 

 

2

 

 

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

yk 1 yk h yk 1/2 .

Геометрические построения показывают, что получаемое в такой последовательности решение лежит “ближе” к истинному, чем вычисляемое по схеме Эйлера, то есть следует ожидать более высокой точности решения, получаемого методом Рунге-Кутты.

y

yk+1

20

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