Дискретные численные методы решения обыкновенных дифференциальных уравнений. Учебное пособие
.pdf
В численном анализе показано, что если F дается формулами (2.110), то более точные приближения достигаются при интерполяции рациональными функциями.
Алгоритм рациональной экстраполяции, основанный на интерполяции рациональными функциями, разработан Булиршем и Штёром и имеет следующий вид:
|
R |
[0] |
|
|
|
|
|
|
0 |
|
|
|
|
R[−1] |
R |
[0] |
R[1] |
|
|
|
1 |
1 |
0 |
R |
[2] |
|
|
R2[−1] R2[0] |
|
|
||||
R1[1] |
|
0 R[m] |
(2.111) |
|||
|
|
|
|
|
1 |
|
Rm[−1] |
Rm[0]−1 |
Rm[1]−1 |
Rm[2]−2 |
|
||
|
|
|
||||
Rm[0]
Элементы данной таблицы при γ = 2 вычисляются следующим образом:
|
|
|
|
|
|
|
|
|
Ri[−1] = 0 , |
i = 1, 2, ..., m ; |
|
|
||||||||||||
|
|
|
|
|
R[0] |
= F (h ) , |
i = 0, 1, 2, ..., m ; |
|
|
|||||||||||||||
|
|
|
|
|
|
i |
|
|
|
|
i |
R[ j −1] − R[ j −1] |
|
|
||||||||||
|
[ j −1] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
[ j] |
|
|
|
|
|
|
|
|
|
|
|
|
|
i +1 |
|
|
|
i |
|
|
|
|||
Ri |
= Ri +1 |
+ |
|
|
|
|
|
|
|
|
|
|
|
|
, (2.112) |
|||||||||
(h |
h |
+ j |
)2[1 − (R[ j −1] |
− R[ j −1] ) /(R[ j −1] |
− R[ j −2] )] −1 |
|||||||||||||||||||
|
|
|
|
|
i |
|
|
i |
|
|
i +1 |
|
|
|
i |
|
|
i +1 |
i |
|
||||
|
|
|
|
j = 1, |
2, ..., m , |
|
i = 0, 1, ..., m − j . |
|
||||||||||||||||
Величины |
Ri[ j ] |
можно представить с помощью рациональных |
||||||||||||||||||||||
функций следующего вида: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
a0 |
+ a2 h2 |
+ ... + a j h j |
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
, ( j - четное), |
|
|
||||||||
|
|
[ |
j ] |
|
|
b |
+ b h2 |
+ ... + b |
j |
h j |
|
|
||||||||||||
|
|
= |
|
0 |
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
Ri |
|
|
|
|
+ a2 h2 |
+ ... + a j −1h j −1 |
|
|
|
|
(2.113) |
|||||||||||
|
|
|
|
|
|
a0 |
, ( j - нечетное), |
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
b |
+ b h2 |
+ ... + b |
j +1 |
h j +1 |
|
|||||||||||||
|
|
|
|
|
|
|
0 |
2 |
|
|
|
|
|
|
|
|
|
|
|
|||||
то есть функциями |
|
a |
0 |
, |
|
|
a |
0 |
|
, |
a |
0 |
+ a |
2 |
h 2 |
, .... |
|
|
||||||
|
|
|
|
b0 + b2 h 2 |
b0 + b2 h 2 |
|
|
|||||||||||||||||
|
|
|
|
|
b0 |
|
|
|
|
|
||||||||||||||
81
2.16. МЕТОД ГРЭГГА – БУЛИРША – ШТЕРА
Для того чтобы применять локальную экстраполяцию к решению обыкновенных дифференциальных уравнений, необходимо использовать в качестве основы интерполяции численный метод, для которого справедливо асимптотическое разложение вида
y(x,h) = y(x) + β h2 |
+ β |
h4 + β |
h6 |
+ ... . |
(2.114) |
1 |
2 |
3 |
|
|
|
Грэгг показал, что метод экстраполяции разложений вида (2.114) нельзя основывать, например, на методе трапеций.
В методе рациональной экстраполяции Булирш и Штер используют модифицированный метод прямоугольников. Наиболее распространенный алгоритм экстраполяции Булирша – Штера основан на простейшем симметричном многошаговом методе прямоугольников
yn+2 = yn + 2hf (xn+1 , yn+1 ) . |
(2.115) |
В качестве {hi } рекомендуется выбирать последовательность чи- |
|
сел вида (2.108). Дополнительное начальное значение |
y1 задается |
формулой приближения |
|
y1 = y0 + hf (x0 , y0 ) .
Этот модифицированный метод прямоугольников называется методом экстраполяции Грэгга – Булирша – Штера.
82
3. ИСТОЧНИКИ ПОГРЕШНОСТЕЙ
При решении обыкновенных дифференциальных уравнений численными методами с помощью ЭВМ на конечные результаты расчетов могут влиять ошибки различных типов. Основными из них являются ошибки округления, дискретизации и аппроксимации.
Охарактеризуем каждый из этих типов погрешностей в предположении, что исходные данные допускают точное численное представление в ЭВМ.
В результате выполнения арифметических операций, например деления, может потребоваться бесконечное число цифр. Очевидно, что мы не в состоянии выполнять арифметические действия на ЭВМ абсолютно точно. Ошибки, возникающие при выполнении арифметических операций при использовании конечного числа разрядов на ЭВМ, называются ошибками округления. Ошибки округления могут существенно влиять на конечный результат вычислений. Так, при выполнении миллионов операций, каждая из которых вносит некоторую ошибку, существует опасность, что суммарная ошибка поглотит значительную часть точности в окончательном результате.
Кроме накопления ошибок, связанных с выполнением большого числа операций, существует опасность катастрофической потери знаков. Например, если два числа a и b отличаются друг от друга лишь в последнем знаке, то c = a − b будет иметь только одну значащую цифру. Дальнейшие вычисления с использованием величины c приводят к тому, что результат имеет только один верный знак.
Другой тип погрешности связан с необходимостью замены непрерывных задач дискретными. При решении дифференциальных уравнений различными численными методами для вычисления интегралов от правой части уравнения вместо бесконечного множества точек, в которых вычисляются значения функции, используется лишь конечное их число. Ошибки такого типа называют ошибками дискретизации.
Наряду с ошибками дискретизации следует учитывать погрешности при использовании различных итерационных методов. В основе
83
многих численных методов при решении дифференциальных уравнений используются итерационные процессы. В ходе итерационного процесса находятся последовательные приближения к решению. При использовании ЭВМ можно реализовать только конечное число таких приближений. Ошибку, вносимую конечным завершением итерационного процесса, называют ошибкой сходимости.
Кроме того, для конкретных методов возникают ошибки аппроксимации, связанные с точностью используемой формулы применяемых методов.
В дальнейшем при оценке различного типа погрешностей основное внимание будем уделять погрешностям дискретизации и аппроксимации.
Источники погрешностей, которые могут возникать при решении обыкновенных дифференциальных уравнений, рассмотрим на приме-
ре системы s уравнений первого порядка |
|
|
||
y′ = f (x, y) , |
x [a, b], |
y(a) = y0 , |
(3.1) |
|
где y = [y1 (x), y 2 (x), ... . y s (x)]T , |
|
|
||
f (x, y) = [f 1 (x, y), |
f 2 (x, y), ... . |
f s (x, y)]T . |
|
|
Пусть общий класс методов в векторной форме представляется |
||||
формулой |
|
|
|
|
|
k |
|
|
|
|
∑ αi yn+i = hϕ f (xn , yn+ k ,..., yn ,h) |
(3.2) |
||
|
i =0 |
|
|
|
для 0 ≤ n ≤ N − k, |
b − a = Nh, |
где {ai } |
– постоянные, |
ak ¹ 0 , с за- |
данными начальными значениями y0 , y1 ,..., yk −1 , ϕ f – заданная век- тор-функция, которая зависит от f . Метод (3.2) является явным, если ϕ не зависит от yn+k , в противном случае – неявным.
Рассмотрим задачу (3.1) и предположим, что приближенное решение y0 , y1 ,..., y N , Nh = b − a вычисляется по формуле (3.2).
Определение 3.1. Величина yn − y(xn ) называется полной погрешностью дискретизации (полная погрешность метода) в точке x = xn , 0 ≤ n ≤ N .
84
Одной из основных задач в численных методах решения обыкновенных дифференциальных уравнений является получение надежных оценок полной погрешности дискретизации. При решении уравнений (3.1) основным требованием является сделать эту погрешность сколь
угодно малой, выбирая достаточно малый шаг h . |
|
Определение 3.2. Погрешность аппроксимации tn+k |
формулы |
(3.2) в точке xn+k [a, b] определяется по формуле |
|
k |
|
tn + k = ∑ αi y(xn+i ) − hϕ f (xn , y(xn + k ),..., y(xn ),h), |
(3.3) |
i =0 |
|
где tn+k представляет собой количество, которого недостает для того, чтобы точное решение (3.1) удовлетворяло (3.2), и может рассматриваться в качестве предварительной оценки точности формулы.
Если метод (3.2) явный, то из (3.2) и (3.3) следует
|
y |
n+k |
− y( x |
) |
|
= |
|
1 |
|
|
|
t |
n+k |
|
. |
(3.4) |
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|||||||||||||
|
|
|
n+k |
|
|
|
|
αk |
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Для линейного многошагового метода |
|
|
|
||||||||||||||
|
|
k |
|
|
|
|
k |
βi fn+i |
|
|
|
||||||
|
|
∑ |
αi yn+i = h∑ |
|
|
(3.5) |
|||||||||||
|
|
i=0 |
|
|
|
i=0 |
|
|
|
|
|
|
|
|
|
|
|
выражение для tn+k имеет вид |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
t n+k = C p+1h p+1 y ( p+1) (xn ) + O(h p+2 ) , p ³ 1. |
(3.6) |
||||||||||||||||
Величину главного члена погрешности аппроксимации (3.6) часто используют в качестве оценки полной погрешности.
Рассмотрим, как связана полная погрешность дискретизации с полной погрешностью аппроксимации и погрешностью предыдущих значений в yn+i , 0 ≤ i ≤ k − 1.
Для упрощения выражений рассмотрим скалярный случай, полагая en = yn − y(xn ), 0 £ n £ N , вычитая из (3.2) выражение (3.3), получим
k |
|
αi en+i |
= h[ϕ f (xn , yn +k ,..., yn ,h) − ϕ f (xn , y(xn+k ),..., y(xn ),h) − tn +k |
]= |
|||||
∑ |
|||||||||
i = |
0 |
|
= h∑ ∂ϕ f |
(xn , yn+ k ,..., yn ,h)en+i − tn+ k . |
|
||||
|
|
|
(3.7) |
||||||
|
|
|
k |
|
|
|
|
|
|
i =0 ∂yn+i
85
В выражении (3.7) допускается предположение, что к ϕ f применима теорема о среднем относительно переменных yn+i
Из выражения (3.7) следует, что при начальных погрешностях погрешность ek зависит только от погрешности аппрок-
симации tk и от преобразованных начальных погрешностей.
При решении практических задач требуется, чтобы погрешность аппроксимации была достаточно мала. При этом метод, определяемый выбором функции ϕ f и коэффициентами {αi }, должен быть таким, чтобы преобразованные погрешности росли не слишком быстро. При рассмотрении источников погрешностей не учитывались по-
грешности округления. |
|
|
|
|
|||
|
На практике получаются приближенные вычисленные решения |
||||||
~ |
~ |
~ |
которые удовлетворяют возмущенному уравнению |
||||
yn |
, yn+1 |
, ... , yn+k , ... , |
|||||
|
|
k |
~ |
~ |
~ |
,h) + Rn+k . |
(3.8) |
|
|
∑ αi yn+i |
=hϕ f (xn , yn+k |
,..., yn |
|||
|
|
i=0 |
|
|
|
− t n+k нельзя сделать сколь |
|
|
Следует отметить, что величину Rn+k |
||||||
угодно малой при h → 0 . |
|
|
|
|
|||
|
При исследовании алгоритмов важно иметь возможность вычис- |
||||||
лить погрешность аппроксимации точно. Это требование существенно сужает круг модельных задач, для которых известно точное аналитическое решение. Для устранения этого затруднения вводится иной вид погрешности – так называемая локальная погрешность.
Определение 3.3. Локальной погрешностью метода (3.2) в точке
xn+k [a, b] |
называется величина |
|
yn+k − u(xn+k , xn+k −1 ) |
|
, |
где |
|
|
|||||
u(xn+k , xn+k −1 ) |
– решение задачи Коши |
|
|
|
|
|
|
u′ = f (x, u) , x [xn+k −1 , b], |
|
||||
|
u(xn+k −1 , xn+k −1 ) = yn+k −1 . |
(3.9) |
||||
Исходя из этого определения, можно сравнивать алгоритмы раз- |
||||||
личных методов на основе оценок погрешности, так как на каждом шаге тестовой программы можно вычислить локальную погрешность, численно решая задачу Коши на отрезке [xn+k , xn+k −1] с достаточно высокой точностью.
86
4. СХОДИМОСТЬ И УСТОЙЧИВОСТЬ ЧИСЛЕННЫХ МЕТОДОВ РЕШЕНИЯ ОБЫКНОВЕННЫХ
ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ
4.1. ПОНЯТИЕ О СХОДИМОСТИ И УСТОЙЧИВОСТИ ЧИСЛЕННЫХ МЕТОДОВ
Понятие устойчивости решения в разное время трактовалось поразному. Первым, по-видимому, появилось понятие устойчивости по Лагранжу, затем устойчивости по Пуассону, устойчивости по Хиллу, устойчивости по Ляпунову.
Формулировка устойчивости решения дифференциальных уравнений, данная Ляпуновым, получила наибольшее признание, а методы исследования, созданные им, оказались самыми удачными и эффективными.
Рассмотрим векторное дифференциальное уравнение
dx |
= f (x, t) , |
(4.1) |
|
||
dt |
|
|
где f (x, t) – n-мерная вектор-функция, которая определена в (n+1)- мерной области Gn+1 = Gn × I t , t I t = (a, ∞) , x Gn , Gn – область в n-мерном пространстве R n .
Пусть уравнение (4.1) имеет частное решение x = x(t) , которое будем называть невозмущенным.
Определение 4.1. Частное решение x = x(t) называется устойчивым по Ляпунову по отношению к вектору x , если для любого ε > 0 и t0 (a, ∞) существует δ = δ(ε, t0 ) > 0 такое, что выполняются следующие условия:
1)все решения x(t) (в том числе и x(t) ), удовлетворяющие условию 
x( t ) − x( t0 ) 
< δ определены в бесконечном интервале t0 ≤ t < ∞ ;
2)для этих решений справедливо неравенство 
x(t) − x(t0 ) 
< ε при
всех t0 ≤ t < ∞ (здесь норма вектора x(t) понимается как сумма мо-
n
дулей компонент 
x(t)
= ∑ xk (t) ).
k =1
87
Определение 4.2. Если δ ≡ δ(ε) (не зависит от t0 T ) и выполняются остальные условия определения 4.1, то решение x(t) называется равномерно устойчивым в области T .
Определение 4.3. Решение x(t) называется асимптотически устойчивым при t → ∞ , если оно устойчиво, и при этом для любого
t0 Î (a, ¥) существует D = D(t0 ) > 0 такое, что все |
|
решения x(t) , |
|||||||||||||||||||||
удовлетворяющие начальному условию |
|
|
x(t) − |
|
(t0 ) |
|
|
|
< |
, |
обладают |
||||||||||||
|
|
|
|
|
|||||||||||||||||||
x |
|||||||||||||||||||||||
свойством |
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
lim |
|
|
|
x(t) − |
|
(t) |
|
|
|
|
= 0 . |
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
x |
|
|
|
|
|
|
|
|
|||||||||||||||
t→∞ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
(t) уравнения (4.1) называется устой- |
|||||||||||||||||||||
Определение 4.4. Решение |
|
||||||||||||||||||||||
x |
|||||||||||||||||||||||
чивым при постоянно действующих возмущениях F (t, |
y) , |
если для |
|||||||||||||||||||||
любых ε > 0 и t0 Î (a, ¥) существует |
δ = δ(ε, t0 ) > 0 |
такое, |
что при |
||||||||||||||||||||

F ( y, t)
< δ все решения y(t) векторного уравнения
dy = f ( y, t) + F ( y, t) , dt
удовлетворяющие условию 
y(t0 )
< δ , определены в бесконечном ин-
тервале t Î[t0 , ¥) и к тому же 
y(t) − x(t) 
< ε при t Î[t0 , ¥) . Аналогичные определения можно дать и для - ¥ < t £ t0 Определение устойчивости по Лагранжу дается следующим об-
разом. Пусть Gn – область конечных размеров, принадлежащая n-мерному евклидову пространству R n . Будем считать, что Gn имеет конечные размеры, если для любых x ÎGn , y ÎGn : 
x − y
< c , где
c – некоторая постоянная.
Частное решение уравнения (4.1) называется устойчивым по Ла-
гранжу, если выполняются условия: |
|
|
||||
|
|
(t0 ) ÎGn , |
|
(t) ÎGn , t ³ t0 . |
(4.2) |
|
|
x |
x |
||||
Условие (4.2) означает ограниченность решения |
|
(t) для всех |
||||
x |
||||||
значений t ³ t0 . |
|
|
||||
88
Пусть теперь необходимо численно решить следующую задачу Коши:
y′ = f (x, y) , |
x [a, b]; |
y(a) = y0 ; y, f R S . |
(4.3) |
|
Рассмотрим следующий класс общих k -шаговых методов: |
||||
|
k |
|
|
|
|
∑ αi yn+i = hϕ f (xn , yn+ k ,..., yn ,h), |
(4.4) |
||
|
i =0 |
|
|
|
0 ≤ n ≤ N − k, |
yr = S r (h), |
0 ≤ r < k (начальные значения). |
|
|
Метод (4.4) порождает последовательность приближенных реше- |
||||
ний ( yn | n = 0, |
1, ... , N ) , |
где yn – |
приближение к y(xn ) – |
точному |
решению, xn = a + nh и Nh = b − a .
Формула (4.4) включает в себя достаточно широкий набор методов, таких как линейные многошаговые методы, предсказывающеисправляющие методы, методы Рунге – Кутты, как явные, так и неявные.
Введем два характеристических полинома ρ(θ) и σ(θ) посредством формул
k |
|
αi θi , |
k |
|
βi θi . |
ρ(θ) = ∑ |
σ(θ) = ∑ |
||||
i = |
0 |
|
i = |
0 |
|
Полная погрешность метода (4.4) при применении его к задаче (4.3) определяется как yn − y(xn ) , 0 ≤ n ≤ N .
Определение 4.5. Метод из класса (4.4) сходится, если для каждой задачи из класса (4.3) выполняется
max yn − y(xn ) → 0 при h → 0.
0≤n≤ N
Рассмотрим, каким условиям должен удовлетворять метод из класса (4.4) для того, чтобы он сходился.
Определение 4.6. Локальная погрешность дискретизации dn метода (4.4) в точке xn определяется следующим образом:
d r = y(xr ) − Sr (h), 0 ≤ r ≤ k,
|
1 |
k |
|
|
|
|
dn + k = |
{∑ |
αi y(xn +i ) − hϕ f (xn , y(xn + k ),..., y(xn ),h)}, |
(4.5) |
|||
|
||||||
|
ρ′(1)h i = |
0 |
|
|
||
где y(x) – точное решение задачи (4.3),
89
d n+k – невязка, получаемая при подстановке точного решения в формулу (4.4).
Теперь определим допустимый уровень локальной точности. Определение 4.7. Метод из класса (4.4) является согласованным,
если
|
|
|
|
max |
|
d n |
|
→ 0 при h → 0 , |
(4.6) |
|
|
||||||||
|
|
|
|
0≤n≤ N |
|
|
|
|
|
|
|
|
|||||||
и имеет порядок согласованности (аппроксимации) |
p , если |
||||||||
max |
|
dn |
|
= O(h p ) . |
|
||||
|
|
|
|||||||
0≤n≤ N |
|
|
|
|
|
||||
Докажем теперь необходимые и достаточные условия согласованности метода из класса (4.4).
Теорема 4.1. Метод из класса (4.4) согласован тогда и только тогда, когда выполнены условия
|
|
|
|
|
yr |
|
→ y0 |
при h → 0 , 0 ≤ r ≤ k , |
|
(4.7) |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
k |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
∑ αi ≡ ρ(1) = 0 , |
|
|
|
|
(4.8) |
||||||
|
|
|
|
|
|
|
|
|
|
i =0 |
|
|
|
|
|
|
|
|
|
|
|
|
ϕ f (xn , y(xn + k ),..., y(xn ),h) → ρ′(1) f (xn , y(xn )) |
||||||||||||||||||||
|
|
|
|
|
|
|
при h → 0 , |
xn |
= a + nh . |
|
|
|
|
||||||||
Доказательство. |
Так как y(x) C1[a, b], то, |
применяя теорему |
|||||||||||||||||||
Лагранжа, соотношение (4.5) можно записать в виде |
|
||||||||||||||||||||
|
|
|
1 |
|
|
k |
|
|
|
|
′ |
|
|
|
|
|
|
|
|
||
dn + k |
= |
|
|
|
|
{∑ αi [y(xn ) + ihy (xn |
+ λi ih)]− = |
|
|
|
|||||||||||
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
ρ′(1)h i =0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
− hϕ f |
(xn , y(xn + k ),..., y(xn ),h)}= |
|
|
|
|
|
|
|
|||||||||||||
= |
|
1 |
|
|
{y(x |
) k |
α |
|
+ h[k iα |
|
f (x |
|
+ λ |
ih, y(x |
|
+ λ |
ih)) − |
||||
|
|
|
|
i |
i |
n |
n |
||||||||||||||
|
ρ′(1)h |
|
n |
∑ |
|
∑ |
|
|
i |
|
|
i |
|
||||||||
|
|
|
i =0 |
|
|
i =o |
|
|
|
|
|
|
|
|
|
|
|||||
− ϕ f (xn , y(xn + k ),..., y(xn ),h)]}, |
0 ≤ n ≤ N − k. |
|
|
|
(4.9) |
||||||||||||||||
Из выражения (4.9) следует, что d n+k |
→ 0 при h → 0 , когда вы- |
||||||||||||||||||||
полняются условия теоремы 4.1. Согласованность допускает минимальный уровень локальной точности и является необходимым условием для сходимости.
Теорема 4.2. Сходящийся метод из класса (4.4) с необходимостью является согласованным.
90
