метод Эйлера

Ответить
Anbore
Сообщения: 4
Зарегистрирован: 14 апр 2014, 22:35

14 окт 2014, 21:08

Есть программа которая вычисляет диференциальные уравнения вида y''= 1-x+y методом Эйлера.
Подскажите как модифицировать программу чтобы она вычисляла диференциальные уравнения вида y''= 2y'-y+x?

Код: Выделить всё

const
b=0.5
a=0
 
function f(x:real; y:real):real;
  begin
    f:=1-x+y
  end;
 
function proverka (x:real):real;
   begin
       proverka:=cos(x)+sin(x)+(2*exp(x))
   end;
 
var n,h,y,z,x,x0,y0,zo,m:real;
i,k:integer;
 
begin
clrscr;
n:=50;
repeat 
   n:=2n;
   h:=(b-a)/n
   y:=2.5;
   z:=1.5;
   for i:=1 to 5 do
        begin
        x:=a+i*h;
        y0:=y;
        z0:=z;
        y:=y0+h*z0;
        z:=z0+h*f(x0,y0);
        m:=proverka(x);
writeln (x:2:5,'|',y:2:5,'|',m:2:5);
        end;
until abs(y-m)<0.0001;
readkey
end. 
Ответить