Что делает этот калькулятор
Этот инструмент численно решает обыкновенное дифференциальное уравнение второго порядка вида \(y'' = F(x, y, y')\) на интервале [x0, xn] с помощью метода Рунге-Кутты второго порядка (схема средней точки, она же модифицированный метод Эйлера, RK2). Вы задаёте правую часть F как выражение от x, y и p (где p обозначает y'), начальные значения y(x0) и y'(x0), концы интервала и число шагов. На выходе получается таблица значений (x, y, y'), вычисленных по всему интервалу. Это чистый численный анализ, поэтому метод работает одинаково в любой точке мира и не привязан к какой-либо стране.
Как пользоваться
Введите функцию правой части F через x, y и p, например -4*p-4*y для уравнения \(y'' = -4y' - 4y\). Поддерживаются операторы + - * / ^ (или **), функции sin, cos, tan, exp, log, ln, sqrt, abs, pow, а также константы pi, e. Укажите x0, начальные значения y0 и y'0 = p0, правый конец xn и выберите число подынтервалов n. Чем больше шагов, тем меньше шаг \(h = (x_n - x_0)/n\) и тем ниже погрешность (глобальная ошибка имеет порядок \(O(h^2)\)).
Разбор формулы
Сначала уравнение сводится к системе первого порядка: вводим p = y', тогда y' = p и p' = F(x, y, p). На каждом шаге RK2 наклон вычисляется в начале шага и в его середине, после чего результаты комбинируются:
$$\begin{cases} y' = p \\ p' = F(x,y,p) \end{cases} \qquad h = \dfrac{x_n - x_0}{n}$$$$\begin{aligned} y_{i+1} &= y_i + h\,p\!\left(x_i + \tfrac{h}{2}\right) \\ p_{i+1} &= p_i + h\,F\!\left(x_i + \tfrac{h}{2},\; y_i + \tfrac{h}{2}p_i,\; p_i + \tfrac{h}{2}F_i\right) \end{aligned}$$j1 = h·F(x, y, p), k1 = h·p, затем j2 и k2 вычисляются в средней точке и используются для перехода к новым значениям p и y. Локальная погрешность отсечения на каждом шаге составляет \(O(h^3)\).
Разобранный пример
При F = -4*p-4*y, x0 = 0, y0 = 0, p0 = 1, xn = 1, n = 50 шаг равен \(h = 0.02\). Первый шаг даёт \(y_1 = 0.0192\) и \(p_1 = 0.9224\). Продолжая итерации до x = 1, получаем \(y(1) \approx 0.13533\) и \(y'(1) \approx -0.13533\), что совпадает с точным решением \(y = x\cdot e^{-2x}\), значение которого при x = 1 равно \(e^{-2} = 0.135335\).
Частые вопросы
Это RK2 или RK4? Это метод Рунге-Кутты второго порядка (правило средней точки), а не классический метод четвёртого порядка, поэтому глобально он обеспечивает лишь второй порядок точности.
Может ли xn быть меньше x0? Да. Тогда шаг просто становится отрицательным, и интегрирование идёт в обратном направлении — это математически корректно.
Почему появилась строка с ошибкой? Проблемы при вычислении — деление на ноль, логарифм неположительного числа или корень из отрицательного внутри F — останавливают интегрирование и указывают место, где это произошло.