Добавил:
bagiwow
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:3_теориЛеготкина / выч методы / KRES0518
.PAS var
n,k:integer;
yneizv:array [0..50] of real;
w,p,q1:real;
x,y,g,f,m,q,a,b,c,d:array [0..50] of real;
z,h:real;
i,j:integer;
begin
for i:=1 to 50 do writeln;
x[0]:=-4;x[1]:=-3;x[2]:=-2;x[3]:=-1;x[4]:=0;x[5]:=1; x[6]:=2; x[7]:= 3; x[8]:=4;
y[0]:=0; y[1]:=0; y[2]:=-2; y[3]:=1; y[4]:=0; y[5]:=-1; y[6]:=2; y[7]:= 0; y[8]:=0;
write(x[0]:10:2,y[0]:5:2,y[0]:5:2);
w:=-4;
n:=8;
for k:=1 to 41 do
begin
yneizv[k]:=0;
for i:=0 to n do
begin
q1:=1;
p:=1;
for j:=0 to n do
if i<>j then
begin
q1:=q1*(w-x[j]);
p:=p*(x[i]-x[j]);
end;
yneizv[k]:=yneizv[k]+q1/p*y[i];
end;
w:=w+0.2;
end;
w:=-4;
{for k:=1 to 41 do
begin
writeln(w:6:2,yneizv[k]:6:2);
w:=w+0.2;
end;
}
k:=2;
h:=1;
g[1]:=4*h;
for i:=2 to 8 do g[i]:=4*h-h*h/g[i-1];
f[1]:=6*((y[2]-y[1])/h-(y[1]-y[0])/h);
for i:=2 to 8 do f[i]:=6*((y[i+1]-y[i])/h-(y[i]-y[i-1])/h)-f[i-1]*h/g[i-1];
m[8]:=f[8]/g[8];
for i:=7 downto 1 do m[i]:=(f[i]-h*m[i+1])/g[i];
z:=-4;
for i:=1 to 8 do
begin
a[i]:=m[i-1]/6/h;
b[i]:=m[i]/6/h;
c[i]:=(y[i-1]*1/6*m[i-1]*h*h)/h;
d[i]:=(y[i]-1/6*m[i]*h*h)/h;
for j:=1 to 5 do
begin
z:=z+0.2;
q[j]:=a[i]*(x[i]-z)*(x[i]-z)*(x[i]-z)+b[i]*(z-x[i-1])*(z-x[i-1])*(z-x[i-1])+c[i]*(x[i]-z)+d[i]*(z-x[i-1]);
write(z:10:2,q[j]:5:2);
write(yneizv[k]:5:2);
k:=k+1;
end;
end;
readln;
end.
n,k:integer;
yneizv:array [0..50] of real;
w,p,q1:real;
x,y,g,f,m,q,a,b,c,d:array [0..50] of real;
z,h:real;
i,j:integer;
begin
for i:=1 to 50 do writeln;
x[0]:=-4;x[1]:=-3;x[2]:=-2;x[3]:=-1;x[4]:=0;x[5]:=1; x[6]:=2; x[7]:= 3; x[8]:=4;
y[0]:=0; y[1]:=0; y[2]:=-2; y[3]:=1; y[4]:=0; y[5]:=-1; y[6]:=2; y[7]:= 0; y[8]:=0;
write(x[0]:10:2,y[0]:5:2,y[0]:5:2);
w:=-4;
n:=8;
for k:=1 to 41 do
begin
yneizv[k]:=0;
for i:=0 to n do
begin
q1:=1;
p:=1;
for j:=0 to n do
if i<>j then
begin
q1:=q1*(w-x[j]);
p:=p*(x[i]-x[j]);
end;
yneizv[k]:=yneizv[k]+q1/p*y[i];
end;
w:=w+0.2;
end;
w:=-4;
{for k:=1 to 41 do
begin
writeln(w:6:2,yneizv[k]:6:2);
w:=w+0.2;
end;
}
k:=2;
h:=1;
g[1]:=4*h;
for i:=2 to 8 do g[i]:=4*h-h*h/g[i-1];
f[1]:=6*((y[2]-y[1])/h-(y[1]-y[0])/h);
for i:=2 to 8 do f[i]:=6*((y[i+1]-y[i])/h-(y[i]-y[i-1])/h)-f[i-1]*h/g[i-1];
m[8]:=f[8]/g[8];
for i:=7 downto 1 do m[i]:=(f[i]-h*m[i+1])/g[i];
z:=-4;
for i:=1 to 8 do
begin
a[i]:=m[i-1]/6/h;
b[i]:=m[i]/6/h;
c[i]:=(y[i-1]*1/6*m[i-1]*h*h)/h;
d[i]:=(y[i]-1/6*m[i]*h*h)/h;
for j:=1 to 5 do
begin
z:=z+0.2;
q[j]:=a[i]*(x[i]-z)*(x[i]-z)*(x[i]-z)+b[i]*(z-x[i-1])*(z-x[i-1])*(z-x[i-1])+c[i]*(x[i]-z)+d[i]*(z-x[i-1]);
write(z:10:2,q[j]:5:2);
write(yneizv[k]:5:2);
k:=k+1;
end;
end;
readln;
end.
Соседние файлы в папке выч методы