Научная литература
booksshare.net -> Добавить материал -> Математика -> Боглаев Ю.П. -> "Вычислительная математика и программирование " -> 122

Вычислительная математика и программирование - Боглаев Ю.П.

Боглаев Ю.П. Вычислительная математика и программирование — Высшая школа, 1990. — 546 c.
ISBN 5-06-00623-9
Скачать (прямая ссылка): vychmatiprog1990.djvu
Предыдущая << 1 .. 116 117 118 119 120 121 < 122 > 123 124 125 126 127 128 .. 168 >> Следующая

Покажем на примере метода Рунге — Кутта второго порядка, как выводятся формулы, т. е. определяется функция ф (х, у, к) в (10.2.6). Будем искать ф в следующем виде:
ф(х, у, И)=с1/(х, у)+с2/(х+ка2, у+НЬ21/(х, у)). (10.2.8)
В формуле (10.2.8) сг, с2, а2, Ь21— пока неизвестные константы, которые находятся из сравнения с рядом Тейлора. Разложим второе слагаемое в (10.2.8) в ряд Тейлора с центром в точке (х*, у() до членов порядка О (к2); получаем
я г
ф (*п Уь Л)=сЛх„ у{)+с2/(х„ у)+с2 — (*„ у\) Ла2 +
+ С2% у)+0{!г2). (10.2.9)
Соответствующий отрезок ряда Тейлора (10.2.2), (10.2.3) имеет вид (10.2.6). Отсюда, подставляя (10.2.9) в (10.2.7) и приравнивая коэффициенты при соответствующих слагаемых в (10.2.6), получаем систему равенств
сг+с2 = 19 с2а2—1/2,
С2^21 = 1/2-
Эта система трех уравнений с четырьмя неизвестными имеет решение с1 = 1—а, с2 = а, а2 = Ь21 = \11а, зависящее от произвольного параметра а^0. Обычно применяется значение ос= 1/2. Тогда метод Рунге—Кутта второго порядка можно записать в следующей форме:
Л
У^1=У1+2(к1+к2% 0</</я-1,
=/(*„*), (1021°) к2=/{х(+к, у^кк^,
389
где у0=у{0). Заметим, что метод второго порядка имеет погрешность аппроксимации О (Л3), для перехода из точки х( в точку х1+1 требует дважды вычислить правую часть дифференциального уравнения /(лу), чтобы определить ки к2.
Например, пусть имеем задачу Коши
;) (^-=х2+у2, >>(0)=1, 0<л;<0,2. (10.2.11)
Выполняя два шага в соответствии с (10.2.10) при Л = 0,1, получаем (рис. 10.4):
Уо = 1>
^=1+0,05(^+У=1,111,
*1 ^1 = Ь
I Л:2 =0,12+(1 + 0,1)2 = 1,22;
( у2 = 1,111+ 0,05 (к, + к2) = 1,2515307,
3 кг =(0,1)2 + (1,111)2 = 1,244321,
I к2 = (0,2)2 + (1,111 + 0,1244321)2 = 1,5662924.
Подчеркнуты предполагаемые верные значащие цифры точного решения >>(0,1), >>(0,2).
Для метода Рунге — Кутта произвольного порядка р по аналогии с (10.2.7), (10.2.8) формула записывается в форме
Л+1=Л+Л Ё с)кр 0<|'</и-1, , = 1
\ =/(*,-, у(),
3- 1
к1=/(х1+ка],у1+к ? Ь]8к8), 2
Для конкретного значения р соответствующие константы ср ар Ьр находятся по той же схеме, которая использовалась при р = 2. Популярным среди методов Рунге—Кутта является метод четвертого порядка. Метод имеет погрешность аппроксимации О (к5), соответствующие формулы имеют вид
390 ^
=/(*,+Л, У1 + ккъ).
На каждом шаге необходимо четыре раза вычислить правую часть дифференциального уравнения. Выполним один шаг для задачи (10.2.11). Имеем
' Уо=1
у3 = 1+^-(к1+2к2+2к3+к4)= 1,1114629,
?< к3 = 1,
?2 = (0,05)2 + (1+0,05)2= 1,105,
Лг3 = (0,05)2+(1 + 0,05 • 1,105)2 = 1,1160525,
. *4 = (0,12)+(1 +0,1 • 1,116)2 = 1,2456663.
Подчеркнуты предполагаемые верные значащие цифры точного решения ^ (0,1).
Если рассматривается задача Коши для системы дифференциальных уравнений
^=Л(х, уиу„), 1 уМ)=у?\
то формулы Рунге—Кутта четвертого порядка аналогичны скалярному случаю. Отличие в записи следующее: индекс / указывает теперь номер компоненты вектора, а индекс у—номер узла лу, О^у^т—1, в котором соответствующий вектор уи) имеет компоненты уи) = (у^\ уУ\ у{„])), векторы к имеют также п компонент, например к1=(к1Л, к12, к1п). Формулы Рунге — Кутта четвертогб
порядка для системы дифференциальных уравнений следующие:
уи + 1)=уи)+^(к1+2к2 + 2к3+к4.), 0<у ^т-1, ки=МхР /Л Уп}),
к2л=л(х)+^, •••> У«})+\к 1>(^,
кг.1=&(^}+\> УУ%Л’ •••> Уп]+\к2^,
К,1=А^+к, у[п+ккзл, ..., уУ]+^к3^.
391
10.2.3. Оценка погрешности. Погрешность аппроксимации дифференциального уравнения разностным для метода Рунге—Кутта /?-го порядка есть 0(ИР+1), поэтому погрешность метода на одном шаге (локальная погрешность) дается оценкой
1л+1-;(%1)1^о(/|р+1), если в точке х( значение точного решений совпадает с т. е.
у{=у(х1), (10.2.13)
при условии, что правая часть дифференциального уравнения /(•*> у) Раз непрерывно дифференцируема в окрестности
решения у (х). Интервал [а, Ь ], на котором ищется приближение к решению, содержит т = (Ь — а)/к шагов. Но только на первом шаге выполняется равенство (10.2.13). На следующем шаге равенство можно сохранить, причем под следует понимать точное решение, НО не С условием Д'(^о)=:>;(())» а с условием у(х1)—у1 и т. д. (рис. 10.5). Погрешность на всем интервале [а, Ь] (глобальная погрешность) определяется формулой
шах 1л-/(х()|.
Чтобы оценить эту величину, необходимо уметь выражать разность решений дифференциальных уравнений через их разность в начальной точке х{.
Теорема 10.3. Пусть (л;) и У2(х)—решения дифференциального уравнения
Пусть также функция /(х, у) непрерывно дифференцируема. Тогда
Yг(xt+^)-Y^(xi+^) =
/'у{х,у{х))(1х^, (10.2.14)
где у(л:)—функция, расположенная между и У2.
Доказательство. Поскольку Уи У2— решения, имеем
Г* а
392 \
.V.
=(к2(х,.)-к1 (х;))ехр! |
Ут-1 о Ут
,(о)
хо х1 х2 х3 ... хт-1хт X Рис. 10.5
Вычитая из второго равенства первое и применяя теорему Лагранжа, находим
?(^2-^)=/(^ Г2)-Дх, ?1)=Гу(х,у(х)){?2-?1),
где у (л:) расположена между У1 (х) и ?г (х). Решая полученное линейное дифференциальное уравнение относительно 2 (х) = У2 — с начальным условием У2{х^)—У1{х1\ получаем
Предыдущая << 1 .. 116 117 118 119 120 121 < 122 > 123 124 125 126 127 128 .. 168 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed