К решению нелинейных вариационных задач
Информация - Математика и статистика
Другие материалы по предмету Математика и статистика
/p>
closegraph ;
end;
end;
close(ff);
end.
program diplom; <5 const n=200;
type mas=array[0. . n]of real;
var a,b,c,d,f,y,p,xx,1,r,g: mas;
x,h,jl,yl,j2,y2: real;
i: integer;
ff: text; „ о procedure vap(var xx,y :mas); рвит^шло. Ьсир<лсцш^У<мо^ var x,h: real; i: integer; f,p, a,b, c,d: mas; ^Cc^c^cc begin h: =2/n; x: =0;
for i: =0 to n do begin
f[i]: = -1 ;
p[i]: = 0;
xx[i]: =x;
x: =x+h end;
y[0]:=0; y[157]:=l;
for i: =1 to 157 do
a[i]:=2+h*h*f[i];
b[l]:=y[0]-h*h*p[l];
b[156]: =y[157]-h*h*p[156];
for i: =2 to 157-2 do
b[i]: =-h*h*pCi];
c[l]:=a[l]; d[l]:=b[l];
for i: =2 to 157-1 do begin
c[i]: =a[i]-l/c[i-l];
d[i]: =b[i]+d[i-l]/c[i-l];
end;
y[156]: =d[156]/c[156];
for i: =2 to 156 do
y[157-i]: =(d[157-I] +y[157-i+l])/c[157-i];
end;
procedure kr(var xx,y :mas); р>влллели,<Л. ^сиг-С^Сл! ^wo^m.
var x,h: real;i: integer;a,p,g,f,r,1,b,c,d: mas; / </
begin
h: =2/n; x: =0;
for i: =0 to 100 do begin
P[i]:=0;
g[i]: =0;
fCi3: =x;
xx[i]: =x;
x: =x+h;
end;
У[0]: =0; y[100]: =1;
for i: =1 to 100 do begin
1[i]: =2-h*p[i];
a[i]: =(4-2*h*h*g[i])/l[i];
r[i]: =(2+h*p[i])/l[i];
end;
b[l]: =y[0]-2*h*h*f[l]/l[l];d[l]: =b[l];c[l]: =a[l];
for i: =2 to 99 do begin
- b[i]: =-2*h*h*f[i]/l[i];
c[i]: =a[i]-<r[i-l]/c[i-l]);
d[i]: =b[i]+(d[i-l]/c[i-l]);
end;
у[99]: =(d[99]+r[99]*y[100])/c[99];
for i: =2 to 99 do
yClOO-i]: =(d[100-i]+r[100-i]*y[100-i+l])/c[100-i];
end;
begin assign(ff, b: res.dip);
rewrite(ff); writeln(ff); ^ vap(xx,y);
writeln(ff, РЕШЕНИЕ ВАРИАЦИОННОЙ ЗАДАЧИ);
writeln(ff);
i: =0;jl: =0;
writeln(ff, численное решение,
,аналитическое решение);
writeln(ff);
while <i<=157) and (jl<=1.57) do begin
yl:=sin(jl);
writeln(ff, ,xx[i]: 1: 2, ,y[i]:l:3,
,J1:1: 2, ,yl: 1: 3);
i: =i+l;jl: =jl+0. 01; end;
I writeln(ff, ,xx[157]: 1: 2, ,у[157]:1: 3, ,J1:1: 2, ,yl: 1: 3);
writeln(ff);
kr(xx,y);
writeln(ff);
writeln(ff, РЕШЕНИЕ КРАЕВОЙ ЗАДАЧИ );
writeln(ff);i: =0;j2: =0;
writeln(ff, численное решение,
/аналитическое решение );
writeln(ff);
while (i<=100) and (j2<=l) do begin
y2: =j2*j2*j2/6+(5>Kj2/6);
writeln(ff, ,xx[i]:1: 2_, ,y[i]:1: 3, ,j2: 1: 2, ,у2: 1: 3);
i: =i+l;j2: =j2+0. 01; end;
writeln(ff, ,хх[100]: 1: 2, ,у[100]:1: 3, ,з2: 1: 2, ,у2: 1: 3);
close(ff);
end.