Расчет дифференциального уравнения первого, второго и третьего порядка методом Эйлера

Расчет дифференциального уравнения первого, второго и третьего порядка методом Эйлера

Однако идеи, положенные в основу метода Эйлера, являются исходными для ряда других методов.

Рассмотрим дифференциальное уравнение первого порядка y / =f(x,y) (1) с начальным условием x=x 0 , y(x 0 )=y 0 (2) Требуется найти решение уравнения (1) на отрезке [ а, b] . Разобьем отрезок [a, b] на n равных частей и получим последовательность х 0 , х 1 , х 2 ,…, х n , где x i =x 0 +ih (i=0,1,…, n ), а h=(b-a)/nшаг интегрирования. В методе Эйлера приближенные значения у(х i ) » y i вычисляются последовательно по формулам у i + hf ( x i , y i ) (i=0,1,2…). При этом искомая интегральная кривая у=у(х), проходящая через точку М 0 (х 0 , у 0 ), заменяется ломаной М 0 М 1 М 2 … с вершинами М i ( x i , y i ) ( i =0,1,2,…) ; каждое звено М i M i+1 этой ломаной, называемой ломаной Эйлера, имеет направление, совпадающее с направлением той интегральной кривой уравнения (1), которая проходит через точку М i . Если правая часть уравнения (1) в некотором прямоугольнике R{|x-x 0 | a, |y-y 0 | b} удовлетворяет условиям: |f(x, y 1 )- f(x, y 2 )| N|y 1 -y 2 | (N=const), |df/dx|=|df/dx+ f ( df / dy )| M (M=const), то имеет место следующая оценка погрешности : |y(x n )- y n | hM/2N[(1+hN) n -1], (3) где у(х n )-значение точного решения уравнения(1) при х = х n , а у n - приближенное значение, полученное на n -ом шаге.

Формула (3) имеет в основном теоретическое применение. На практике иногда оказывается более удобным двойной просчет : сначала расчет ведется с шагом h , затем шаг дробят и повторный расчет ведется с шагом h/2. Погрешность более точного значения у n * оценивается формулой | y n -y(x n )| » | y n * -y n | . Метод Эйлера легко распространяется на системы дифференциальных уравнений и на дифференциальные уравнения высших порядков.

Последние должны быть предварительно приведены к системе дифференциальных уравнений первого порядка.

Модифицированный метод Эйлера более точен.

Рассмотрим дифференциальное уравнение (1) y / =f(x,y) с начальным условием y(x 0 )=y 0 . Разобьем наш участок интегрирования на n равных частей. На малом участке [x 0 ,x 0 +h] у интегральную кривую заменим прямой N k / y=y (x) линией . Получаем точку М к ( х к ,у к ). М к М к / y k+1 y k х к х к1 /2 x k+h= x k1 х Через М к проводим касательную : у=у к = f(x k ,y k )(xx k ). Делим отрезок (х к ,х к1 ) пополам : x Nk / =x k +h/2=x k+1/2 y Nk / = y k +f ( x k ,y k )h/2=y k +y k+1/2 Получаем точку N k / . В этой точке строим следующую касательную : y(x k+1/2 )=f(x k+1/2 , y k+1/2 )= k Из точки М к проводим прямую с угловым коэффициентом к и определяем точку пересечения этой прямой с прямой Х к1 . Получаем точку М к / . В качестве у к+1 принимаем ординату точки М к / . Тогда : у к+1 = у к + к h x k+1 =x k +h (4) k =f (x k+h/2 , y k +f ( x k ,Y k )h/2) y k =y k-1 +f(x k-1 ,y k-1 )h (4)- рекурентные формулы метода Эйлера.

Сначала вычисляют вспомогательные значения искомой функции у к+1 / 2 в точках х к+1 /2 , затем находят значение правой части уравнения (1) в средней точке y / k +1 /2 =f(x k+1/2 , y k+1/2 ) и определяют у к+1 . Для оценки погрешности в точке х к проводят вычисления у к с шагом h , затем с шагом 2h и берут 1 /3 разницы этих значений : | у к * -у ( х к ) | =1/3( y k * -y k ), где у(х)-точное решение дифференциального уравнения. Таким образом, методом Эйлера можно решать уравнения любых порядков.