Для решения задачи Коши (8.1) семейство методов Рунге-Кутта описывается следующим выражением:
y(x+h)=y(x)+ , (8.9)
где h – шаг сетки; число q называется порядком точности метода (8.9).
k1=h f (x, y),
k2=h f (x+a2 h, y+b21k1),
…
ki=h f (x+aI h, y+bi1k1+bi2k2+…+bii-1ki-1); i=1,…,q.
Здесь pi, ai, bik – коэффициенты.
При q = 1 имеем метод первого порядка точности:
yi+1=yi + k1,
k1=h f (xi, yi),
y0=y(x0).
Метод второго порядка точности (при q = 2) имеет вид:
yi+1=yi + (k1+ k2),
k1=h f (xi, yi),
k2=h f (xi+h, yi+k1),
y0=y(x0).
Наиболее распространен на практике метод четвертого порядка точности (при q =4):
yi+1=yi + (k1+2 (k2+k3) +k4),
где 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).
Для нахождения решения с заданной точностью e, численная реализация методов Рунге-Кутта выполняется следующим образом: задается сетка xi=a+ih0, i = 1,…, n; h0=(b-a)/n, далее на каждом I -м шаге в точке x=xi вычисляют два значения yi(1) и yi(2):
yi(1)=yi-1 + pj(h0)kj(h0,xi-1,yi-1),
=yi-1 + pj(h1)kj(h1,xi-1,yi-1),
yi(2)= + pj(h1)kj(h1,xi-1, ), где h1=h0 /2.
Если выполнено условие | yi(1)- yi(2) | < e, где e - заданная точность, то следующее yi+1 вычисляется c тем же шагом h0. В противном случае полагают h0=h1, h1=h0 /2.
|
|