= fi{t,uuu2,...,um), t> О, (12.1)
щ
(12.2)
(0)=и°, i = 1,2,... ,гп.
С использованием векторных обозначений задачу (12.1), (12.2) можем записать как задачу Копли для одного уравнения:
«(0) =
В
(12.4)
(12.3)
задаче Коши но известному решению в точке t — 0 необходимо найти из уравнения (12.4) решение при других t.
Численные методы решения задачи Коши
Отмечаются классические методы Рунге—Кутта и многошаговые методы решения задачи Коши для систем обыкновенных дифференциальных уравнений, обсуждается специфика численного решения жестких систем.
Методы Рунге—Кутта
При построении численных алгоритмов будем считать, что решение этой дифференциальной задачи существует, оно единственно и обладает необходимыми свойствами гладкости.
При численном решении задачи (12.3), (12.4) будем использовать равномерную, для простоты, сетку по переменной t с шагом т > 0:
Ur = {t„ = пт, п = 0,1,...}.
Приближенное решение задачи (12.3), (12.4) в точке t = tn обозначим уп. Метод сходится в точке tn, если \уп - u(tn)\ —» 0 при т —> 0. Метод имеет р-й порядок точности, если \уп — u(tn)\ = 0(тр), р > 0 при т —» 0.
Простейшая разностная схема для приближенного решения задачи (12.3),
е сть
При а — 0 имеем явный метод Эйлера и в этом случае разностная схема аппроксимирует уравнение (12.4) с первым порядком.
С имметричная схема (а = 0, 5 в (12.5) имеет второй порядок аппроксимации. Эта схема относится к классу неявных — для определения приближенного решения на новом слое необходимо решать нелинейную задачу. Явные схемы второго и более высокого порядка аппроксимации удобно строить ориентируясь на метод предиктор-корректор. На этапе предиктора (предсказания) используется явная схема
а на этапе корректора (уточнения) — схема
Я.n + l П,п 1
= ^(/(Wi,r+1) + /(*»,»”)). п = 0,1,...
Т Z
В
уп+1 - уп
Т
г=1
(12.6)
одношаговых методах Рунге—Кутта идеи предиктора-корректора реализуются наиболее полно. Этот метод записывается в общем виде
где
Ь = f{tn + ciT,yn + T'£/aijkj), г = 1,2, (12.7)
3=1
Формула (12.6) основана на s вычислениях функции / и называется s-стадийной. Если a,ij = 0 при j > г имеем явный метод Рунге—Кутта. Если = О при j > г и ацф 0, то hi определяется неявно из уравнения
г—1
h = f(tn + с;т, Уп + tJ2 a^kj + Tauki).
3=1
О таком методе Ру иге—Кутта говорят как о диагонально-неявном.
Параметры с*, определяют вариант метода Рунге—Кутта. Используется следующее представление метода (таблица Бутчера):
(
|
Cl
|
а и
|
&12
|
аь
|
А
|
с2
|
а21
|
0-22
|
&2 а
|
ь*
|
Cs
|
а>а\
|
«s2
|
C'ss
|
Ь\ &2 ' * * bs
12.8)
Одним из наиболее распространенных является явный метод Рунге—Кутта четвертого порядка:
h=f(tn,yn), k2 = f(tn + T-,yn + T^y
к3 = f (t„ + уп + ту), к4 = f(tn + т, уп + ткз),
уп+1 — уп 1
— т (A/'i + 2А?2 + 2/с3 -К А,*4).
т о
В компактном представлении (12.8) этого метода имеем
с
0
|
0
|
0
|
0
|
0
|
1
2
|
1
2
|
0
|
0
|
0
|
1
2
|
0
|
1
2
|
0
|
0
|
1
|
0
|
0
|
1
|
0
|
А Ъ*
1111 6 3 3 6
Применяя метод Рунге—Кутта (12.6), (12.7) к решению задачи Коши для уравнения
d
= т,
t > о,
u(t)
dt
получим
уП+1 _ уп = ^тЬ.Д^ + С.Д
г=1
Правую часть можно рассматривать как квадратурную формулу для правой части равенства
t
w(tn+l) - и
n+1
Исследование устойчивости используемых разностных схем при решении задачи Коши для систем обыкновенных дифференциальных уравнений проводится чаще всего на модельном одномерном уравнении
^ = Xu, t > 0, (12.9)
где Л — комплексное число. Для конкретного численного метода рассматривается множество всех точек комплексной плоскости ц = тЛ, для которых имеет место устойчивость. Для явного метода Эйлера область устойчивости представляет круг единичного радиуса с центром в точке (—1,0). Метод называется A-устойчивым, если область его устойчивости содержит полуплоскость Re ц < 0. При Re Л < 0 устойчиво решение уравнения (12.9) и поэтому для этой задачи условие A-устойчивости означает абсолютную устойчивость (устойчивость при всех т > 0).
Многошаговые методы
В методах Рунге—Кутта в вычислениях участвуют значения приближенного решения только в двух соседних узлах ук и уп+1 — один шаг по переменной t.
Линейный га-шаговый разностный метод записывается в виде
1 т т
-E°‘Wn+1“< = Eb‘/(*»+1-»J'n+1“i)> п = т-1,т... (12.10)
Т i=0 г=0
Вариант численного метода определяется заданием коэффициентов а*, 5*, г = 0,1,..., га, причем а0 ф 0. Для начала расчетов по рекуррентной формуле (12Л0) необходимо задать га начальных значений у0, т/1,... , ?/m_1.
Различные варианты многошаговых методов (методы Адамса) решения задачи с начальными условиями для систем обыкновенных дифференциальных уравнений могут быть получены на основе использования квадратурных формул для правой части равенства
u(tn+l) - u(tn) = J f(t, u)dt. (12.11)
Для получения неявного многошагового метода используем для подынтегральной функции интерполяционную формулу по значениям функции
пп+1 _ £(± „,п+1\ £п пп+1-m
Численные 1
ЧИСЛЕННЫЕ МЕТОДЫ 3
Содержание 5
Программное обеспечение 9
Элементы языка 21
| ’G \\Vab\\Python\\Testl \\src ’ , ’C-\\Program Files \\ ■/ NetBeans 6 7\\python! ’ , ’С Д \ Windows\\system32\\ python26 zip ’ , ’C^YPytho^G^DLLs’ , /С \\Python26\\lib ’ , 39
Математический Python 44
I 3 .4.II. ■ 61
И 0 ] 61
vs = Е 104
= np.zeros((m), ’float’) for i in range(0, m): 115
Прямые методы линейной алгебры 160
Итерационные методы линейной алгебры 173
ъВ <А< 72в, Ъ > 0, (5.16) 179
Спектральные задачи линейной алгебры 185
Шп {уШ’ук) = 1. 187
1||Й7б2ШШ&Ш 191
Нелинейные уравнения и системы 197
Задачи минимизации функций 206
/V) 207
Интерполирование и приближение функций 217
Численное интегрирование 228
Интегральные уравнения 239
Задача Коши для обыкновенных дифференциальных уравнений 252
= ^(/(Wi,r+1) + /(*»,»”)). п = 0,1,... 253
-£ = у*' 1Г = И1о < i < 100, 263
Краевые задачи для обыкновенных дифференциальных уравнений 265
М*)] = о, 266
Для интерполяционного метода Адамса (12Л2) наивысший порядок аппроксимации равен га -f 1.
Для построения явных многошаговых методов можно использовать процедуру экстраполяции подынтегральной функции в правой части (12.11). В этом случае приближение осуществляется по значениям /п, /п-1,..., /п+1_т и поэтому
Do'stlaringiz bilan baham: |