Помощь - Поиск - Пользователи - Календарь
Полная версия: Задача "Аппроксимировать заданную табличную зависимость
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
NewCod
Помогите пожалуйста со следующей задачкой.
Аппроксимировать заданную табличную зависимость:
x 1,0 2,0 3,0 4,0 5,0 6,0 7,0 8,0
y 6,9 7,9 8,3 9,1 9,3 9,9 10,1 10,7
функция вида g(x)=a+b на корень из x и сравнить с аппроксимацией многочленом первой степени. Дать графическую иллюстрацию полученных результатов.
Lapp
Цитата(NewCod @ 22.06.2010 10:22) *
Помогите пожалуйста
Нет проблем. Показывай, что сделал, и говори, с чем затруднения.
NewCod
Вот я тут кое что написал, но кажется это полный бред)), просто давно уже не садился за программирование, если есть возможность помогите разобраться.
Код

user crt;
var x, s1,s2,s3,s4,s5,s6,y,a,b,da,db,a1:real;
var i,j:integer;
begin
clrscr;
s1:=0;s2:=0;s3:=0;s4:=0;s5:=0;s6:=0;
for i:=1 to 8 do
begin
x[i]:=i;
end;
for j:=1 to 8 do
begin
y[1,j]:=6.9;
y[2,j]:=7.9;
y[3,j]:=8.3;
y[4,j]:=9.1;
y[5,j]:=9.3;
y[6,j]:=9.9;
y[7,j]:=10.1;
y[8,j]:=10.7;
end;
{многочлен первой степени y(x)=a*x+b}
begin
for i:=1 to 8 do
begin
for j:=1 to 8 do
begin
s1:=s1+x[i]*x[i];
s2:=s2+x[i];
s4:=s4-y[j];
end;
a1:=8*s1-s2*s1;
da:=8*s3-s4*s2;
db:=s1*s4-s2*s3;
a:=da/a1
b:=db/a1
end;
end;
end.
Lapp
Цитата(NewCod @ 22.06.2010 10:22) *
Аппроксимировать заданную табличную зависимость:
x 1,0 2,0 3,0 4,0 5,0 6,0 7,0 8,0
y 6,9 7,9 8,3 9,1 9,3 9,9 10,1 10,7
функция вида g(x)=a+b на корень из x и сравнить с аппроксимацией многочленом первой степени. Дать графическую иллюстрацию полученных результатов.
Да, с кодом у тебя не очень.. sad.gif Ты его хоть пытался компилить? Ошибок море. Но погоди, давай разберемся с условием сначала. Что значит "аппроксимировать"? Имеется в виду квадратичная аппроксимация?

Y нужно описывать как массив. А значения s1 .. s6 тебе зачем? Если это X, то либо уж массивом, либо (лучше) просто идти по этим значениям с шагом - они же равноотстоящие.

Уточни условие и приходи.
NewCod
Аппроксиморовать нужно методом наименьших квадратов, я так понял там нужно вычислить две системы:
1.
a Сумма x итое в квадрате + b сумма x итое = сумме x итое * y итое
a сумма x итое + b N= сумма y итое

2:
8a + b сумма корень квадратный из x итое = сумма y итое
a сумма корень квадратный из x итое + b сумма x итое = сумма y итое корень из x итое
Lapp
Цитата(NewCod @ 28.06.2010 12:56) *
a Сумма x итое в квадрате + b сумма x итое = сумме x итое * y итое
...
ну, для кого в форме ответа есть индексы (нижние и верхние)? Читать же невозможно, уважай других хоть немного..
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.