logo
Лекция_3(Интерполяция)

I,n:integer;

begin

writeln('Аппроксимация зависимостью a*ln(x)+b методом наименьших квадратов');

write('Количество точек N= ');

readln(n);

if n > nmax then n:=nmax;

sx:=0;

sy:=0;

sxy:=0;

sx2:=0;

for i:=1 to n do

begin

write('X(',i:2,'),

Y(',i:2,')= ');

readln(x[i],y[i]);

sx:=sx+ln(x[i]);

sy:=sy+y[i];

sxy:=sxy+(ln(x[i]))*y[i];

sx2:=sx2+sqr(ln(x[i]));

end;

a:=(sx*sy-n*sxy)/(sqr(sx)-n*sx2);

b:=(sy-a*sx)/n;

writeln('Коэффициенты зависимости a*ln(x)+b a= ',a:5:5,', b= ',b:5:5);

for i:=1 to n do

begin

writeln('X(',i:2,')= ',x[i]:5:5,' Y(',i:2,')= ',y[i]:5:5,

' Y*(',i:2,')= ',a*ln(x[i])+b:5:5);

end;

write('Нажмите <Enter> для продолжения'); readln;

end..