Балтийский государственный технический университет
«Военмех» имени Д. Ф. Устинова
Лабораторная работа №4:
Исследование динамики движения ЛА в продольной плоскости с использованием не линейной модели
Выполнил: Дмитриевский Г. А.
Группа: А -153
Проверил: Акимов Г.А.
Санкт-Петербург 2008 г.
1. Постановка задачи
Исследование динамических свойств ЛА в движении в вертикальной плоскости.
2. Модель динамики ЛА
Движение ЛА в вертикальной плоскости определяется следующей нелинейной системой ДУ:
1)
2)
3)
4)
5)
6)
7)
8)
3. Текст программы
Program Pac4eT;
Uses crt,graph;
Const R=200000; mc=100; Cx0=0.4; Ax=2; Cya=1.7; mza=-0.6; mzw=-0.6; mzd1=0.2;
ldl=10; Sm=0.78; Iz1=33000; de1=pi/12; V0=25; TTa0=1.55; y0=500; m0=4400;
ta=33; {sh=0.1;} Vmax=1542; ro0=1.23; ik=1.55; g=9.81;
Var
i,j,k1,l,n,s,n1,n2,r1,r2,r4,nk,npro:longint ;
e,d,c,w:char;
gh,Cx,TTa,V,t,ro,H,H1,wz1,nx,ny,ns,Ld,TANG1,ALFA1,q,f2,f3,f4,x,y,x1,t1,t2,Ka,sh:real;
y1,TTa1,V1,C3T,t0,tn,mn,Dln,tp,wz11,Hmax,Vb,TTab,tb,xb,iter,m,m1,ka1,TANG,ALFA:real;
F,ks:array [1..7] of real;
Cxe,Vr:array [1..35] of real;
K: array [1..7,1..4] of real;
tmas,V01,x01,y01:array [1..10] of real;
Vm,TTam,tm,TANGm,ALFAm{,nxm,nym}:array [1..1000] of real;
{nsum,Lm,Fim}xm,ym,omegazm,mm,wz1m:array [1..1000] of real;
Procedure Menu;
begin
CLRSCR;
writeln('');
end;
Procedure Naprava;
Var i1,j1,k,l,n,i7,i2,i3,i4:integer;
t01,t02,Dln1,TANG:real;
p,a,d,e:char;
begin
repeat
writeln('€‘•Ћ„Ќ›… „ЂЌЌ›… ‘‹…„“ћ™€… ');
writeln('ЌЂ—Ђ‹њЌЂџ ‘ЉЋђЋ‘’њ V0=7.7 Є¬/б');
writeln('ЌЂ—Ђ‹њЌ›‰ “ѓЋ‹ TTA0=0.5 ђЂ„€ЂЌ');
writeln('‘€‹Ђ ’џѓ€ R=',R:4,'Ќ');
writeln('ЊЂ‘‘Ћ‚‚›‰ ђЂ‘•Ћ„ mc=',mc:4,'ЄЈ/б');
writeln('ЌЂ—Ђ‹њЌЂџ ‚›‘Ћ’Ђ ЏЋ‹…’Ђ H0=',y0:4,' ¬');
writeln('Џ‹Ћ’ЌЋ‘’њ ‚Ћ‡„“•Ђ “ ‡…Њ‹€ ro0=',ro0:4:4,' ЄЈ/¬3');
writeln('ђЂ„€“‘ ‡…Њ‹€ R3=6371.311 Є¬');
writeln('ЉЋќ””€–€…Ќ’ ‹ЋЃЋ‚ЋѓЋ ‘ЋЏђЂ’€‚‹…Ќ€џ Cx0=',Cx0:4:4);
writeln('“‘ЉЋђ…Ќ€… ‘‚ЋЃЋ„ЌЋѓЋ ЏЂ„…Ќ€џ g3=9.81 ¬/б2');
writeln('Ђ=',A);
writeln('ЉЋќ””€–€…Ќ’ ЏЋ„њ…ЊЌЋ‰ ‘€‹› Cya=',Cya:4);
writeln(' ЂќђЋ„€ЌЂЊ€—…‘Љ€… ЉЋќ””€–…Ќ’› ЊЋЊ…Ќ’Ђ ’ЂЌѓЂ†Ђ ');
writeln('Mz1alfa=',mza:4);
writeln('Mz1omega=',mzw:4);
writeln('Mzdelta=',mzd1:4:4);
writeln('ЊЋЊ…Ќ’ €Ќ…ђ–€€ J=',Iz1:4,'ЄЈ*¬2');
writeln('•ЂђЂЉ’…ђЌЂџ „‹€ЌЂ S=',Sm:4:4,'¬');
writeln('•ЂђЂЉ’…ђЌЂџ Џ‹Ћ™Ђ„њ l=',ldl:4:4,'¬2');
for i2:=1 to 7 do begin Cxe[i2]:=0.181; end;
Cxe[8]:=0.185;Cxe[9]:=0.195;Cxe[10]:=0.213;Cxe[11]:=0.242;Cxe[12]:=0.287;Cxe[13]:=0.353;Cxe[14]:=0.362;Cxe[15]:=0.361;
Cxe[16]:=0.361;Cxe[17]:=0.361;Cxe[18]:=0.359;Cxe[19]:=0.358;Cxe[20]:=0.357;Cxe[21]:=0.354;Cxe[22]:=0.353;Cxe[23]:=0.351;
Cxe[24]:=0.348;Cxe[25]:=0.334;Cxe[26]:=0.317;Cxe[27]:=0.300;Cxe[28]:=0.297;Cxe[29]:=0.281;Cxe[30]:=0.270;Cxe[31]:=0.258;
Cxe[32]:=0.245;Cxe[33]:=0.234;Cxe[34]:=0.226;Cxe[35]:=0.216;
for i4:=1 to 35 do begin
Vr[1]:=100;
Vr[i4+1]:=Vr[i4]+50;
if (4<i4) and (i4<27) then begin Vr[i4]:=Vr[i4-1]+10; end;
end;
writeln ('„‹џ ЏђЋ„Ћ‹†…Ќ€џ ЌЂ†Њ€’… ‹ћЃ“ћ Љ‹Ђ‚€“');
p:=readkey;
if p<>e then break;
until p='e';
end;
Procedure PU;
Var p,d,o:char;
i2,i3,i4,x4:integer;
po,r31,H3:real;
c:text;
begin
Clrscr;
repeat
Clrscr;
Clrscr;
writeln('ђЂ‘—…’');
t:=0;
sh:=0.1;
n:=0;
V:=V0;
TTa:=TTa0;
y:=y0;
m:=m0;
wz1:=0;
x:=0;
TANG:=0;
ALFA:=0;
repeat
n:=n+1;
for i3:=1 to 34 do begin
if (Vr[i3]<V) and (V<Vr[i3+1]) then begin C3T:=Cxe[i3]/10 end;
if V<Vr[1] then begin C3T:=0.3 end;
if V>1000 then begin C3T:=0.213 end;
end;
ro:=ro0*exp(-0.0001*y);
q:=ro*V*V/2;
f[1]:=((R*cos(ALFA))/m)-(((Cx0+Ax*ALFA*ALFA)*q*Sm)/m)-g*sin(TTa);
f[2]:=(R*sin(ALFA))/(m*V)+(Cya*q*Sm*ALFA)/(m*V)-((g*cos(TTa))/V);
f[3]:=((mza*ALFA+((mzw*wz1*ldl)/V)+mzd1*de1)*q*Sm*ldl/Iz1);
f[4]:=wz1;
f[5]:=V*sin(TTa);
f[6]:=V*cos(TTa);
f[7]:=-mc;
ALFA:=TANG-TTa;
V1:=V; TTa1:=TTa; y1:=y; x1:=x; wz11:=wz1; TANG1:=TANG; m1:=m; tp:=t;
for j:=1 to 4 do begin
for i:=1 to 7 do begin
ro:=ro0*exp(-0.0001*y);
q:=ro*V*V/2;
K[i,j]:=sh*f[i]; end;
{writeln(K[1,j]);}
V:=V+((K[1,j])/2); TTa:=TTa+((K[2,j])/2); wz1:=wz1+((K[3,j])/2);
TANG:=TANG+((K[4,j])/2); y:=y+((K[5,j])/2); x:=x+((K[6,j])/2);
m:=m+((K[7,j])/2);
if (j=2) or (j=4) then begin t:=t+sh*0.5 end;
{writeln (n,' ',V:4:4 ,' ',TTa:4:4 ,' ',H:4:4 ,' ',Fi:4:4,' ',sh,' ',t);}
{writeln(t);
writeln(f[1],f[3],TANG:4,TTa:4,' ',V:4);}
f[1]:=((R*cos(ALFA))/m)-(((Cx0+Ax*ALFA*ALFA)*q*Sm)/m)-g*sin(TTa);
f[2]:=(R*sin(ALFA))/(m*V)+(Cya*q*Sm*ALFA)/(m*V)-((g*cos(TTa))/V);
f[3]:=((mza*ALFA+((mzw*wz1*ldl)/V)+mzd1*de1)*q*Sm*ldl/Iz1);
f[4]:=wz1;
f[5]:=V*sin(TTa);
f[6]:=V*cos(TTa);
f[7]:=-mc;
ALFA:=TANG-TTa;
end;
for s:=1 to 7 do begin
ks[s]:=1/6*(K[s,1]+K[s,2]+K[s,3]+K[s,4]);
{writeln(t,ks[s]);}
end;
V:=V1+ks[1]; TTa:=TTa1+ks[2]; wz1:=wz11+ks[3]; TANG1:=TANG+ks[4];
y:=y1+ks[5]; x:=x1+ks[6]; m:=m1+ks[7]; t:=tp+sh;
ALFA:=TANG-TTa;
Vm[n]:=V; TTam[n]:=TTa; xm[n]:=x; ym[n]:=y; tm[n]:=t;
wz1m[n]:=wz1; TANGm[n]:=TANG; ALFAm[n]:=ALFA; mm[n]:=m;
until (t=5) or (n=50) ;
Assign(c,'LRAB4.DAT');
rewrite(c);
writeln('ЊЂ‘‘€‚› ‚ђ…Њџ ‘ЉЋђЋ‘’њ “ѓЋ‹ ЌЂЉ‹ЋЌЂ “ѓ‹Ћ‚Ђџ ‘ЉЋђЋ‘’њ ЊЂ‘‘Ђ ');
writeln(0,' ', 0,' ',25,' ',100,' ',0,' ',0,' ',550 );
writeln(c,'ЊЂ‘‘€‚› ‚ђ…Њџ ‘ЉЋђЋ‘’њ “ѓЋ‹ ЌЂЉ‹ЋЌЂ “ѓ‹Ћ‚Ђџ ‘ЉЋђЋ‘’њ ЊЂ‘‘Ђ ');
writeln(c,0,' ', 0,' ',25,' ',0,' ',0,' ',0,' ',550 );
for l:=1 to n do begin
{if l/3=l div 3 then begin{l<=138) and (l>=142) then begin;}
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.