Метод Эйлера

В методе Эйлера значение функции на следующем шаге вычисляется в соответствии с выражением:

u(x+h)=u(x) +h*u’(x) (6.23)

Пример 6.6. Найти решение дифференциального уравнения:

при x>0 (6.24)

при х=0,2 с начальным условием u(0)=0.

Решение:

Приведем выражение (6.24) к виду выражения (6.22):

(6.25)

тогда согласно 6.23

(6.26)

Теперь для получения результата достаточно сгенерировать ряд значений аргумента х с некоторым шагом и протабулировать правую часть выражения (6.25) на отрезке от 0 до 0,2.

Для примера (6.24) известно аналитическое выражение для вычисления значения функции в произвольной точке:

, (6.27)

поэтому можно вычислить относительную погрешность вычисления по формуле

D=(u(x)a-u(x))/u(x)a , (6.28)

где u(x)a – значение функции, вычисленное по аналитической формуле.

Листинг 6.18. Решение дифференциального уравнения методом Эйлера
  A B С D
x y Аналитика Погрешность
0,0000 0,0000 #ДЕЛ/0!
0,01 0,0000 0,0000
0,02 0,0001 0,0002 0,49664
0,03 0,0003 0,0004 0,32885
... ...      
0,18 0,0144 0,0152 0,04918
0,19 0,0160 0,0168 0,04624
0,2 0,0177 0,0186 0,04359

 

Порядок работы:

- внесите в ячейки А6 и В6 (Листинг 6.18) начальные значения аргумента и функции;

- сгенерируйте в столбце А ряд значений аргумента от 0 до 0,2 с шагом 0,01;

- запишите в ячейку В7 правую часть формулы (6.26) со ссылками на адреса ячеек: B6+(A7-A6)*(A6-B6)/КОРЕНЬ(1+A6^2);

- запишите в ячейку C6 правую часть формулы (6.27) со ссылками на адреса ячеек: 0,5*(A6-LN(A6+КОРЕНЬ(1+A6^2))/(A6+КОРЕНЬ(1+A6^2)));

- запишите в ячейку D6 правую часть формулы (6.28) со ссылками на адреса ячеек: (C6-B6)/C6;

- скопируйте формулу из ячеек В7, С6, D6 в нижележащие ячейки.

Результаты:

Методом Эйлера : u(0,2)= 0,0177

По аналитической зависимости: u(0,2)= 0,0186

Погрешность около 4 процентов D =0,04359