Автор работы: Пользователь скрыл имя, 10 Марта 2014 в 16:18, лекция
В основе метода Эйлера лежит идея графического построения решения дифференциального уравнения. Однако этот метод дает одновременно и способ нахождения искомой функции в табличной форме. Пусть дано дифференциальное уравнение. Найти приближенное численное решение этого дифференциального уравнения, т.е. составить таблицу приближенных значений функции у=у(х) удовлетворяющей заданным начальным условиям.
Метод Эйлера.
В основе метода Эйлера лежит идея графического построения решения дифференциального уравнения. Однако этот метод дает одновременно и способ нахождения искомой функции в табличной форме.
Пусть дано дифференциальное уравнение (6.1). Найти приближенное численное решение этого дифференциального уравнения, т.е. составить таблицу приближенных значений функции у=у(х) удовлетворяющей заданным начальным условиям.
x |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
... |
xn |
y |
y1 |
y2 |
y3 |
y4 |
y5 |
y6 |
... |
yn |
Где, xi=x0+ih,
- шаг таблицы.
Приближенно можно считать, что правая часть в (6.1) остается постоянной на каждом из отрезков между точками деления. Метод Эйлера состоит в непосредственной замене производной разностными отношениями по приближенной формуле:
y-y0=f(x0,y0)(x-x0)
y=y0+f(x0,y0)(x-x0)
если x=x1, то
y1=y0+f(x0,y0)(x1-x0)
y1=y0+hf(x0,y0)
Δy0=hf(x0,y0)
если x=x2, то
y2=y1+f(x1,y1)(x2-x1)
y2=y1+hf(x1,y1)
Δy1=hf(x1,y1)
…
если x=xi+1, то
yi+1=yi+hf(xi,yi)
Δyi=hf(xi,yi)
Таким образом, получение таблицы значений
искомой функции у(х) по методу Эйлера
заключается в циклическом применении
пары формул:
Δyk=hf(xk,yk)
yk+1=yk+Δyk
где k=0, 1, 2, … ,n
Геометрически эти формулы означают, что
на отрезке [xi, xi+1] интегральная
кривая заменяется отрезком касательной
к кривой (см. рис. 6.3, рис. 6.4).
Пример 1
Решить методом Эйлера дифференциальное уравнение y'=cos y + 3 x с начальным условием y(0)=1,3 на отрезке [0, 1] приняв шаг h=0,2
k |
xk |
yk |
Δyk=0,2(cos yk+3xk) |
0 |
0 |
1,3 |
0,05 |
1 |
0,2 |
1,35 |
0,16 |
2 |
0,4 |
1,52 |
0,25 |
3 |
0,6 |
1,77 |
0,32 |
4 |
0,8 |
2,09 |
0,38 |
5 |
1 |
2,47 |
Алгоритм решения задачи на
рис. 6.5.
Программу составить самостоятельно.
{Программа 6.1}
var x,y,a,b,h:real; {Метод Эйлера}
function f(x,y:real):real;
begin f:= cos(y)+3*x; end;
begin
writeln('введите y, a, b, h');
readln(y,a,b,h); x:=a;
repeat
writeln(x:0:3,' ',y:0:3);
y:=y+h*f(x,y);
x:=x+h;
until x>b+0.1;
readln; end.
Пример 2
Решить методом Эйлера дифференциальное уравнение y'=cos y + 3x с начальным условием y(0)=1,3 на отрезке [0, 1] приняв шаг h=0,1
k |
xk |
y2k |
yk |
0 |
0 |
1,3 |
1,30 |
1 |
0,1 |
1,33 | |
2 |
0,2 |
1,35 |
1,38 |
3 |
0,3 |
1,46 | |
4 |
0,4 |
1,52 |
1,56 |
5 |
0,5 |
1,68 | |
6 |
0,6 |
1,77 |
1,82 |
7 |
0,7 |
1,98 | |
8 |
0,8 |
2,09 |
2,15 |
9 |
0,9 |
2,33 | |
10 |
1 |
2,47 |
2,53 |
Вывод: погрешность метода Эйлера слишком велика для решения практических задач. Дальнейшим развитием метода Эйлера явились методы Рунге-Кутта.