Метод Эйлера
В методе Эйлера значение функции на следующем шаге вычисляется в соответствии с выражением:
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