Курсовая работа: Программирование и основы алгоритмизации
Max | ( y ( xk +1 )- y ( xk ))/ h - f ( xk , y ( xk ))|<= Chm
где С - const, т — порядок аппроксимации разностного уравнения.
Сравнение (1) и (4) показывает, что метод Эйлера имеет первый порядок аппроксимации, так же как и точность решения. Однако в общем случае утверждение о равенстве порядков точности решения и аппроксимации разностного уравнения не является очевидным и требует доказательства. Метод Эйлера является одним из самых старых и широко известных методов численного решения дифференциальных уравнений. К сожалению, этот метод может приводить к недопустимо большим ошибкам, а кроме того, он часто оказывается неустойчивым — малая ошибка (происходящая при округлении или из-за неточности исходных данных) существенно увеличивается с ростом х .
1.2 Программная реализация метода Эйлера
Программа для решения дифференциальных уравнений состоит из трех частей:
Главная программа.
Процедуры, реализующие метод Эйлера.
Процедуры вычисления правых частей.
Процедура вычисления правых частей R имеет вид:
procedure R( var y0,F: mass);
begin
F[1]:=y0[2];
F[2]:=(ft-k2*y0[2]-k1*y0[1])/Mm
end;
где:
F – массив значений правых частей системы, приведенной к нормальной форме Коши;
y0 – массив значений начальных условий системы;
k1,k2 … kn – коэффициенты;
ft – f(t), т.е. сигнал (воздействие), подаваемый на вход системы;
Процедура, реализующая метод Эйлера:
procedureEu(vart0,t,h: real; varm:integer; vary0,y:mass);
var i: integer;
begin
R(y0,F);
for i:=1 to m do
y[i]:=y[i]+h*F[i];
t:=t+h;
end;
где:
t0,tk – начальное и конечное значение времени;