7.1. Метод Эйлера (метод Рунге-Кутта 1-го порядка)
Разобьем [a, b] на n равных частей – Элементарных отрезков, x0, x1,…,xn будем называть Узлами сетки, h = (b-a)/n - Шаг сетки.
Очевидно, что , ; , .
Заменим в уравнении (7.1) y’ в точке xi её приближенной оценкой – отношением приращений (это следует из определения производной):
Тогда получаем:
Отсюда формула Эйлера:
(7.4)
, – номер узла
Зная y0 в точке x0 (начальное условие) можно найти y1, затем, используя уже известные значения x1 и y1, вычислить x2 и y2 и так далее.
Рассмотрим геометрическую иллюстрацию метода Эйлера. В координатах (x, y) отобразим известные данные: отрезок [a, b] на оси Х и начальное условие y0 – точка А с координатами (a, y0). Отрезок [a, b] разобьем на n равных частей, получим узлы равномерной сетки a = x0, x1, x2, … , xn = b. Вычислим значения первой производной искомой функции в точке А, используя координату этой точки и исходное уравнение (7.3)
Полученное значение позволяет построить касательную к искомой функции в точке А. Эту касательную можно использовать для вычисления приближенного значения искомой функции в новом узле х1 (кривую y(x) заменяем на отрезком АВ на элементарном отрезке [x0, x1]).
Рис. 7.1. Геометрическая иллюстрация метода Эйлера.
Зная (x1,y1), можно аналогично получить новую точку (x2,y2) и т. д.
Из геометрической иллюстрации следует, что:
1. На каждом шаге есть погрешность (на рисунке это отрезок BD). Погрешность тем больше, чем больше шаг.
2. Ошибка может накапливаться.
Формула Эйлера (7.4) имеет погрешность метода
Для практического выбора h с целью обеспечения заданной точности решения задачи e применяется следующий прием.
Выполняются 2 расчета: с n и 2n узлами. Если полученные значения функции в во всех узлах отличаются не более чем на e, задача считается решенной. Если нет, число узлов вновь удваивают и опять сравнивают полученные значения функций.
Таким образом, расчет продолжается до достижения условия
(7.5)
Значение n может достигать большой величины – более 1000. Чтобы не печатать столько значений функции, в алгоритме решения ОДУ методом Эйлера нужно предусмотреть печать не всех рассчитанных значений, а только части их, например, 10-ти значений, распределенных равномерно по всему отрезку.
Рис. 7.2. Алгоритм расчета новой точки методом Эйлера:
Пример 7.1. Дано уравнение
Найти решение для отрезка [0; 1], если y(0) = 1.
Выберем n = 10, тогда шаг h =(1-0)/10 = 0,1.
Запишем уравнение в каноническом виде
Начальная точка x0 = 0, y0 = 1.
Вычислим первую точку
X1 = x0 + h = 0 + 0,1 = 0,1
Вычислим вторую точку
Аналогично нужно вычислить еще восемь точек (выбрано n=10).
Рис. 7.3. Алгоритм решения ОДУ 1-го порядка методом Эйлера.
< Предыдущая | Следующая > |
---|