САУ_лабораторные
.pdfПриложение В
Определение коэффициентов дифференциального уравнения по экспериментальной кривой разгона для объектов управления без самовыравнивания (лабораторная работа № 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