27.10.2014 Views

Вычислительная математика - ИСЭМ СО РАН

Вычислительная математика - ИСЭМ СО РАН

Вычислительная математика - ИСЭМ СО РАН

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Пример 1. Нелинейная задача Эдсберга [1]:<br />

dy<br />

dt = 2ay2 , y(0) = 10, a = 10 3 , t ∈ [0, 1],<br />

y n+1 = y n exp(−2ay n ∆t).<br />

Замечание 1. В случае сложной правой части (1) при x n → 0 полагаем z = 1 + x,<br />

ż = ẋ.<br />

Замечание 2. Формула (6) применима также к системе уравнений типа (1) при<br />

x ∈ R k , f ∈ R k , y ∈ R k , g ∈ R k .<br />

2. Рунге–Кутта<br />

Для численного интегрирования задачи (1) часто применяют метод Рунге–Кутта четвертого<br />

порядка. В целях простоты изложения рассмотрим одну из распространенных<br />

явных схем<br />

R 4 [f n ] = 1 6 (k 1 + 2k 2 + 2k 3 + k 4 ), x n+1 = x n + R 4 [f n ],<br />

k 1 = f(x n , t n )∆t, k 2 = f(x n + 0,5k 1 , t n + 0,5∆t)∆t,<br />

k 3 = f(x n + 0,5k 2 , t n + 0,5∆t)∆t, k 4 = f(x n + k 3 , t n + ∆t)∆t.<br />

(7)<br />

Для каждого приближения в систему (7) введем параметр α n из условия<br />

x n+1 = x n + R 4 [f n ]α n<br />

x n+1<br />

x n<br />

,<br />

α n x n+1<br />

x n<br />

= 1.<br />

В результате получим<br />

x n+1 =<br />

x 2 n<br />

x n − R 4 [f n ]α n<br />

,<br />

α n = x n−1<br />

x n<br />

.<br />

Окончательно имеем<br />

x n+1 =<br />

x 3 n<br />

x 2 n − R 4 [f 4 ]x n−1<br />

, n = 1, 2, . . . , x(0) = x 0 . (8)<br />

Для n = 1 значение x 1 можно получить по формуле (6).<br />

Замечание 3. Схему типа (8) можно также применит и к системе дифференциальных<br />

уравнений.<br />

3. Сингулярно возмущенные уравнения<br />

Рассмотрим систему из двух уравнений<br />

ẏ = f(x, y), εẋ = g(x, y), x(0) = x 0 , y(0) = y 0 , t ∈ [0, T ]. (9)<br />

Система (9) является жесткой при малых значениях параметра ε.<br />

82

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!