все условие в прикрепленном файле. Подскажите хотябы с чего начать....
Эскизы прикрепленных изображений
Исправил
который раз перечитываю - немогу понять что от меня хотят....все что смог написать(до того момента пока я понимаю что делать)
uses crt;
type Trv=record
h,w:integer;
end;
var i,n:integer;
a:array[1..100] of trv;
begin
clrscr;
writeln('Insert count');
readln(n);
for i:=1 to n do
begin
writeln('Insert ',i,' height');
read(a[i].h);
writeln('Insert ',i,' weight');
read(a[i].w);
end;
end.
насколько я помню матстатистику, надо решить систему линейных уравнений:
n*a+b*sum(x)=sum(y)
a*sum(x)+b*sum(x^2)=sum(x*y)
sum(z) - сумма всех значений признака z
n - количество значений признаков
реши ее математически для начала. то есть запиши в виде
a = f(x,y)
b = f(a,x,y)
Всё спасибо, оказывается решается тупо методом наименьших квадратов Гауса.
Листинг:
uses crt;
type Trv=record
h,w:real;
end;
var i,n:integer;
a:array[1..100] of trv;
x1,x2,xy,y1,k,x:real;
begin
clrscr;
writeln('Insert count');
read(n);
for i:=1 to n do
begin
writeln('Insert ',i,' height');
read(a[i].h);
writeln('Insert ',i,' weight');
read(a[i].w);
end;
for i:=1 to n do
begin
x1:=x1+a[i].h;
x2:=x2+sqr(a[i].h);
xy:=xy+a[i].h*a[i].w;
y1:=y1+a[i].w;
end;
{writeln(x1:2:2,' ',x2:2:2,' ',xy:2:2,' ',y1:2:2);}
x:=(-1)*(x2*y1-xy*x1)/(sqr(x1)-n*x2);
k:=(x1*x-xy)/x2;
k:=(-1)*k;
writeln(k,' ',x);
readkey;
end.
x:=(-1)*(x2*y1-xy*x1)/(sqr(x1)-n*x2);накосячил, ибо пришлось на -1 умножать, иначе работаtт криво...
k:=(x1*x-xy)/x2;
k:=(-1)*k;
ты бы х1, х2... обнулил лучше перед суммированием...
и, по-моему, ты взял формулы для получения квадратичного многочлена y=ax^2+bx+c
хотя насчет этого не уверена
обнулить то можно, а вот насчет формул тут все правильно