Предмет: Численные методы решения обыкновенных дифференциальных уравнений
Раздел: Метод Рунге — Кутты для решения дифференциальных уравнений
Задано дифференциальное уравнение: \[ y' = x + y + 1, \quad x \in [0,1], \quad y(0) = 0, \quad h = 0.1. \]
Нужно найти значение \(y(1)\) методом Рунге — Кутта первого порядка (метод Эйлера). Также необходимо вычислить ошибку приближения по сравнению с точным решением \(y = 2e^x - (x + 2)\) в точке \(x = 1\).
1. Метод Рунге-Кутты первого порядка (Метод Эйлера)
Метод Рунге-Кутты первого порядка представляет собой метод Эйлера, который можно записать в общем виде:
\[ y_{n+1} = y_n + h f(x_n, y_n) \]
Где:
- \( f(x, y) = x + y + 1 \) — правая часть нашего уравнения,
- \( h = 0.1 \) — шаг,
- начальные условия: \( y(0) = 0 \).
Начнем решать задачу, идя по значениям \(x\) с шагом \(h=0.1\).
2. Расчет значений функции методом Эйлера
- Первоначальные значения: \(x_0 = 0\), \(y_0 = 0\).
- Первая итерация: \[ f(x_0, y_0) = 0 + 0 + 1 = 1. \]
Тогда: \[ y_1 = y_0 + h \cdot f(x_0, y_0) = 0 + 0.1 \cdot 1 = 0.1. \] \(x_1 = x_0 + h = 0.1\).
- Вторая итерация: \[ f(x_1, y_1) = 0.1 + 0.1 + 1 = 1.2. \]
Тогда: \[ y_2 = y_1 + h \cdot f(x_1, y_1) = 0.1 + 0.1 \cdot 1.2 = 0.22. \] \(x_2 = x_1 + h = 0.2\).
- Третья итерация: \[ f(x_2, y_2) = 0.2 + 0.22 + 1 = 1.42. \]
Тогда: \[ y_3 = y_2 + h \cdot f(x_2, y_2) = 0.22 + 0.1 \cdot 1.42 = 0.362. \] \(x_3 = x_2 + h = 0.3\).
- Четвертая итерация: \[ f(x_3, y_3) = 0.3 + 0.362 + 1 = 1.662. \]
Тогда: \[ y_4 = y_3 + h \cdot f(x_3, y_3) = 0.362 + 0.1 \cdot 1.662 = 0.5282. \] \(x_4 = x_3 + h = 0.4\).
- Пятая итерация: \[ f(x_4, y_4) = 0.4 + 0.5282 + 1 = 1.9282. \]
Тогда: \[ y_5 = y_4 + h \cdot f(x_4, y_4) = 0.5282 + 0.1 \cdot 1.9282 = 0.72102. \] \(x_5 = x_4 + h = 0.5\).
- Шестая итерация: \[ f(x_5, y_5) = 0.5 + 0.72102 + 1 = 2.22102. \]
Тогда: \[ y_6 = y_5 + h \cdot f(x_5, y_5) = 0.72102 + 0.1 \cdot 2.22102 = 0.943122. \] \(x_6 = x_5 + h = 0.6\).
- Седьмая итерация: \[ f(x_6, y_6) = 0.6 + 0.943122 + 1 = 2.543122. \]
Тогда: \[ y_7 = y_6 + h \cdot f(x_6, y_6) = 0.943122 + 0.1 \cdot 2.543122 = 1.1974342. \] \(x_7 = x_6 + h = 0.7\).
- Восьмая итерация: \[ f(x_7, y_7) = 0.7 + 1.1974342 + 1 = 2.8974342. \]
Тогда: \[ y_8 = y_7 + h \cdot f(x_7, y_7) = 1.1974342 + 0.1 \cdot 2.8974342 = 1.48717762. \] \(x_8 = x_7 + h = 0.8\).
- Девятая итерация: \[ f(x_8, y_8) = 0.8 + 1.48717762 + 1 = 3.28717762. \]
Тогда: \[ y_9 = y_8 + h \cdot f(x_8, y_8) = 1.48717762 + 0.1 \cdot 3.28717762 = 1.815895382. \] \(x_9 = x_8 + h = 0.9\).
- Десятая итерация: \[ f(x_9, y_9) = 0.9 + 1.815895382 + 1 = 3.715895382. \]
Тогда: \[ y_{10} = y_9 + h \cdot f(x_9, y_9) = 1.815895382 + 0.1 \cdot 3.715895382 = 2.1874849202. \] \(x_{10} = x_9 + h = 1.0\).
3. Точное решение
Точное решение дано формулой: \[ y_{\text{точн}}(x) = 2e^x - (x + 2). \]
В точке \(x = 1\): \[ y_{\text{точн}}(1) = 2e^1 - (1 + 2) = 2e - 3 \approx 2 \cdot 2.71828 - 3 = 5.43656 - 3 = 2.43656. \]
4. Ошибка
Вычислим погрешность между численным и точным решением в точке \(x = 1\):
5. Ответ
- \(y_{\text{числ}}(1) \approx 2.187\),
- точное значение \(y_{\text{точн}}(1) \approx 2.437\),
- ошибка \(\approx 0.249\).