Метод Эйлера
Заменяя в (1) производную в окрестности каждого i-го узла сетки разностным отношением, приходим к методу Эйлера:
(2)
Алгебраические соотношения между компонентами сеточной функции, которыми заменяются исходные дифференциальные уравнения в окрестности каждого узла сетки, будем называть разностными уравнениями (соотношениями).
Замкнутую систему разностных уравнений вместе с дополнительными условиями (начальными или краевыми) называют разностной схемой. Таким образом, (2) — это разностная схема Эйлера.
Последовательные значения yi вычисляются по формуле
(3)
которая непосредственно следует из соотношения (2).
Метод Эйлера имеет очень простую геометрическую интерпретацию. Искомая интегральная кривая у(х) на отрезке [а; b] приближается к ломаной (рис. 2), наклон которой на каждом элементарном участке [хi, хi+1 ] определяется наклоном интегральной кривой уравнения в точке (хi, уi).
Рис. 2. Интегральная кривая
Замечание. К этому же методу можно придти, заменяя производную в уравнении (3) разностным отношением
Последовательные значения yi в этом случае вычисляются по формуле
Однако при этом возникают некоторые трудности, связанные с тем, что искомая величина yi входит в правую часть уравнения, причем, в общем случае, нелинейным образом. Эти трудности непринципиальны, достаточно вспомнить о методах решения нелинейных уравнений.
Например, можно предложить следующий итерационный процесс для вычисления приближенного решения в очередном i-м узле
Такого рода методы, в которых для вычисления приближенного решения в очередном i-м узле необходимо дополнительно решать некоторые уравнения (линейные или нелинейные), называются неявными методами. В противоположность этому методы, в которых приближенное решение в очередном i-м узле явно выражается через предыдущие значения уi-1, уi-2, ..., называются явными методами. При этом, если для вычисления yi используется только одно предыдущее значение ум, то метод называется одношаговым, а если несколько предыдущих значений — многошаговым. Таким образом, метод Эйлера является явным одношаговым методом (рис. 3).
Рис. 3. Начальный шаг метода Эйлера
В основе метода Эйлера лежит идея графического построения решения дифференциального уравнения. Однако этот метод дает одновременно и способ нахождения искомой функции в табличной форме.
Пусть дано дифференциальное уравнение у' = f(x, у). Найти приближенное численное решение этого дифференциального уравнения, т. е. составить таблицу приближенных значений функции у = у(х), удовлетворяющей заданным начальным условиям
x |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
… |
xn |
y |
y1 |
y2 |
y3 |
y4 |
y5 |
y6 |
… |
yn |
где хi
= х0
+ ih,
h
=
—
шаг таблицы.
Приближенно можно считать, что правая часть в y'=f(x, у) остается постоянной на каждом из отрезков между точками деления. Метод Эйлера состоит в непосредственной замене производной разностными отношениями по приближенной формуле
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] интегральная кривая заменяется отрезком касательной к кривой (рис. 4, 5).
Рис. 4. Интегральная кривая Рис. 5. Касательная к кривой
Пример 1. Проинтегрировать методом Эйлера дифференциальное уравнение
у' = у-х
с начальными условиями х0 = 0; y0 = 1,5 на отрезке [0; 1,5] при h = 0,25.
Решение
i |
хi |
yi |
|
|
1 |
2 |
3 |
4 |
5 |
0 |
0 |
1,5 |
1,5 |
0,375 |
1 |
0,25 |
1,875 |
1,625 |
0,406 |
2 |
0,5 |
2,281 |
1,781 |
0,445 |
3 |
0,75 |
2,726 |
1,976 |
0,494 |
4 |
1 |
3,22 |
2,221 |
0,555 |
5 |
1,25 |
3,775 |
2,525 |
0,631 |
6 |
1,5 |
4,407 |
|
|
По начальным данным заполним первую строку в столбцах (2) и (3).
Из уравнения
=уi
– хi
вычисляем
(i=0,
1, 2, ..., 5) в столбце (4).
К содержимому столбца (3) прибавляем содержимое столбца (5) этой же строки (вычисляем уi+1 = уi+ уi), и результат записываем в столбец (3) следующей строки. Определяем xi+1=xi+h и затем шаги повторяем до тех пор, пока не будет пройден весь отрезок.
Пример 2. Решить методом Эйлера дифференциальное уравнение y' = cosy+3x с начальным условием у(0) = 1,3 на отрезке [0; 1], приняв шаг h - 0,2.
Решение
Табличный способ
k |
xk |
yk |
yk= 0,2(cos ук + Зхк) |
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 |
|
Программа_____________________________________________________
var x,y,a,b,h:real; {Метод Эйлера}
function f(x,y:real):real;
begin f:= cos(y)+3*x;
end;
begin
writrln('введите у, 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.
Схема алгоритма показана на рис. 6.
Рис. 6. Метод Эйлера
Пример 3. Методом Эйлера решить систему дифференциальных уравнений
с начальными уравнениями у(0) = 1; z(0) = 1 на отрезке [0; 0,6], шаг интегрирования h = 0,1.
Решение
i |
xi |
yi |
|
|
zi |
|
|
|
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
|
1 |
0,1 |
1 |
0 |
0 |
1 |
0,2 |
0,02 |
|
2 |
0,2 |
1 |
0,004 |
0,0004 |
1,02 |
0,404 |
0,0404 |
|
3 |
0,3 |
1,0004 |
0,018 |
0,0018 |
1,06 |
0,618 |
0,0618 |
|
4 |
0,4 |
1,0022 |
0,048 |
0,0048 |
1,12 |
0,849 |
0,085 |
|
5 |
0,5 |
1,007 |
0,1001 |
0,01 |
1,21 |
1,107 |
0,1107 |
|
6 |
0,6 |
1,017 |
|
|
1,317 |
|
|
|
