1044
.pdfhl + 2 h - ! 5 0 , (h + l)*S2,
- V 2 - l £ h £ V 2 - l .
Принцип построения разностных схем требует, чтобы шаг интегрирования был положителен, то есть
0<h<;>/2-l.
При иных значениях шага h численное решение будет содержать мнимую часть. В действительности точное решение исходного уравнения является вещественным:
у(х) = т ~ 1 -х
В общем случае решение нелинейного уравнения (2.14) можно находить с помощью итерационного процесса:
Ук?11) = Ук+ | И х к.Ук)+Кх м>Ук?|)1 |
s = 0,1,2,.. |
(2.15) |
|||
В качестве начального приближения можно выбрать у(к°}, = ук. Завершение |
|||||
итерационного |
процесса |
производится |
при |
выполнении |
условия |
ly L t^ -y ^ l^ e , |
б > 0 - заданное малое число. Сходимость процедуры имеет |
||||
место при малых шагах интегрирования п < —, |
К - константа |
в условии |
Липшица для правой части исходного дифференциального уравнения.
В то же время итерационный процесс (2.15) можно рассматривать следующим образом.
Пусть у<°> = ук. Тогда на первом» шаге получаем решение
У(к?1 =Ук + ! [ f(xk.yk) + f(xk*i.yk)]S!yk + h f(xk,yi),
соответствующее использованию метода Эйлера, имеющего первый порядок аппроксимации. Далее,
yLV> = У к + |[ f ( x k,yk) + f(xlw„yi1,+)1)] = yk + | [ f ( x k,yk)+f(xktl,yk + h f ( x k,yk))],
что соответствует схеме Рунге-Кутты второго порядка с коэффициентом а = -
На третьей итерации можно ожидать повышения порядка аппроксимации до третьего, и так далее. Однако следует иметь в виду, что сама исходная схема
(2.14) имеет второй порядок, а значит, целесообразно ограничивать общее число итераций.
Известно эмпирическое правило [2]: пусть для решения дифференциального уравнения используется неявная схема р-го порядка точности, реализуемая итерационно. При первой итерации получается схема первого порядка точности; при второй - второго порядка, и так далее. При р итерациях получается схема р-го порядка. Дальнейшее увеличение числа итераций не повышает точности решения.
Дифференциальные уравнения высших порядков. Системы дифференциальных уравнений
Пусть имеется дифференциальное уравнение n-го порядка с п начальными условиями
^ = f(x,y>y ',...,y (”-1)),
(2.16)
у(0)=Уо> У'(°)=У|» У'(°)= Уо. |
У(""1)(0)=Уо”-,) |
Введем обозначения:
у(х)=11,(х), y'(x)=u2(x), y'(x)=u3(x), |
y("-*>(x)=un(x). |
Теперь уравнение (2.16) можно заменить системой дифференциальных уравнений первого порядка с соответствующими начальными условиями
'и;(х)=и2(х),
u 'j( x ) = “ з(х ).
(2.17)
u'a-l(x)=U„(x),
U'n(x) = f(x,u„uj^..,u0)t
u,(0)=y0. u2(o)= Уд, u3(0)=y;, |
un(0)=y<n-1) |
Удобно систему уравнений и начальные условия представить в матричной форме
£ { uM f }> М °)} = М - |
(2.18) |
Здесь обозначено:
«,00 |
f,(x.u,(x).....u.(x)) |
U j(x) |
fj(*.U|(x) . - . “.(*)) |
U.(X) |
f.(x.“ i(xX » .“.(x)) |
В частном случае для системы (2.17) имеют место
M x) |
1 |
’ Уо |
{f}=. “JW |
|
Уо |
f.(x.«l(x) .- .u .( x)). |
.уГ . |
Метод Эйлера для системы дифференциальных уравнений
Рассмотрим первое уравнение системы (2.18):
^ L = fl(x,u„u„...,u„).
Разложим решение этого уравнения в ряд Тэйлора вблизи точки хр:
U|(xpt.)= Ui(xp)+ “i(xp)- h + o(hl)=
= и,(хр)+^(хр,и,(хД ...,u0(xp))-h + °(h2).
Схема Эйлера для этого уравнения принимает вид:
U . p . l = u I , + f l ( X P ' U I P - - » U - p ) h -
Для всей системы уравнений (2.18) схема метода Эйлера выглядит аналогично:
{ир*|}={ир}+ М хР>и.р * - и, ) 1 ь - Пример 2.7. Решим дифференциальное уравнение
0 — У. у ( ° н . у'(°)=°-
Точным решением уравнения у" + у = 0 с заданными начальными условиями является функция y(x) = cos(x). Первая производная решения y'(x) = -sin(x).
На фазовой плоскости (то есть в системе координат и у у ) решение
представляет собой окружность единичного радиуса, поскольку
у2 +(у')* e cos2(x)+sin2(x)= 1.
Этот частный факт можно использовать для оценки погрешности получаемого численного решения задачи.
Введем обозначения:
у(х) = и,(х), у'(х) = и2(х).
Теперь исходную задачу можно представить в виде системы дифференциальных уравнений первого порядка с соответствующими начальными условиями
| и; =и2, V a e -U|.
и,(0) =1, и2(0) = 0.
Разностная схема для этой системы уравнений записывается следующим образом:
fuip.i=uip + u2P h,
W l = “ 2 p -Ul p h-
На рис. 2.6 приведен график численного решения у(х), полученный при шаге интегрирования h = 0,1. Поведение полученного решения на фазовой плоскости представлено на рис. 2.7.
У
Рис. 2.6. Численное решение методом Эйлера уравнения у" + у = 0 с шагом интегрирования h = 0,1
Рис. 2.7. Фазовая диаграмма результатов численного решения методом Эйлера уравнения у" + у = 0; шаг интегрирования h = 0,1
На рис. 2.8 показана оценка погрешности, определяемая как величина отклонения численного решения отточного (окружности единичного радиуса),
ег = - Я + уГ - 1
Рис. 2.8. Зависимость отклонения фазовой траектории от единичной окружности в зависимости от значения аргумента
М етод Руте-Кутты для системы дифференциальных уравнений
Рассмотрим наиболее распространенную схему четвертого порядка точности. Введем матрицы
|
f i ( v ui p > - * 0 |
||
|
f . ( V UlP' |
- U4.). |
|
|
f ( * p + | . u.p+ ! KV |
” ’ u.p+ ! Ki. ) |
|
{К2}= |
f ^ x p + | , u lp + |K |
l ......+ |
|
|
f„(xp + | . u lp + |K |
l l,...,u lip + |K l „ j |
|
|
f( xP + | . u.P + | K2. . - % + | K2- ) |
||
{K3}= |
f2(x p + | . u Ip + |K 2 „ ....u I,p + |K 2 „ j |
||
|
f.(x,, + | . u , P + |K 2 1....>u„p + |K 2 11j |
f,(xp + h,ulp + h K 3 „...,u lip + hK311)
f2^xp + | . u lp + hK3I,...,u iip+hK3„j
{K4}=
^ ( х р + | . и 1р+ЬК31>...,и 11р+ Ж З ^
{ V . } = K } + £ [ { K1} + 2 { K 2 ) + 2 { K 3 } + { K 4 } ]
На рис. 2.9 приведен график фазовой траектории численного решения задачи из примера 2.7, полученный для такого же шага интегрирования по схеме метода Рунге-Кутты четвертого порядка. В этом случае отклонение получаемой траектории от окружности невелико и для участка интегрирования [О, 12] не превосходит 0,82536 10"6 Это вновь подтверждает, что схемы четвертого порядка аппроксимации имеют существенное преимущество в точности решения перед схемами первого порядка.
Рис. 2.9. Фазовая диаграмма результатов численного интегрирования уравнения у" + у = О методом
Рунге-Кутты четвертого порядка с шагом 0,1
Разностные схемы интегрирования дифференциальных уравнений второго порядка
Рассмотрим дифференциальное уравнение второго порядка
£ r - « ( W )
с начальными условиями
u(0)=u0, u'(0) = uj.
Обозначая u' = v, сведем исходную задачу к системе двух дифференциальных уравнений первого порядка
du = v, dx
dv = f(x,u,v), dx
u ( ° ) = u o. v (0 )= u 'o-
Схема Эйлера (2.6) для рассматриваемого частного случая имеет вид
V k*.=V k+hf(xk,uk,vk),
Рассмотрим некоторые варианты этой схемы, представленные в книге [6] В частности, модификация этой схемы, носящая название Эйлера-Кромера,
j v„*1= v k + h -f(x k,uk,vk),
W l = Uk+1 + h • vk
дает устойчивые решения для колебательных систем.
Метод средней точки
имеет второй порядок точности по переменной и и первый порядок - по переменной v. Хотя приближение по средней точке дает точное решение, когда в правой части уравнения находится постоянная величина, в общем случае оно не дает лучших результатов по сравнению с методом Эйлера.
Несложные преобразования приводят к выражению
Метод полушага
относится к методам высокой точности. Отметим также, что он является несамостартующим, поскольку значение \_ уг в первом выражении для к = О
не определено. Вместе с тем для начала вычислений можно положить
определить значение
U| u0+ h •vVJ
и далее уже продолжать расчеты по приведенным формулам.
Теперь воспользуемся разложениями решения в ряды Тэйлора
« ( V i ) = u(xk) - h - u ’(xk) + — u"(xk) + Ofh1) .
Последовательно складывая и вычитая эти формулы, получаем
u(xk„ ) + u(xk. l)=2u (xk) + h V ( x l )+ 0 (h 1),
u(xk+1) ~ 4 x»-i) = 2h •u'(xJ + 0{hJ) .
Используя полученные выражения, можно построить соотношения
ukt, = - uk.i+ 2 u k+h,f(xk,uk>vk),
(2.19)
носящие название алгоритма Верпе.
Очевидным недостатком этой схемы является то, что для начала расчетов необходимо знать два значения искомой функции, то есть схема является также несамостартующей. Премущество заключается в том, что она имеет третий порядок точности по переменной и и второй порядок по переменной v. Схема Верпе особенно эффективна, когда правая часть исходного уравнения не зависит от v.
Эквивалентна в некотором смысле этому алгоритму самостартующая схема
(2.20)
Точность такого же порядка, что и алгоритм Верпе, имеет схема Бимана
(2.21)
Контрольные вопросы и задания
♦Известно, что схема Рунге-Кутты (2.11) имеет второй порядок аппроксимации независимо от величины параметра а. Однако при значении а=0 эта схема обращается в схему Эйлера, имеющую первый порядок аппроксимации. Объясните причину противоречия.
♦Оцените порядок аппроксимации уравнения (2.1) неявной разностной
схемой (2.14).
♦С помощью математических выкладок получите соотношения разностной схемы (2.20) из выражений (2.19).
♦При каких условиях схема (2.21) является явной?
♦Оцените порядок аппроксимации уравнения у" = f(x,y,y') разностными схемами;
а) Эйлера-Кромера,
б) Верле,
в) Бимана,
г) методами средней точки,
д) полушага.
♦ Дано дифференциальное уравнение у' = 1 - у2 с начальным условием
у(0) = 0,5. Требуется получить решение, отличающееся при х = 1 от точного не более чем на 0,01%. Определите, сколько потребуется для этого итераций метода Пикара. Оцените величины шагов интегрирования h в методах:
а) Эйлера,
б) Рунге-Кутты второго, третьего и четвертого порядков,
в) Адамса.
♦Установите геометрический смысл одной из схем (на выбор) метода Рунге-Кутты третьего или четвертого порядков аппроксимации.
♦Определите условия, накладываемые на шаг интегрирования h в методе Рунге-Кутты второго порядка требованием невозрастания погрешности при выполнении расчетов.
♦При оценке порядка аппроксимации дифференциального уравнения (2.1) разностной схемой Эйлера получено выражение
4'k = y'(xk> + ... = 0(h),
которое зависит не только от h, но и от у"(хк). Укажите условия, при которых значение у"(хк) ограничено. Каковы аналогичные условия для методов Рунге-Кутты и неявной схемы аппроксимации?