Калькулятор метода Эйлера
Введите dy/dx = f(x, y), начальную точку и конечное значение x, и получите приближённое решение методом Эйлера, улучшенным методом Эйлера (Хойна) или методом Рунге–Кутты четвёртого порядка. Вы увидите полную таблицу шагов со всеми наклонами, погрешность относительно точного решения (или точного эталона), что происходит при уменьшении шага вдвое, и график поля наклонов с нарисованным поверх решением. Бесплатно, без регистрации.
Используйте x для независимой переменной и y для неизвестной, знаки + − * / ^ и скобки: x + y, x*y, y*(1 − y), sin(x) − y. Функции: sin, cos, tan, exp, ln, sqrt и другие.
Если точное решение известно, введите его как функцию от x, чтобы увидеть истинную погрешность; иначе используется очень точный эталон, вычисленный методом Рунге–Кутты 4.
Результаты
3,1874849
Приближение y(1)
3,4365637
Точное y(1)
-0,249
Погрешность
0,1
Размер шага h
10
Число шагов n
Метод
yₙ₊₁ = yₙ + h·f(xₙ, yₙ): на каждом шаге движемся по наклону в начале шага. Глобальная погрешность пропорциональна h.
Таблица шагов
| n | xₙ | yₙ | k1 | Точное y(xₙ) | Погрешность |
|---|---|---|---|---|---|
| 0 | 0 | 1 | 1 | 1 | 0 |
| 1 | 0,1 | 1,1 | 1,2 | 1,1103418 | -0,0103 |
| 2 | 0,2 | 1,22 | 1,42 | 1,2428055 | -0,0228 |
| 3 | 0,3 | 1,362 | 1,662 | 1,3997176 | -0,0377 |
| 4 | 0,4 | 1,5282 | 1,9282 | 1,5836494 | -0,0554 |
| 5 | 0,5 | 1,72102 | 2,22102 | 1,7974425 | -0,0764 |
| 6 | 0,6 | 1,943122 | 2,543122 | 2,0442376 | -0,101 |
| 7 | 0,7 | 2,1974342 | 2,8974342 | 2,3275054 | -0,13 |
| 8 | 0,8 | 2,4871776 | 3,2871776 | 2,6510819 | -0,164 |
| 9 | 0,9 | 2,8158954 | 3,7158954 | 3,0192062 | -0,203 |
| 10 | 1 | 3,1874849 | 3,4365637 | -0,249 |
Три метода с одинаковым шагом
| Метод | y в конце | Погрешность |
|---|---|---|
| Метод Эйлера | 3,1874849 | -0,249 |
| Улучшенный метод Эйлера (Хойна) | 3,4281617 | -0,0084 |
| Метод Рунге–Кутты 4-го порядка | 3,4365595 | -0,00000417 |
Уменьшение шага вдвое: Метод Эйлера
| n | h | y в конце | Погрешность |
|---|---|---|---|
| 10 | 0,1 | 3,1874849 | -0,249 |
| 20 | 0,05 | 3,3065954 | -0,13 |
| 40 | 0,025 | 3,3701277 | -0,0664 |
| 80 | 0,0125 | 3,4029699 | -0,0336 |
Для метода Эйлера погрешность примерно уменьшается вдвое при уменьшении h вдвое; для метода Хойна — в четыре раза; для Рунге–Кутты 4 — в шестнадцать раз.
График
- Точное решение
- Метод Эйлера
Как пользоваться калькулятором метода Эйлера
- 1. Введите уравнение. Запишите правую часть dy/dx = f(x, y), используя x и y:
x + y,y*(1 - y),sin(x) - y. - 2. Задайте начальное условие и конец. Введите x₀, y₀ = y(x₀) и значение x, до которого нужно решить уравнение. Конец может быть левее x₀.
- 3. Выберите шаг. Введите размер шага h или переключитесь на количество шагов n. Если h не делит отрезок на равные части, калькулятор скорректирует его и сообщит об этом.
- 4. Выберите метод и прочитайте таблицу. Каждая строка содержит xₙ, yₙ и использованные наклоны. Если вы знаете точное решение, введите его, чтобы увидеть истинную погрешность.
Три метода
| Метод | Шаг | Глобальная погрешность |
|---|---|---|
| Эйлера | yₙ₊₁ = yₙ + h·f(xₙ, yₙ) | пропорциональна h |
| Улучшенный метод Эйлера (Хойна) | yₙ₊₁ = yₙ + (h/2)(k₁ + k₂), где k₁ = f(xₙ, yₙ) и k₂ = f(xₙ + h, yₙ + h·k₁) | пропорциональна h² |
| Рунге–Кутта 4 | yₙ₊₁ = yₙ + (h/6)(k₁ + 2k₂ + 2k₃ + k₄) | пропорциональна h⁴ |
Метод Эйлера следует касательной в начале каждого шага. Метод Хойна усредняет наклон в начале шага с наклоном в предсказанной конечной точке, поэтому его также называют явным правилом трапеций. Метод Рунге–Кутты 4 берёт наклон четыре раза на каждом шаге и взвешивает их как 1, 2, 2, 1. Эти методы описаны в учебнике Numerical Analysis (Burden and Faires), глава 5.
Пример: y′ = x + y, y(0) = 1
Точное решение: y = 2eˣ − x − 1, поэтому y(1) = 2e − 2 ≈ 3,4365637. С методом Эйлера и h = 0,1 первые шаги таковы:
| n | xₙ | yₙ | наклон f(xₙ, yₙ) | точное y(xₙ) |
|---|---|---|---|---|
| 0 | 0 | 1 | 1 | 1 |
| 1 | 0,1 | 1,1 | 1,2 | 1,1103418 |
| 2 | 0,2 | 1,22 | 1,42 | 1,2428055 |
| 3 | 0,3 | 1,362 | 1,662 | 1,3997176 |
Например, y₁ = 1 + 0,1 × (0 + 1) = 1,1 и y₂ = 1,1 + 0,1 × (0,1 + 1,1) = 1,22. После десяти шагов метод Эйлера даёт y(1) ≈ 3,1874849 с погрешностью −0,2491: он занижает значение, потому что истинное решение выпукло, и касательные лежат под ним.
| Шагов n (h) | Погрешность Эйлера при x = 1 | Погрешность Хойна | Погрешность RK4 |
|---|---|---|---|
| 10 (0,1) | −0,2491 | −0,0084 | −0,0000042 |
| 20 (0,05) | −0,1300 | −0,0022 | −0,00000027 |
| 40 (0,025) | −0,0664 | −0,00056 | −0,000000017 |
| 80 (0,0125) | −0,0336 | −0,00014 | −0,0000000011 |
Каждое уменьшение h вдвое сокращает погрешность Эйлера примерно вдвое, погрешность Хойна — в четыре раза, а погрешность RK4 — в шестнадцать раз, как и предсказывает таблица порядков. Чтобы добиться у метода Эйлера погрешности RK4 при n = 10, понадобилось бы несколько сотен тысяч шагов.
Как читать поле наклонов и погрешность
Короткие отрезки на графике показывают наклон f(x, y) в узлах сетки: истинное решение — кривая, которая касается отрезков в каждой точке. Численное решение нарисовано ломаной поверх них; если вы задали точное решение, оно рисуется рядом пунктиром. Без точного решения столбец погрешности сравнивает результат с эталонным значением, полученным методом RK4 с не менее чем 2 000 шагов, что намного точнее любого метода, который можно выбрать здесь. Некоторые уравнения уходят в бесконечность за конечное время, например y′ = y² при y(0) = 1: при x = 1 решение становится бесконечным, и таблица останавливается там, где значения становятся бесконечными.
Часто задаваемые вопросы
- Как работает метод Эйлера?
- Он строит решение шаг за шагом. Из точки (xₙ, yₙ) по дифференциальному уравнению вычисляется наклон f(xₙ, yₙ), и затем вы движетесь по этой касательной на горизонтальное расстояние h, получая yₙ₊₁ = yₙ + h·f(xₙ, yₙ). Каждая новая точка служит началом следующего шага.
- Насколько точен метод Эйлера?
- Его локальная погрешность на шаге пропорциональна h², но ошибки накапливаются примерно на 1/h шагах, поэтому глобальная погрешность пропорциональна h. Уменьшение шага вдвое уменьшает погрешность вдвое. Это хороший метод для обучения и плохой — для точных расчётов.
- Что такое улучшенный метод Эйлера?
- Улучшенный метод Эйлера, или метод Хойна, сначала делает шаг Эйлера, чтобы предсказать конец отрезка, а затем усредняет наклон в этой точке с наклоном в начале. Такая поправка второго порядка делает глобальную погрешность пропорциональной h², а не h, ценой двух вычислений наклона на каждом шаге.
- Как выбрать размер шага?
- Используйте таблицу уменьшения вдвое: уменьшайте h, пока ответ не перестанет меняться в значащих цифрах, которые вам важны. Метод Эйлера требует малого h, а RK4 достигает той же точности с гораздо большим шагом. Жёсткие уравнения (с быстро затухающими компонентами) могут потребовать малого h для любого из этих методов.
- Можно ли решать уравнения второго порядка или системы?
- Нет. Калькулятор решает одно уравнение первого порядка dy/dx = f(x, y). Уравнение второго порядка можно записать как систему первого порядка, но этот инструмент системы не решает.
- Почему решение иногда обрывается?
- Значения стали бесконечными — так бывает, когда истинное решение уходит в бесконечность за конечное время или когда шаг слишком велик для неустойчивого уравнения. Таблица заканчивается на последней конечной строке, а сообщение указывает значение x, вблизи которого это произошло.