Курс лекций по основам алгоритмизации и программирования задач машиностроения. Кравченко Д.В. - 103 стр.

UptoLike

Составители: 

Рубрика: 

101
На рис. 6.50 изображены первые два шага, т. е. проиллюстрировано вычис-
ление сеточной функции в точках х
1
и х
2
. Интегральные кривые 0, 1, 2 описы-
вают решения уравнения (55). При этом кривая 0 соответствует точному реше-
нию задачи Коши (55) и (56), т. к. она проходит через начальную точку А(х
0
,
у
0
). Точки В и С получены в результате численного решения задачи Коши ме-
тодом Эйлера. Их отклонение от кривой 0 характеризуют погрешность метода.
При выполнении каждого шага мы фактически попадаем на другую интеграль-
ную кривую.
Отрезок АВ отрезок касательной к кривой 0 в точке А, ее наклон харак-
теризуется значением производной у'
0
= f(х
0
, у
0
).
Касательная ВС уже проводится к другой интегральной кривой 1.
Таким образом, погрешность метода Эйлера приводит к тому, что на каж-
дом шаге решение переходит на другую интегральную кривую.
Погрешность в каждой точке х
ί
обусловлена отброшенными членами при
разложении в ряд Тейлора (59), которые имеют порядок 0 (h
2
).
При нахождении решения в точке х
n
, отстоящей на конечном расстоянии L
от точки х
0
, погрешность суммируется и становится равной n 0(h
2
).
С учетом того, что h = L / n, получим
n 0(h
2
) =
h
L
0(h
2
) = 0(h). (61)
Следовательно
,
метод
Эйлера
имеет
первый
порядок
точности
.
Пример 18. Составить
программу
для
решения
дифференциального
урав
-
нения
2
x
dx
dy
=
методом
Эйлера
.
Алгоритм
программы
представлен
на
рис
. 6.6.
Program Metod_Eylera;
Uses crt;
Var x,x0,xk,y,y0,n,h: real;
Begin
Clrscr;
Write(‘
Введите
начальное
значение
аргумента
x0:’);
Readln(x0);
Write(‘
Введите
конечное
значение
аргумента
xk:’);
Readln(xk);
Write(‘
Введите
количество
узлов
N:’);
Readln(n);
Write(‘
Введите
начальное
значение
функции
y0:’);
Readln(y0);
Writeln;
Writeln(‘
Результаты
решения
диференц
.
уравнения
dY/dX=x^2 ‘);
Writeln(‘
Методом
Эйлера
’);
Writeln;