Boyarshinov_ChM_T2
.pdfz 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