В данной статье рассмотрим эффективность метода Эйлера, модифицированного метода Эйлера и метода Рунге-Кутта 4-го порядка в случае одного обыкновенного дифференциального уравнения:
Решим уравнение 1 численно методом Эйлера. Суть метода заключается в том, что производная заменяется конечной разностью:
Отсюда значение функции y в следyющий момент времени:
Модифицированный метод Эйлера использует двушаговую поправку к функции:
Метод Рунге-Кутта 4-го порядка вычисляет значение в следующий момент времени по формуле:
Теперь мы можем сравнить результаты всех трех методов с точным решением уравнения 1. Задаем начальное условие y0 = 0 и шаг τ = 0.1. Результат показан в таблице (в скобках указана относительная погрешность).
Шаг t Эйлер Модиф. Эйлер Рунге-Кутта 1 0.1 0.10000000 ( 0.3%) 0.10050000 ( 0.16%) 0.10033459 (0.000083%) 2 0.2 0.20100000 ( 0.8%) 0.20303533 ( 0.16%) 0.20270988 (0.000078%) 3 0.3 0.30504010 ( 1.4%) 0.30981379 ( 0.15%) 0.30933604 (0.000068%) 4 0.4 0.41434505 ( 2.0%) 0.42340835 ( 0.15%) 0.42279299 (0.000053%) 5 0.5 0.53151323 ( 2.7%) 0.54702430 ( 0.13%) 0.54630231 (0.000033%) 6 0.6 0.65976386 ( 3.6%) 0.68489900 ( 0.11%) 0.68413676 (0.000008%) 7 0.7 0.80329269 ( 4.6%) 0.84294853 ( 0.08%) 0.84228857 (0.000022%) 8 0.8 0.96782061 ( 6.0%) 1.02988692 ( 0.02%) 1.02963906 (0.000049%) 9 0.9 1.16148828 ( 7.8%) 1.25929935 ( 0.07%) 1.26015878 (0.000045%) 10 1.0 1.39639379 (10.3%) 1.55378951 ( 0.23%) 1.55740644 (0.000082%)
Так, что если вам нужно выбирать, каким методом решить обыкновенное дифференциальное уравнение - выбор очевиден.