В таблице 7.1. приведены результаты решения дифференциального уравнения
при начальных условиях y(1.0)=1.0. Вторая графа содержит точки полученного табулированием точного, аналитического, решения
Следующие четыре графы содержат результаты численного решения методами, соответственно, Эйлера, усовершенствованного - Эйлера, модифицированного - Эйлера, Рунге-Кутта четвертого порядка. В последней графе помещены ошибки метода Рунге-Кутта четвертого порядка по сравнению с точным решением.
Результаты решения дифференциального уравнения численными методами
Таблица 7.1.
x | Точное решение | Метод Эйлера | Усовершенствованный Эйлера | Модифици- рованный Эйлера | Метод Рунге- Кутта | Ошибка метода Рунге-Кутта |
1.0 | 1.0000 | 1.0000 | 1.0000 | 1.0000 | 1.0000 | 0.0000000 |
1.1 | 0.9961 | 0.9927 | 0.9960 | 0.9958 | 0.9961 | 0.0000010 |
1.2 | 0.9980 | 0.9919 | 0.9978 | 0.9977 | 0.9980 | 0.0000011 |
1.3 | 1.0049 | 0.9963 | 1.0046 | 1.0047 | 1.0049 | 0.0000012 |
1.4 | 1.0164 | 1.0054 | 1.0161 | 1.0166 | 1.0164 | 0.0000013 |
1.5 | 1.0325 | 1.0189 | 1.0322 | 1.0332 | 1.0325 | 0.0000013 |
1.6 | 1.0532 | 1.0369 | 1.0528 | 1.0545 | 1.0532 | 0.0000014 |
1.7 | 1.0784 | 1.0592 | 1.0778 | 1.0804 | 1.0783 | 0.0000015 |
1.8 | 1.1077 | 1.0857 | 1.1071 | 1.1106 | 1.1077 | 0.0000015 |
1.9 | 1.1406 | 1.1161 | 1.1399 | 1.1446 | 1.1406 | 0.0000016 |
2.0 | 1.1764 | 1.1496 | 1.1755 | 1.1816 | 1.1764 | 0.0000016 |
2.1 | 1.2138 | 1.1853 | 1.2127 | 1.2204 | 1.2138 | 0.0000017 |
2.2 | 1.2515 | 1.2220 | 1.2502 | 1.2595 | 1.2515 | 0.0000017 |
2.3 | 1.2877 | 1.2581 | 1.2862 | 1.2973 | 1.2877 | 0.0000018 |
2.4 | 1.3205 | 1.2921 | 1.3189 | 1.3318 | 1.3205 | 0.0000018 |
2.5 | 1.3482 | 1.3219 | 1.3465 | 1.3611 | 1.3482 | 0.0000019 |
2.6 | 1.3689 | 1.3459 | 1.3670 | 1.3831 | 1.3689 | 0.0000019 |
2.7 | 1.3810 | 1.3622 | 1.3790 | 1.3961 | 1.3810 | 0.0000019 |
2.8 | 1.3833 | 1.3695 | 1.3812 | 1.3989 | 1.3833 | 0.0000019 |
2.9 | 1.3751 | 1.3666 | 1.3730 | 1.3904 | 1.3751 | 0.0000018 |
3.0 | 1.3563 | 1.3532 | 1.3543 | 1.3706 | 1.3563 | 0.0000018 |
|
|
Из таблицы хорошо видно, что метод Рунге-Кутта четвертого порядка дает самую высокую точность.
Более высокая точность метода Рунге-Кутта часто позволяет увеличить шаг интегрирования h. Допустимая погрешность на шаге определяет его максимальную величину. Чтобы обеспечить высокую эффективность вычислительного процесса, величину h следует выбирать именно из соображений максимальной допустимой ошибки на шаге. Такой выбор часто осуществляется автоматически и включается как составная часть в алгоритм, построенный по методу Рунге-Кутта.
Метод Кутта-Мерсона
Мерсон предложил модификацию метода Рунге-Кутта четвертого порядка, позволяющую оценивать погрешность на каждом шаге и принимать решение об изменении величины шага. Схема Мерсона выглядит следующим образом:
![]() | (7.14) |
где | K1 = h3 f(xm, ym), h3=h/3, |
K2 = h3 f(xm+h3, ym+K1), | |
K3 = h f(xm+h3, ym+(K1+K2)/2), | |
K4 = K1+ h3 f(xm+h/2, ym+0,375(K1+K3)), | |
K5 = h3 f(xm+h, ym+1,5(K4 - K3)). |
|
|
Эта схема требует на каждом шаге вычислять правую часть дифференциального уравнения в пяти точках, но она позволяет на каждом шаге определять погрешность решения R по формуле
R = 0,1(2K4 - 3K3 - K5). | (7.15) |
Для автоматического изменения шага интегрирования рекомендуется следующий критерий. Если абсолютное значение величины R, вычисленное по формуле (7.15), на (m+1)-м шаге окажется больше допустимой заранее заданной погрешности , т.е.
, то шаг h уменьшается вдвое и вычисления по схеме (7.14) повторяются с точки (xm,ym). При выполнении условия 32
шаг h можно удвоить начиная с точки (xm+1,ym+1).
Следует обратить внимание, что, если по условиям задачи требуется сохранять в памяти ЭВМ все вычисленные точки до конца решения, то, по сравнению с другими методами, здесь необходимо организовывать массив и для абсцисс точек, т.к. шаг изменения по оси OX - переменный.
На рис. 7.11. в виде блок-схемы представлен алгоритм решения задачи Коши для ОДУ первого порядка методом Кутта-Мерсона.
Рис.7.11. Блок-схема метода Кутта-Мерсона
Дата добавления: 2018-02-15; просмотров: 575; Мы поможем в написании вашей работы! |

Мы поможем в написании ваших работ!