- ,
1. .
.
˳ :
,
Ψ .
g- ( , );
b ( , );
δ .
δ .
3. .
( ) . , , , . , .
, , 䳿 . ˳ OX OY, OZ.
, , , , - .
, .
, , :
Yi+1= Yi + iΔt,
Δt .
4. ϳ .
S | 201.45 2 | |
L | 37.55 | |
G | 73000 | |
Ix | 170000 2 | |
Iy | 800000 2 |
- -154-.
.
Delphi 7 Pascal.
:
procedure TForm1.Button2Click(Sender: TObject); {}
var DT, count, q: real;
m, de, dn, ny, alfa: real;
C: array [1..6] of real;
A: array [1..7] of real;
B: array [1..7] of real;
ST: array [1..23] of real;
i, j: integer;
X: array [1..6] of real;
Y: array [1..6] of real;
begin
if(ComboBox1.Text='')
|
|
then
begin
ShowMessage(' - ');
end;
Series1.Clear; Series2.Clear; Series3.Clear; Series4.Clear;
st[1]:= 97.2;{V0}
st[2]:= 500;{H0}
st[3]:= 0.119;{ph}
st[4]:= 338.36;{ah}
st[5]:= -0.141;
st[6]:= -0.1518;
st[7]:= -0.071;
st[8]:= -0.8136;
st[9]:= -0.02;
st[10]:= -0.151;
st[11]:= -0.16;
st[12]:= -0.56;
st[13]:= -0.1146;
st[14]:= -0.07;
st[15]:= 0;
st[16]:= 0.026;
st[17]:= -0.255;
st[18]:= -5.78;
st[19]:= 201.45;{ S}
st[20]:= 37.55;{ l}
st[21]:= 73000;{ G}
st[22]:= 170000;{ Ix}
st[23]:= 800000;{ Iy}
DT:= 0.05;
case ComboBox1.ItemIndex of
1: begin dN:= -10; dE:= 0; end;
2: begin dN:= 0; de:= -1; end;
end;
j:=0;
while j<=6 do
begin
X[j]:=0;
Y[j]:=0;
j:=j+1;
end;
q:= ST[3]*ST[1]*ST[1]/2;
alfa:= 57.3*(ST[21]-ST[17]*ST[19]*q)/ST[18]/ST[19]/q;
m:= ST[21]/9.8;
C[6]:= ST[1]/57.3;
A[1]:= -ST[5]/ST[23]*ST[3]*ST[1]/4*ST[19]*ST[20]*ST[20];
A[2]:= -ST[6]/ST[23]*ST[3]*ST[1]*ST[1]/2*ST[19]*ST[20];
A[3]:= -ST[7]/ST[23]*ST[3]*ST[1]*ST[1]/2*ST[19]*ST[20];
A[4]:= -ST[8]/m*ST[3]*ST[1]/2*ST[19];
A[5]:= -ST[9]/ST[22]*ST[3]*ST[1]*ST[1]/2*ST[19]*ST[20];
A[6]:= -ST[10]/ST[22]*ST[3]*ST[1]/4*ST[19]*ST[20]*ST[20];
A[7]:= -ST[11]/m*ST[3]*ST[1]/2*ST[19];
B[1]:= -ST[12]/ST[22]*ST[3]*ST[1]/4*ST[19]*ST[20]*ST[20];
B[2]:= -ST[13]/ST[22]*ST[3]*ST[1]*ST[1]/2*ST[19]*ST[20];
B[3]:= -ST[14]/ST[22]*ST[3]*ST[1]*ST[1]/2*ST[19]*ST[20];
B[4]:= -9.8/ST[1]*COS(alfa);
B[4]:= 0.05;
B[5]:= -ST[15]/ST[23]*ST[3]*ST[1]*ST[1]/2*ST[19]*ST[20];
B[6]:= -ST[16]/ST[23]*ST[3]*ST[1]/4*ST[19]*ST[20]*ST[20];
B[7]:= SIN(alfa);
B[7]:= 0.10;
Edit1.Text:= FloatToStrF(A[1],ffGeneral,5,3);
Edit2.Text:= FloatToStrF(A[2],ffGeneral,5,3);
Edit3.Text:= FloatToStrF(A[3],ffGeneral,5,3);
Edit4.Text:= FloatToStrF(A[4],ffGeneral,5,3);
Edit5.Text:= FloatToStrF(A[5],ffGeneral,5,3);
Edit6.Text:= FloatToStrF(A[6],ffGeneral,5,3);
Edit7.Text:= FloatToStrF(A[7],ffGeneral,5,3);
Edit8.Text:= FloatToStrF(B[1],ffGeneral,5,3);
Edit9.Text:= FloatToStrF(B[2],ffGeneral,5,3);
Edit10.Text:= FloatToStrF(B[3],ffGeneral,5,3);
Edit11.Text:= FloatToStrF(B[4],ffGeneral,5,3);
Edit12.Text:= FloatToStrF(B[5],ffGeneral,5,3);
Edit13.Text:= FloatToStrF(B[6],ffGeneral,5,3);
Edit14.Text:= FloatToStrF(B[7],ffGeneral,5,3);
Edit15.Text:= FloatToStrF(C[6],ffGeneral,5,3);
StringGrid1.Cells[0,0]:= 'T';
StringGrid1.Cells[1,0]:= 'De';
StringGrid1.Cells[2,0]:= 'Dn';
StringGrid1.Cells[3,0]:= 'Wx';
StringGrid1.Cells[4,0]:= 'Wy';
StringGrid1.Cells[5,0]:= 'betta';
StringGrid1.Cells[6,0]:= 'gama';
StringGrid1.Cells[7,0]:= 'psi';
StringGrid1.Cells[8,0]:= 'z';
i:=1;
while i<=601 do
begin
if i>=16 then dn:=0;
count:= count + DT;
X[1]:= Y[2];
X[2]:= -A[1]*X[1]-B[6]*X[3]-A[2]*Y[5]-A[3]*DN-B[5]*DE;
X[3]:= Y[4];
X[4]:= -A[6]*X[1]-B[1]*X[3]-B[2]*Y[5]-A[5]*DN-B[3]*DE;
X[5]:= B[7]*X[3]+X[1]+B[4]*Y[3]-A[4]*Y[5]-A[7]*DN;
X[6]:= -C[6]*(Y[1]-Y[5]);
j:=1;
while j<=6 do
begin
Y[J]:=Y[J]+X[J]*DT;
j:=j+1;
end;
StringGrid1.Cells[0,i]:= FloatToStr(count);
StringGrid1.Cells[1,i]:= FloatToStr(de);
StringGrid1.Cells[2,i]:= FloatToStr(dn);
|
|
StringGrid1.Cells[3,i]:= FloatToStr(Y[4]);
StringGrid1.Cells[4,i]:= FloatToStr(Y[2]);
StringGrid1.Cells[5,i]:= FloatToStr(Y[5]);
StringGrid1.Cells[6,i]:= FloatToStr(Y[3]);
StringGrid1.Cells[7,i]:= FloatToStr(Y[1]);
StringGrid1.Cells[8,i]:= FloatToStr(Y[6]);
StringGrid1.RowCount:=StringGrid1.RowCount+1;
Series1.AddXY(count,Y[1]);
Series2.AddXY(count,Y[5]);
Series3.AddXY(count,Y[3]);
Series4.AddXY(count,Y[6]);
i:=i+1;
end;
StringGrid1.RowCount:=StringGrid1.RowCount-1;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.Close;
end;
end.
.
:
: :
.
, , :
, :
- , .
1. -154. .: , 1983, 89 .
2. ( . ..). .: , 1977, 416 .
3. .. -154. .: ,1985. 263 .
4. .. , . : , 1991, 272 .
5. .., .. : . 2- ., . . .: , 1984. 261 .
6. .., .. : . . .: . . . -. ., 1989. 432 .
7. .. . . . , 1971. 464.