Перейти к содержимому

Калькулятор метода Эйлера

Введите 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.

Таблица шагов

nxₙyₙk1Точное y(xₙ)Погрешность
001110
10,11,11,21,1103418-0,0103
20,21,221,421,2428055-0,0228
30,31,3621,6621,3997176-0,0377
40,41,52821,92821,5836494-0,0554
50,51,721022,221021,7974425-0,0764
60,61,9431222,5431222,0442376-0,101
70,72,19743422,89743422,3275054-0,13
80,82,48717763,28717762,6510819-0,164
90,92,81589543,71589543,0192062-0,203
1013,18748493,4365637-0,249

Три метода с одинаковым шагом

Методy в концеПогрешность
Метод Эйлера3,1874849-0,249
Улучшенный метод Эйлера (Хойна)3,4281617-0,0084
Метод Рунге–Кутты 4-го порядка3,4365595-0,00000417

Уменьшение шага вдвое: Метод Эйлера

nhy в концеПогрешность
100,13,1874849-0,249
200,053,3065954-0,13
400,0253,3701277-0,0664
800,01253,4029699-0,0336

Для метода Эйлера погрешность примерно уменьшается вдвое при уменьшении h вдвое; для метода Хойна — в четыре раза; для Рунге–Кутты 4 — в шестнадцать раз.

График

  • Точное решение
  • Метод Эйлера
Поле наклонов dy/dx = f(x, y) и решение (Метод Эйлера) от x = 0 до x = 100,20,40,60,81123xy

Как пользоваться калькулятором метода Эйлера

  1. 1. Введите уравнение. Запишите правую часть dy/dx = f(x, y), используя x и y: x + y, y*(1 - y), sin(x) - y.
  2. 2. Задайте начальное условие и конец. Введите x₀, y₀ = y(x₀) и значение x, до которого нужно решить уравнение. Конец может быть левее x₀.
  3. 3. Выберите шаг. Введите размер шага h или переключитесь на количество шагов n. Если h не делит отрезок на равные части, калькулятор скорректирует его и сообщит об этом.
  4. 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²
Рунге–Кутта 4yₙ₊₁ = 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 первые шаги таковы:

nxₙyₙнаклон f(xₙ, yₙ)точное y(xₙ)
00111
10,11,11,21,1103418
20,21,221,421,2428055
30,31,3621,6621,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, вблизи которого это произошло.

Похожие инструменты

Ещё в разделе «Математические калькуляторы»