Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Зависимость роста от веса

Автор: Feagor 2.01.2008 22:40

все условие в прикрепленном файле. Подскажите хотябы с чего начать....


Эскизы прикрепленных изображений
Прикрепленное изображение

Автор: volvo 2.01.2008 23:03

Цитата
Подскажите хотябы с чего начать....
Удалить DOC-файл (этот формат запрещен, читаем правила) и привести условие либо прямо здесь, либо снять скриншот и присоединить условие в виде изображения...

Автор: Feagor 2.01.2008 23:13

Исправил

Автор: Feagor 3.01.2008 0:09

который раз перечитываю - немогу понять что от меня хотят....все что смог написать(до того момента пока я понимаю что делать)

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.

Автор: мисс_граффити 3.01.2008 1:22

насколько я помню матстатистику, надо решить систему линейных уравнений:
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)

Автор: Feagor 3.01.2008 19:46

Всё спасибо, оказывается решается тупо методом наименьших квадратов Гауса.
Листинг:

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);
k:=(x1*x-xy)/x2;
k:=(-1)*k;
накосячил, ибо пришлось на -1 умножать, иначе работаtт криво...

Автор: мисс_граффити 3.01.2008 20:42

ты бы х1, х2... обнулил лучше перед суммированием...
и, по-моему, ты взял формулы для получения квадратичного многочлена y=ax^2+bx+c
хотя насчет этого не уверена

Автор: Feagor 4.01.2008 0:01

обнулить то можно, а вот насчет формул тут все правильно