Практикум по решению задач на ЭВМ. Тарова И.Н - 84 стр.

UptoLike

Тарова И.Н., Терехов Ю.П., Масина О.Н., Скоков А.В.
clrscr;
writeln ('vvedite granica a i b, i chislo razbienii h,y0');
readln(a,b,h,y0);
t:=a;
y:=y0;
repeat
writeln(t,y);
dy:=h*f(t,y);
y:=y+dy;
t:=t+h;
until t>b;
writeln (t,y);
repeat until keypressed;
end.
13) Решить дифференциальное уравнение
)1( x
y
y
=
методом Рунге-
Кутта на отрезке
с начальным условием
]1,0[
10
=
)
y(
и шагом h=0,1.
program rungekutta;
uses crt;
var a,b,y,y0,t,dy,h,k1,k2,k3,k4:real;
function f(t,y:real):real;
begin
f:=y*(1-t);
end;
begin
clrscr;
writeln ('vvedite granica a i b, i chislo razbienii h,y0');
readln(a,b,h,y0);
t:=a;
y:=y0;
repeat
writeln(t,y);
k1:=f(t,y);
k2:=f(t+h/2,y+(h*k1)/2);
84
                                    Тарова И.Н., Терехов Ю.П., Масина О.Н., Скоков А.В.


  clrscr;
  writeln ('vvedite granica a i b, i chislo razbienii h,y0');
  readln(a,b,h,y0);
  t:=a;
  y:=y0;
   repeat
   writeln(t,y);
   dy:=h*f(t,y);
   y:=y+dy;
   t:=t+h;
   until t>b;
   writeln (t,y);
   repeat until keypressed;
  end.




13) Решить дифференциальное уравнение y ′ = y(1 − x) методом Рунге-
Кутта на отрезке [0,1] с начальным условием y( 0 ) = 1 и шагом h=0,1.

  program rungekutta;
  uses crt;
  var a,b,y,y0,t,dy,h,k1,k2,k3,k4:real;
  function f(t,y:real):real;
   begin
    f:=y*(1-t);
   end;
   begin
   clrscr;
   writeln ('vvedite granica a i b, i chislo razbienii h,y0');
   readln(a,b,h,y0);
   t:=a;
   y:=y0;
    repeat
    writeln(t,y);
    k1:=f(t,y);
    k2:=f(t+h/2,y+(h*k1)/2);


                                          84