Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
28
Добавлен:
09.12.2013
Размер:
2.72 Кб
Скачать
program Max_Paxa;
uses crt;
const a=1; b=6; h=0.5;
var y,fi,Uisp,Upro,Umod,yisp,ypro,ymod:array[0..100]of real;
i,n :integer;
f1: text;
function f(x,y:real):real;
begin
f:=(4*y-x*x*sqrt(y))/x;
end;

begin
clrscr;
n:=round((b-a)/h);
y[0]:=0.648;
for i:=1 to 11 do
begin
y[i+1]:=sqr(a+i*h)*sqr(a+i*h)*sqr(ln(5*(a+i*h)))/4;
end;
Upro[0]:=4*0.648-sqrt(0.648);
ypro[0]:=0.648;
Umod[0]:=4*0.648-sqrt(0.648);
ymod[0]:=0.648;
Uisp[0]:=4*0.648-sqrt(0.648);
yisp[0]:=0.648;
for i:=0 to 2 do
begin {modif metod}
Umod[i]:=f(a+i*h+h/2 , ymod[i]+h/2*f(a+i*h,ymod[i]));
ymod[i+1]:=ymod[i]+h*Umod[i];
end;
for i:=0 to 2 do
begin {prostoy metod}
Upro[i]:=f(a+i*h, ypro[i]);
ypro[i+1]:=ypro[i]+h*Upro[i];
end;
for i:=0 to 2 do
begin {ispravl metod}
Uisp[i]:=0.5*(f(a+i*h,yisp[i])+f(a+i*h+h , yisp[i]+h*f(a+i*h,yisp[i])));
yisp[i+1]:=yisp[i]+h*Uisp[i];
end;
{ЊЁ«­}
for i:=3 to 6 do
begin
{1 miln}ypro[i+1]:=ypro[i-3]+4*(h/3)*(2*Upro[i-2]-Upro[i-1]+2*Upro[i]);
{(2*f(a+(i-2)*h,ymod[i-2])-f(a+(i-1)*h,ymod[i-1])+2*f(a+i*h,ymod[i]));}
Upro[i+1]:=f(a+(i+1)*h,ypro[i+1]);
{2 miln}ypro[i+1]:=ypro[i-1]+h/3*(Upro[i+1]+4*Upro[i]+Upro[i-1]);
end;
{for i:=3 to 6 do {prostoy miln
begin
{1 milnypro[i+1]:=ypro[i-3]+4*h/3*(2*f(a+(i-2)*h,ypro[i-2])-f(a+(i-1)*h,ypro[i-1])+2*f(a+i*h,ypro[i]));
Upro[i+1]:=f(a+(i+1)*h+h/2,ypro[i+1]+h/2*f(a+(i+1)*h,ypro[i+1]));
{2 milnypro[i+1]:=ypro[i-1]+h/3*(Upro[i+1]+4*f(a+i*h,ypro[i])+f(a+(i-1)*h,ypro[i-1]));
end;
for i:=3 to 6 do {ispravl miln}
begin
{1 miln}yisp[i+1]:=yisp[i-3]+4*h/3*(2*f(a+(i-2)*h,yisp[i-2])-f(a+(i-1)*h,yisp[i-1])+2*f(a+i*h,yisp[i]));
Uisp[i+1]:=f(a+(i+1)*h+h/2,yisp[i+1]+h/2*f(a+(i+1)*h,yisp[i+1]));
{2 miln}yisp[i+1]:=yisp[i-1]+h/3*(Uisp[i+1]+4*f(a+i*h,yisp[i])+f(a+(i-1)*h,yisp[i-1]));
end;

writeln(' ЊҐв®¤л ќ©«Ґа  ');
writeln;
writeln(' Ј Џа®бв®© €бЇа ў«. Њ®¤ЁдЁж. ’®з­®Ґ');
write(' ',0 ,' ',ypro[0]:10:7); write(' ',yisp[0]:10:7);
write(' ',ymod[0]:10:7);writeln(' ',y[0]:10:7);
for i:=1 to 2 do begin
write(i:2,' ',ypro[i]:10:7); write(' ',yisp[i]:10:7);
write(' ',ymod[i]:10:7);writeln(' ',y[i+1]:10:7); end;
writeln;
writeln(' ЊҐв®¤ ЊЁ«­  ');
writeln;
for i:=3 to 7 do
begin
write(i:2,' ',ypro[i]:13:3); write(' Upro',Upro[i]:13:2);
write(' ',ymod[i]:13:3); writeln(' ', y[i]:12:7);
end;
readln
end.

Соседние файлы в папке выч методы