_WELCOMETO Radioland

Главная Схемы Документация Студентам Программы Поиск Top50  
Поиск по сайту



Навигация
Главная
Схемы
Автоэлектроника
Акустика
Аудио
Измерения
Компьютеры
Питание
Прог. устройства
Радио
Радиошпионаж
Телевидение
Телефония
Цифр. электроника
Другие
Добавить
Документация
Микросхемы
Транзисторы
Прочее
Файлы
Утилиты
Радиолюб. расчеты
Программирование
Другое
Студентам
Рефераты
Курсовые
Дипломы
Информация
Поиск по сайту
Самое популярное
Карта сайта
Обратная связь

Студентам


Студентам > Курсовые > Система управления аппаратом производства фотографической эмульсии

Система управления аппаратом производства фотографической эмульсии

Страница: 7/7

С точки зрения структуры и состава входящих в нее средств автоматизации наша схема имеет промышленные аналоги (подобная система была применена в начале 90-х годов на Шосткинском ПО “Свема”). Система хорошо зарекомендовала себя и может считаться удачной.

 

СПИСОК ЛИТЕРАТУРЫ

 

1        Основы технологии светочувствительных материалов. Под ред. проф. Шеберстова. – М.: Химия, 1977. – 504 с.

2        Крамерс Х., Вестертерп К. Химические реакторы. – М.: Химия, 1967. – 264 с.

3        Теплотехника: Учебник / И.Т. Швец, В.И. Толубинский и др. – Киев: Вища школа, 1976. – 520 с.

4        Наладка автоматических систем и устройств управления технологическими процессами: Справочное пособие / А.С. Клюев и др. – М.: Энергоатомиздат, 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.



Copyright © Radioland. Все права защищены.
Дата публикации: 2004-09-01 (0 Прочтено)