Метод Рунге-Кутта 4 порядка на паскале

Рейтинг: 0Ответов: 1Опубликовано: 02.03.2015

Не могу сделать, чтобы задавать начальное условие y(x0)=1, если быть точнее, то не получается сделать ввод х0. Если кто может, исправьте, пожалуйста.

var
  k1,k2,k3,k4,x,y: array [0..100000] of real;
  h: real;
  i,n,n1: integer;

 
function f(x,y: real): real;
begin
  f:=x+y;
end;
 
begin
writeln('начало отрезка');
  read(n1);
  
  writeln('конец отрезка');
  read(n);

  writeln('шаг');
  readln(h);
  
  writeln('началное условие');
  readln(y[0]);
  
  for i:=n1 to n do
    x[i] :=i*h;
 
  for i:=n1 to n-1 do
  begin
    k1[i]:=f(x[i],y[i]);
    k2[i]:=f(x[i]+h/2,y[i]+h*k1[i]/2);
    k3[i]:=f(x[i]+h/2,y[i]+h*k2[i]/2);
    k4[i]:=f(x[i]+h,y[i]+h*k3[i]);
 
    y[i+1]:=y[i]+h/6*(k1[i]+2*k2[i]+2*k3[i]+k4[i]);
  end;
 
  for i := n1 to n do
    writeln('x[',i:2,'] = ',x[i]:0:1,'   y[',i,'] = ',y[i]:0:4);
  readln;
end.

Ответы

Ответов пока нет.