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-го порядка методом Эйлера.

Яндекс.Метрика