Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otchet_KP_Ustich_Arthur.doc
Скачиваний:
9
Добавлен:
11.02.2016
Размер:
713.22 Кб
Скачать

2.5 Заключение

В этой части курсовой работы было проведено численное моделирования динамических процессов в системе автоматического регулирования с помощью двух программных сред - Excel и Delphi.

Результаты, полученные при использовании этих двух пакетов, показали идентичные решения.

Литература

1. Бронштейн И.Н., Семендяев К.А. Справочник по математике для инженеров и учащихся втузовю -13-е изд., исправленное.-М.: Наука, Гл.Ред. физ.-мат. лит., 1986. -544 с.

2. Вычислительная техника и программирование. Часть 3 «Основы алгоритмизации, про-граммирования и решения инженерных и экономических задач на ЭВМ». Учебное посо-бие / Под общей редакцией проф. Меркта Р.В. – Одесса: ОГМУ,2000. –97 с.

3. Электронные учебно-методические материалы кафедры «Техническая кибернетика».

4. Меркт, «Вычислительная техника и программирование. Часть 3», ОНМУ,

Одесса – 2004.

5. Г.В. Галисеев, «Программирование в среде Delphi», Москва – Санкт-Петербург – Киев, 2004.

Приложение

Текст программы численного моделирования динамических процессов в системе автоматического регулирования

program Ustich;

{$APPTYPE CONSOLE}

uses

Math,

sysutils,

classes,

Dialogs,

MyType,

MyPr;

var

i,N,Gk,Iter : Ir;

A,B,k1,k2,Y0,YY0,C,k3,k4,Z0,E,DT : Db;

a0,a1,a2,a3,a4,b0,b1,b2: Db;

FF,YY,ZZ : Db;

D1,D2,D3,D4,D5,D6,D7,D8,D9,D10 : Db;

T,X,G,Y,F,Z : Vec;

F1,F2 : TextFile;

Begin

AssignFile(F1,'Input_Ustich.txt');

AssignFile(F2,'Output_Ustich.txt');

Reset(F1);

ReWrite(F2);

Readln(F1,A,B,k1,k2,Y0,YY0);

Readln(F1,C,k3,k4,Z0);

Readln(F1,a0, a1, a2, a3, a4);

Readln(F1,b0,b1,b2);

Readln(F1,DT,N,E);

Writeln(' A=',A:8:5,' B=',B:8:5,' k1=',k1:8:5,' k2=',k2:8:5,

' Y0=',Y0:8:5,' YY0=',YY0:8:5);

Writeln(' C=',C:8:5,' k3=',k3:8:5,' k4=',k4:8:5,' Z0=',Z0:8:5);

Writeln(' a0=',a0:8:5,' a1=',a1:8:5,' a2=',a2:8:5,' a3=',a3:8:5, ' a4=',a4:8:5);

Writeln(' b0=',b0:8:5,' b1=',b1:8:5,' b2=',b2:8:5);

Writeln(' DT=',DT:8:5,' N=',N:3,' E=',E:10:7);

Writeln(F2,' A=',A:8:5,' B=',B:8:5,' k1=',k1:8:5,' k2=',k2:8:5,

' Y0=',Y0:8:5,' YY0=',YY0:8:5);

Writeln(F2,' C=',C:8:5,' k3=',k3:8:5,' k4=',k4:8:5,' Z0=',Z0:8:5);

Writeln(F2,' a0=',a0:8:5,' a1=',a1:8:5,' a2=',a2:8:5,' a3=',a3:8:5,' a4=',a4:8:5);

Writeln(F2,' b0=',b0:8:5,' b1=',b1:8:5,' b2=',b2:8:5);

Writeln(F2,' DT=',DT:8:5,' N=',N:3,' E=',E:10:7);

Readln;

D1:=1-(B*DT/A);

D2:=(-DT/A);

D3:=(k1*DT/A);

D4:=(k2*DT/A);

D5:=DT;

D6:=1-(DT/C);

D7:=(DT*k3/C)-(k4/C);

D8:=(k4/C);

D9:=(k4/C)-(DT*k3/C);

D10:=-(k4/C);

Writeln('D1=',D1:8:5,' D2=',D2:8:5,' D3=',D3:8:5,' D4=',D4:8:5,' D5=',D5:8:5);

Writeln('D6=',D6:8:5,' D7=',D7:8:5,' D8=',D8:8:5,' D9=',D9:8:5,' D10=',D10:8:5);

for i:=0 to N do

begin

T[i]:=DT*i;

X[i]:=a0+a1*sin(a2*T[i]+a3)*exp(a4*T[i]);

G[i]:=b0+b1*T[i]+b2*sqr(T[i]);

end;

i:=0; Y[i]:=Y0; F[i]:=YY0; Z[i]:=Z0;

for i:=1 to N do

begin

Y[i]:=Y[i-1]; F[i]:=F[i-1]; Z[i]:=Z[i-1];

Iter:=0;

Repeat

Iter:=Iter+1;

Gk:=0;

FF:=D1*F[i-1]+D2*(Y[i-1])+D3*(X[i-1])+D4*(Z[i-1]);

YY:=Y[i-1]+D5*(F[i-1]);

ZZ:=D6*Z[i-1]+D7*Y[i-1]+D8*Y[i]+D9*G[i-1]+D10*G[i];

if abs(F[i]-FF)>E then Gk:=Gk+1;

if abs(Y[i]-YY)>E then Gk:=Gk+1;

if abs(Z[i]-ZZ)>E then Gk:=Gk+1;

Y[i]:=YY; F[i]:=FF; Z[i]:=ZZ;

Until Gk=0;

end;

Writeln(' ');

Writeln(' i T X G Y F Z Iter');

Writeln(F2,' ');

Writeln(F2,' i T X G Y F Z Iter');

for i:=0 to N do

begin

Writeln(F2,i:2,' ',T[i]:8:4,' ',X[i]:8:4,' ',G[i]:8:4,' ',Y[i]:8:4,' ',F[i]:8:4,' ',Z[i]:8:4,' ',Iter:4);

Writeln(i:2,' ',T[i]:8:4,' ',X[i]:8:4,' ',G[i]:8:4,' ',Y[i]:8:4,' ',F[i]:8:4,' ',Z[i]:8:4,' ',Iter:4);

end;

Readln;

Close(F1);

Close(F2);

END.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]