Семейство методов Рунге-Кутта

Анализ метода Эйлера показывает, что глобальная ошибка дискретизации есть O(h). Это обычно выражают утверждением, что метод Эйлера имеет первый порядок. Практическим следствием этого факта является ожидание того, что при уменьшении h приближённое решение будет всё более точным и при стремлении h к нулю будет сходиться к точному решению с линейной скоростью по h; т.е. мы ожидаем, что при уменьшении шага h вдвое ошибка уменьшится примерно в два раза.

Очень медленная сходимость при уменьшении h характерна для методов первого порядка и служит препятствием для их использования. Как пример одного из подходов к построению методов, погрешность которых при стремлении h к нулю убывает с более высокой скоростью, мы рассмотрим Метод Хьюна, определяемый формулой

yk+1 =yk + h[f(xk,yk) + f(xk+1,yk + h f(xk,yk))] (1)

Обратите внимание, что мы просто заменили f(xk,yk) в методе Эйлера на среднее значение функции f, вычисленных в двух различных точках. Метод Хьюна известен также как метод Рунге-Кутта второго порядка и, как мы вскоре покажем, имеет локальную ошибку дискретизации O(h2). Наиболее знаменитым из методов Рунге-Кутта является классический метод четвёртого порядка, задаваемый формулой

yk+1 =yk + h(F1 +2F2 +2F3 + F4)/6 (2)

где

F1 = f(xk,yk), F2 = f(xk + h/2, yk + h F1 /2),

F3 = f(xk + h/2, yk + h F2 /2),

F4 = f(xk + h, yk + h F3).

Здесь f(xk,yk) в методе Эйлера заменено на среднее взвешенное значение f, вычисленных в четырёх различных точках.

Метод Рунге-Кутта четвёртого порядка является одношаговым, также как и метод Эйлера, который иногда называют методом Рунге-Кутта первого порядка. Все такие методы могут быть представлены в общем виде как

yk+1 =yk + h g(xk,yk) (3)

с соответствующей функцией g. В случае метода Эйлера функцией g является сама f, в то время как для метода Хьюна

g(x,y)= [f(x,y)+ f(x+h, y+hf(x,y))] (4)

Соответствующая функция для метода Рунге-Кутта четвёртого порядка может быть записана в виде, аналогичном (4).

Для любого одношагового метода (3) определим локальную ошибку дискретизации аналогично методу Эйлера соотношением

L(h)= maxa x b-h |L(x,h)| L(x,h)= [y(x+h)-y(x)]/h - g(x,y(x)) (5)

где y(x) -точное решение дифференциального уравнения. Если для данной функции g окажется, что L(h)=O(h p) при некотором целом p, то при соответствующих предположениях относительно функций g и f можно показать, что глобальная ошибка дискретизации будет также порядка p по h, т.е.

E(h) = max1 k N | yk -y(xk)|= O(h p) (6)

Порядок метода (3) определяется как целое p, для которого такое определение порядка является некоторым утверждением о свойствах самого метода. При этом предполагается, что решение дифференциального уравнения y имеет ограниченные производные до определённого порядка. Например, для метода Эйлера p=1 в предположении maxa x b y''(x) = M. Для других методов может потребоваться ограниченность производных решения и функции f более высокого порядка.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: