.


:




:

































 

 

 

 


.

- ,

 

 

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.

 



<== | ==>
. 8 |
:


: 2017-02-11; !; : 215 |


:

:

.
==> ...

1042 - | 899 -


© 2015-2024 lektsii.org - -

: 0.045 .