logo
Визуализация численных методов

1.2 Метод Рунге - Кутта

Пусть дано дифференциальное уравнение первого порядка y`=f(x,y) с начальным условием y(x0)=y0.

Выберем шаг h и введём обозначения:

xi=x0+i*h и yi=y(xi), где i=0,1,2,...,

xi- узлы сетки,

yi- значение интегральной функции в узлах.

Проведём решение в несколько этапов.

Обозначим точки: A(xi,yi), B(xi+1,yi+1), C, D, E.

Через точку А проведём прямую под углом б, где tg б = f(xi,yi).

На прямой (1) найдём точку С. Через точку С проведём прямую под углом б1, где

tg б1 = f(xi+h/4, yi+h/4*f(xi,yi).

Через точку А проведём прямую параллельную последней прямой.

Найдём точку D на прямой (2) и через неё проведём прямую под углом б2, где

tg б2 = f(xi+h/2, yi+h/2*f(xi,yi)).

Через точку А проведём прямую параллельную последней прямой.

По примеру, описанному выше, построим прямую, которая пересечётся с прямой x = xi+1. Эта точка и будет решением дифференциального уравнения при x = xi+1.

Согласно методу Рунге - Кутта четвёртого порядка, последовательные значения yi искомой функции y определяется по формуле:

y i+1=yi+Дy,

где

Дy=(k1+2*k2+2*k3+k4)/6, i=0,1,2,...

а числа k1(i),k2(i),k3(i),k4(i) на каждом шаге вычисляются по формулам:

k1=h*f(xi,yi)

k2 =h*f(xi+h/2,yi+k1/2)

k3=h*f(xi+h/2,yi+k2/2)

k4 =h*f(xi+h,yi+k3)

Это явный четырёхэтапный метод четвёртого порядка точности.

2. Блок-схемы