Skip to content

Commit

Permalink
Small update
Browse files Browse the repository at this point in the history
  • Loading branch information
fuodorov committed Feb 4, 2024
1 parent 00ddc0e commit b771fd7
Showing 1 changed file with 10 additions and 8 deletions.
18 changes: 10 additions & 8 deletions src/texts/runge_kutta.tex
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
\section{Вычислительная сложность}\label{sec:algorithms_kenv}
Ядром кода KENV служит функция solve\_ivp из библиотеки scipy~\cite{2020SciPy} для решения дифференциальных уравнений Капчинского-Владимирского.
Ядром кода KENV служит функция \lstinline{solve_ivp} из библиотеки SciPy~\cite{2020SciPy} для решения дифференциальных уравнений Капчинского-Владимирского.
Авторами данной библиотеки рекомендуется использовать метод Рунге-Кутта 4 порядка для решения дифференциальных уравнений.
Рассмотрим точность этого метода.

Expand All @@ -17,14 +17,16 @@ \subsection{Метод Рунге-Кутта 4-го порядка}\label{subsec
\frac{dy}{dx} = f(x, y),
\end{equation}
где $y = y(x)$ — искомая функция, метод Рунге-Кутта 4-го порядка определяет значение $y$ в точке $x + h$ через значение в точке $x$ с помощью следующих вычислений:
\begin{align*}
\begin{equation}
\label{eq:runge_kutta}
k_1 &= h f(x, y), \\
k_2 &= h f\left(x + \frac{h}{2}, y + \frac{k_1}{2}\right), \\
k_3 &= h f\left(x + \frac{h}{2}, y + \frac{k_2}{2}\right), \\
k_4 &= h f(x + h, y + k_3), \\
y_{n+1} &= y_n + \frac{1}{6}(k_1 + 2k_2 + 2k_3 + k_4).
\end{align*}
\begin{cases}
k_1 = h f(x, y), \\
k_2 = h f\left(x + \frac{h}{2}, y + \frac{k_1}{2}\right), \\
k_3 = h f\left(x + \frac{h}{2}, y + \frac{k_2}{2}\right), \\
k_4 = h f(x + h, y + k_3), \\
y_{n+1} = y_n + \frac{1}{6}(k_1 + 2k_2 + 2k_3 + k_4).
\end{cases}
\end{equation}

Здесь $h$ — шаг по переменной $x$, а $y_{n+1}$ — приближенное значение функции $y$ в точке $x + h$.
Величины $k_1$, $k_2$, $k_3$ и $k_4$ представляют собой промежуточные наклоны,
Expand Down

0 comments on commit b771fd7

Please sign in to comment.