Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

САУ_лабораторные

.pdf
Скачиваний:
45
Добавлен:
11.02.2015
Размер:
844.77 Кб
Скачать

Приложение В

Определение коэффициентов дифференциального уравнения по экспериментальной кривой разгона для объектов управления без самовыравнивания (лабораторная работа № 6)

Рассмотрим

приближенное

решение

дифференциального

уравнения

30,433Y t 3,822Y t

X t методом Рунге-Кутты. Для совпадения с траекторией, получен-

ной по методу Эйлера, необходимо входное воздействие х (увеличение расхода металла из промежуточного ковша в кристаллизатор) задавать в кг/с, в нашем случае х=4.17 кг/с. Количество шагов расчета n может совпадать с количеством шагов по методу Эйлера. Текст программы написан на языке PASCAL студентами гр. АМ-08:

program_k_dif_ur; uses crt,graph;

(*Инициализация массивов и переменных*) type mas=array[0..1000] of real; masy=array[0..1000] of real;

var h,a0,a1,a2,k1,k2,k3,k4,dy,dz,x :real; z,z0,y,y0 :real;

t,t1,ht,hy,max_y,min_y :real; sum1,sum2,integ1,integ2 :real; mas_t,mas_y :mas; y_o,t_o,dt,dy_o,k5,k6,k7 :masy; i,n,gd,gm,l :integer;

(*Инициализация функции расчета значения f*) function f(y,z:real):real;

begin f:=(x-a1*z-а0*y)/a2; end;

(*Ввод исходных данных для расчета*) begin

clrscr;

write('Введите количество шагов n :'); readln(n);

write('Введите коэффициент а1 :'); readln(а1);

write('Введите коэффициент а2 :'); readln(а2);

write('Введите входное воздействие x:'); readln(x);

write('Введите шаг по времени h :'); readln(h);

(*Расчет значений параметра выходной величины *)

51

begin t1:=0; t:=t1; y0:=0; y:=y0; a0:=0;

mas_y[0]:=0; mas_t[0]:=0; z0:=0; z:=z0;

l:=0;

for i:=1 to n do begin

if (l=20) then begin l:=0;

readln;clrscr;

end;

l:=l+1;

t:=t+h; y:=y0; z:=z0; k1:=h*f(y,z);

y:=y0+z0*h/2+k1*h/8; z:=z0+k1/2; k2:=h*f(y,z);

z:=z0+k2/2;

k3:=h*f(y,z); y:=y0+h*z0+h*k3/2; z:=z0+k3; dy:=h*(z0+(k1+k2+k3)/6); dz:=(k1+2*k2+2*k3+h*f(y,z))/6;

y:=y0+dy; z:=z0+dz;

 

writeln('t=',t:5:3,'

y(t)=', y:5:6);

y0:=y; z0:=z;

 

mas_y[i]:=y;mas_t[i]:=t; end;

readln;

end;end.

Графики расчетных траекторий представлены на рис. В.1. Траектория, рассчитанная методом Эйлера (см. таблицу 3), практически совпадает с траекторией Z*(t) и на рис. В.1 не отражена.

52

Уровень, мм

50

45

40

Y(t)

35

30

25

Z(t)

20

Z*(t)

15

10

5

0

0

5

10

15

20

25

30

35

40

Время, с

Рис. В.1. Расчетные траектории изменения уровня металла:

Y(t) – действительное изменение уровня, Z(t) – по регистрирующему прибору методом Рун- ге-Кутта, Z*(t) – по регистрирующему прибору точное решение уравнения

53