Мерсон предложил модификацию метода Рунге-Кутта четвертого порядка, позволяющую оценивать погрешность на каждом шаге и принимать решение об изменении величины шага. Схема Мерсона выглядит следующим образом:
(7.14) |
где | K 1 = h 3 f (xm, ym), h 3= h /3, |
K 2 = h 3 f (xm + h 3, ym + K 1), | |
K 3 = h f (xm + h 3, ym +(K 1+ K 2) / 2), | |
K 4 = K 1+ h 3 f (xm + h/ 2, ym +0,375(K 1+ K 3)), | |
K 5 = h 3 f (xm + h, ym +1,5(K 4 - K 3)). |
Эта схема требует на каждом шаге вычислять правую часть дифференциального уравнения в пяти точках, но она позволяет на каждом шаге определять погрешность решения R по формуле
R = 0,1(2 K 4 - 3 K 3 - K 5). | (7.15) |
Для автоматического изменения шага интегрирования рекомендуется следующий критерий. Если абсолютное значение величины R, вычисленное по формуле (7.15), на (m +1)-м шаге окажется больше допустимой заранее заданной погрешности , т.е. , то шаг h уменьшается вдвое и вычисления по схеме (7.14) повторяются с точки (xm, ym). При выполнении условия 32 шаг h можно удвоить начиная с точки (xm +1, ym +1).
Следует обратить внимание, что, если по условиям задачи требуется сохранять в памяти ЭВМ все вычисленные точки до конца решения, то, по сравнению с другими методами, здесь необходимо организовывать массив и для абсцисс точек, т.к. шаг изменения по оси OX - переменный.