Предмет: Численные методы
Раздел: Численное решение обыкновенных дифференциальных уравнений (ОДУ)
Задание:
- Решить ОДУ методом Рунге-Кутты 4-го порядка для уравнения:
\[ y' = x + y + 1, \quad x \in [0,1], \quad y(0) = 0, \quad h = 0.1 \]
- Сравнить приближенное решение с точным решением:
\[ y = 2e^x - (x+2) \]
- Рассчитать значение решения \( y(x) \) в точке
\( x = 1 \) для численного и точного решения, а также погрешность приближённого решения относительно точного.
Пошаговое решение:
Шаг 1: Метод Рунге-Кутты 4-го порядка
Формулы метода Рунге-Кутты 4-го порядка для уравнения \( y' = f(x, y) \):
- \[ k_1 = h f(x_n, y_n) \]
- \[ k_2 = h f\left(x_n + \frac{h}{2}, y_n + \frac{k_1}{2}\right) \]
- \[ k_3 = h f\left(x_n + \frac{h}{2}, y_n + \frac{k_2}{2}\right) \]
- \[ k_4 = h f(x_n + h, y_n + k_3) \]
- \[ y_{n+1} = y_n + \frac{1}{6}(k_1 + 2k_2 + 2k_3 + k_4) \]
Для нашего уравнения \( f(x, y) = x + y + 1 \).
Шаг 2: Численное решение с шагом \( h = 0.1 \)
Используем метод Рунге-Кутты для решения на интервале
\( [0, 1] \) с шагом
\( h = 0.1 \), начиная с
\( y(0) = 0 \).
-
На интервале \( x = 0 \):
\[ f(0, 0) = 0 + 0 + 1 = 1 \]
Вычислим значения \( k_1, k_2, k_3, k_4 \):
- \[ k_1 = 0.1 \cdot f(0, 0) = 0.1 \cdot 1 = 0.1 \]
- \[ k_2 = 0.1 \cdot f(0.05, 0 + \frac{0.1}{2}) = 0.1 \cdot f(0.05, 0.05) = 0.1 \cdot (0.05 + 0.05 + 1) = 0.1 \cdot 1.1 = 0.11 \]
- \[ k_3 = 0.1 \cdot f(0.05, 0 + \frac{0.11}{2}) = 0.1 \cdot f(0.05, 0.055) = 0.1 \cdot (0.05 + 0.055 + 1) = 0.1 \cdot 1.105 = 0.1105 \]
- \[ k_4 = 0.1 \cdot f(0.1, 0 + 0.1105) = 0.1 \cdot f(0.1, 0.1105) = 0.1 \cdot (0.1 + 0.1105 + 1) = 0.1 \cdot 1.2105 = 0.12105 \]
Теперь считаем:
\[ y(0.1) = 0 + \frac{1}{6} (0.1 + 2 \cdot 0.11 + 2 \cdot 0.1105 + 0.12105) = 0 + \frac{1}{6} \cdot 0.66305 = 0.1105083 \]
Таким образом, \( y(0.1) \approx 0.1105083 \).
- Продолжаем вычисления на остальных интервалах
(\( x = 0.2, 0.3, ... \)) аналогичным образом до
\( x = 1.0 \).
Шаг 3: Точное решение
Точное решение дается формулой:
\[ y = 2e^x - (x + 2) \]
В точке \( x = 1 \):
\[ y(1) = 2e^1 - (1 + 2) = 2e - 3 \]
Приблизительно:
\[ y(1) \approx 2 \cdot 2.71828 - 3 = 5.43656 - 3 = 2.43656 \]
Шаг 4: Погрешность
Пусть \( y_{\text{числ}}(x) \) — приближённое значение решения методом Рунге-Кутты, а
\( y_{\text{точн}}(x) \) — точное решение.
Погрешность в точке \( x = 1 \) можно рассчитать как:
Также необходимо ввести погрешность в формате
\( x \cdot 10^{-6} \).
Итог:
- \( y_{\text{числ}}(1) \) — результат численного решения.
- \( y_{\text{точн}}(1) = 2.43656 \).
- Для окончательного ответа вычисляем \( y_{\text{числ}}(1) \), погрешность и представляем результат в указанном формате.