Система управления аппаратом производства фотографической эмульсии
Категория реферата: Рефераты по информатике, программированию
Теги реферата: дипломная работа школа, баллов
Добавил(а) на сайт: Марков.
Предыдущая страница реферата | 15 16 17 18 19 20 21 22 23 24 25 | Следующая страница реферата
– М.: Энергоатомиздат, 1983. – 376 с.
ПРИЛОЖЕНИЕ А
Текст программы аппроксимации
Program approximation; uses crt;const n=5;l=15; {n=числу полиномиальных коэффициентов}
{l=числу исходных точек неизвестной функции y} type tarr1=array[1..n] of real; tarr2=array[1..n,1..n] of real; tarrl=array[1..l] of real; tarr=array[0..n-1] of real; var a:tarr2; b:tarr1; p:tarr; f,x,y:tarrl; i,j,k,d:integer; v:tarr1; xv,z:real; h:string[1]; fil:text; function g(t:tarr;x1:real):real; var i2:integer; w1:real; begin w1:=0; for i2:=0 to n-1 do begin w1:=w1+t[i2]*exp(i2*ln(x1)); end; g:=w1; end; function max(t1:tarrl):real; var i3:integer; w:real; begin w:=t1[1]; for i3:=2 to l do if t1[i3] > w then w:=t1[i3]; max:=w; end; procedure writing(c1:tarr2;c2:tarr1); var i4,j4:integer; begin for i4:=1 to n do begin for j4:=1 to n do write(' ',c1[i4,j4]:10:3,' '); write(' | ',c2[i4]:4:4); writeln; end; end;
{=======Основной блок=========}
Begin
{абсциссы точек}
x[1]:=0.1;x[2]:=1;x[3]:=3;x[4]:=5;x[5]:=10;x[6]:=15;x[7]:=20;x[8]:=25;
x[9]:=30;x[10]:=35;x[11]:=40;x[12]:=50;x[13]:=60;x[14]:=80;x[15]:=100;
{ординаты - табличные значения}
y[1]:=0;y[2]:=0.2;y[3]:=1;y[4]:=2;y[5]:=5.5;y[6]:=9;y[7]:=12;y[8]:=14.3;
y[9]:=16;y[10]:=17.2;y[11]:=18.1;y[12]:=19;y[13]:=19.5;y[14]:=19.8;y[15]:=20
; z:=0;
{заполняем матрицы коэффициентов для системы} for i:=1 to n do begin for j:=1 to n do begin for d:=1 to l do z:=z+exp((i+j-2)*ln(x[d])); a[i,j]:=z;z:=0; end; for d:=1 to l do z:=z+y[d]*exp((i-1)*ln(x[d])); b[i]:=z;z:=0; end; clrscr; writeln('расширенная матрица системы :'); writing(a,b); i:=1;
{решаем систему методом Гаусса. v - вектор неизвестных} repeat b[i]:=b[i]/a[i,i]; for j:=n downto i do a[i,j]:=a[i,j]/a[i,i]; for k:=i+1 to n do begin b[k]:=b[k]-b[i]*a[k,i]; for j:=n downto i do a[k,j]:=a[k,j]-(a[i,j]*a[k,i]); end; i:=i+1; until i=n+1; v[n]:=b[n]; for i:=n-1 downto 1 do begin v[i]:=b[i]; for j:=i+1 to n do v[i]:=v[i]-(v[j]*a[i,j]); end; for i:=1 to n do p[i-1]:=v[i]; writeln; writeln('эквивалентная ступенчатая матрица системы:'); writing(a,b); writeln(' РЕШЕНИЕ : '); for d:=0 to n-1 do writeln(p[d]:12:10); writeln('значения аппроксимирующего полинома в узловых точках равны: '); for d:=1 to l do begin f[d]:=abs((g(p,x[d])-y[d])/{y[d]}6); write(' ',g(p,x[d]):4:2,' '); end; writeln; writeln('приведенная ошибка аппроксимации в % равна:'); writeln(max(f)*100:4:0,'%');
{=====запись в файл=====} assign(fil,'result.txt'); rewrite(fil); for d:=0 to n-1 do writeln (fil,p[d]);
End.
--------------------
5
4
3
6
5
4
3
2
Рекомендуем скачать другие рефераты по теме: шпаргалки по математике, защита реферата.
Предыдущая страница реферата | 15 16 17 18 19 20 21 22 23 24 25 | Следующая страница реферата