Помощь - Поиск - Пользователи - Календарь
Полная версия: Нужна помощь
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
-Оксана-
Мне помогли решить задачу , но она не идет, немогу разобраться, что должно быть в файле 'isx.dat'
ПОМОГИТЕ ПЛИЗ!!!
Построить аппроксимирующую зависимость для аналитического описания результатов 9 экспериментов, в каждом из которых на вход системы подается значение параметра Х, а на выходе регистрируется реакция У.
1 Выбрать вид функции.
2 Методом наименьших квадратов найти неизвестные коэффициенты избранной функции.
Х 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9
У 34,5 18,7 15,1 11,3 12,44 11,9 6,7 4,3 2,0

program z3;
var x,y:array[1..9] of real;
i :byte; a,b,c,s1,s2,s3,s4,s5:real;
f:text;
begin
assign(f,'isx.dat'); reset(f) ;
for i:= 1 to 9 do read(f,x[i],y[i]);
s1:=0; s2:=0; s3:=0; s4:=0;
for i:=1 to 9 do
begin
s1:=s1+x[i];
s2:=s2+ln(y[i]);
s3:=s3+(x[i]*x[i]);
s4:=s4+x[i]*ln(y[i]);
s5:=s5+y[i];
end;
a:=(s4-s1*s2/9)/(s3-s1*s1/9);
b:=s2/9-a*s1/9;
a:=exp(a);
b:=exp(b);
writeln('a=',a,' b=',b);
writeln ( ' x y yras');
s1:=0; s2:=0; s3:=s5/9;
for i:=1 to 9 do
begin
s1:=s1+sqr(y[i]-b*exp(x[i]*ln(a)));
s2:=s2+sqr(y[i]-s3);
writeln(x[i]: 4: 4, ' ',y[i]: 4: 4,' ',
b*exp (x [i] *ln (a) ) : 4 : 4) ;
end;
s4:=sqrt(1-s1/s2);
writeln('h=',s4);
end.
мисс_граффити
судя по
read(f,x[i],y[i])

там должны быть х и соответствующие им у
только файл же текстовый... как можно из него напрямую считать числа? хранятся-то строки.
сделай
 f: file of real;

-Оксана-


все равно прога не работает unsure.gif cray.gif
мисс_граффити
то есть?
покажи, как исправила, и прикрепи файл, который ты пытаешься ей скормить (кстати, как ты его создаешь-то? надеюсь, не в блокноте набираешь?)
Гость
в том то и вся проблема :
файла этого у меня вообще нет, как его создавать
и че сним делать я вообще незнаю
Задачу мне решили , расписали, а в эл.виде недавали,
там еще в описании есть такие цифры, может они нужны???
Я вообще ЧАЙНИК !!!

xar=4.8556 xgar=3.4212 xgeom=4.1003
yar=7.7778 ygar=3.5491 ygeom=5.5313
N у^ modul

1 5.77777777776646E+0000 3.46153846156994Е-0001
2 7.36782002131076E+0000 5.56416627013618Е-0002
3 9.46468523895601E+0000 1.78231755054185Е-0001
4 5.77777777776646E+0000 4.26518562359206Е-0002
5 7.36782002131076E+0000 2.49256250203189Е-0001
6 9.46468523895601E+0000 4.15580688530554Е-0001
7 5.77777777776646E+0000 3.85730166102803Е-0001
8 7.36782002131076E+0000 5.18295155748092Е-0001
9 9.46468523895601E+0000 6.25015042101950Е-0001
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.