Программа зависимости дисперсии перегрузки. Подпрограмма расчета полиномов Ay(p) и By(p), Ax(p) и Bx(p)

Страницы работы

Содержание работы

7. Текст программы

7.1 Главная программа:

clear all;

Ktet = 3.5;

Komz = 3.0;

sigmay = 1.68;

sigmax = 2.04;

L = 980;

M = [0.4, 0.6, 0.86, 0.9];

H = [0 2000 4000 6000 8000 10000 12000];

switch 1 %Переключатель 1,2,3,4,5 и т.д.

case 1 %Зависимость дисперсии перегрузки от масштаба турбулентности L (Wy):

      j = 3;

      k = 3;

      L=0:20:1100;

   for i=1:1:56

      [A, B] = polinom_y (j, k, M, Ktet, Komz, sigmay, L(i));

      DD(i) = dispersion(A,B,6);

      end;

   plot (L, DD), grid;

      title('D(L) H=4000 M=0.6 (Wy)');

      xlabel('L');

      ylabel('D');

case 2 %Зависимость дисперсии перегрузки от числа М полета (Wy):

   for  j = 1:1:4

   k=3;

      [A, B] = polinom_y (j, k, M, Ktet, Komz, sigmay, L);

      DD(j) = dispersion(A,B,5);

      end;

   plot(M,DD),grid;

     title('D(M) H=4000 M=0.4:0.1:0.9 (Wy) ');

      xlabel('M');

      ylabel('D');

         case 3 %Зависимость дисперсии перегрузки от высоты полета H (Wy):

         for k = 1:1:7

            j=3;

      [A, B] = polinom_y (j, k, M, Ktet, Komz, sigmay, L);

      DD(k) = dispersion(A,B,5);

      end;

         plot(H,DD),grid;

     title('D(H) H=0:2000:12000 M=0.6 (Wy) ');

      xlabel('H');

      ylabel('D');

case 4 %Зависимостьдисперсииперегрузкиоткоэффициентов Komz и Ktet (Wy):

      k=3;

   j=3;

   Ktet=0:0.1:5;

   Komz=0:0.1:5;

         for kt_i=1:51

      for ko_i=1:51 

      [A, B] = polinom_y (j, k, M, Ktet(kt_i), Komz(ko_i), sigmay, L);

     if kt_i ==1

     DD(kt_i, ko_i) = dispersion(A,B,4);

     else

      DD(kt_i, ko_i) = dispersion(A,B,5);

         end;

     end;

       end;

   surf(Komz, Ktet, DD),grid;

     title('D(Komz, Ktet) H=4000 M=0.6 (Wy)');

      xlabel('Komz');

      ylabel('Ktet');

      zlabel('D');

case 5 %Зависимость дисперсии перегрузки от sigmay (Wy):

      k=3;

   j=3;

   sigmay=0:0.1:5;

         for sig_i=1:51

      [A, B] = polinom_y (j, k, M, Ktet, Komz, sigmay(sig_i), L);

      DD(sig_i) = dispersion(A,B,5);

      end;

   plot(sigmay,DD),grid;

     title('D(sigmay) H=4000 M=0.6 (Wy)');

      xlabel('sigmay');

      ylabel('D');

case 6 %Зависимостьдисперсииперегрузкиот sigmax (Wx):

      k=3;

   j=3;

   sigmax=0:0.1:5;

      for sig_i=1:51

      [Ax, Bx] = polinom_x (j, k, M, Ktet, Komz, sigmax(sig_i), L);

      DD(sig_i) = dispersion(Ax,Bx,4);

      end;

   plot(sigmax,DD),grid;

      title('D(sigmax) H=4000 M=0.6 (Wx)');

      xlabel('sigmax');

      ylabel('D');

case 7 %Зависимость дисперсии перегрузки от числа М полета (Wx):

   for j = 1:4

      k=3;

      [Ax, Bx] = polinom_x (j, k, M, Ktet, Komz, sigmax, L);

      DD(j) = dispersion(Ax,Bx,4)

      end;

   plot(M,DD),grid;

     title('D(M) H=4000 M=0.4:0.1:0.9 (Wx)');

      xlabel('M');

      ylabel('D');

case 8 %Зависимость дисперсии перегрузки от высоты полета H (Wx):

   for k = 1:7

   j=3;

      [Ax, Bx] = polinom_x (j, k, M, Ktet, Komz, sigmay, L);

      DD(k) = dispersion(Ax,Bx,4);

      end;

   plot(H,DD),grid;

     title('D(H) H=0:2000:12000 M=0.6 (Wx)');

      xlabel('H');

      ylabel('D');

case 9 %Зависимость дисперсии перегрузки от масштаба турбулентности L (Wx):

      j = 3;

      k = 3;

      L=0:20:1100;

      for i=1:1:56

      [Ax, Bx] = polinom_x (j, k, M, Ktet, Komz, sigmay, L(i));

   DD(i) = dispersion(Ax,Bx,4);

      end

   plot (L, DD);

     title('D(L) H=4000 M=0.6 (Wx)');

      xlabel('L');

      ylabel('D');   

case 10 %Зависимостьдисперсииперегрузкиоткоэффициентов Komz и Ktet (Wx):

      k=3;

   j=3;

   Ktet=0:0.1:5;

   Komz=0:0.1:5;

         for kt_i=1:51

      for ko_i=1:51 

      [Ax, Bx] = polinom_x (j, k, M, Ktet(kt_i), Komz(ko_i), sigmax, L);

      DD(kt_i, ko_i) = dispersion(Ax,Bx,4);

            end;

            end;

   surf(Komz, Ktet, DD),grid;

     title('D(Komz, Ktet) H=4000 M=0.6 (Wx)');

      xlabel('Komz');

      ylabel('Ktet');        

zlabel('D');

end;

7.2 Подпрограмма расчета полиномов Ay(p) и By(p):

function [A, B] = polinom_y(j, k, M, Ktet, Komz, sigmay, L)

  pi = 3.141592654;

  m = 195000;

  xt = 0.4;

  S = 330;

  ba = 7;

  Iz = 29000000;

  g = 9.81;

  xf = [0.59, 0.605, 0.74, 0.8];

  mzom = [-12.34, -12.35, -13.55, -13.7];

  Cyalf = [5.75, 5.775, 6.65, 6.95];

  mzat = [-4.5, -4.575, -4.35, -4.15];

  mzd = [-1.225, -1.25, -1.058, -1.025];

  ro = [1.23, 1.01, 0.819, 0.66, 0.526, 0.414, 0.312];

  Azv = [340.4, 332.7, 324.7, 316.6, 308.2, 300., 295.2];

  V=M(j)*Azv(k);

  mza=(xt-xf(j))*Cyalf(j);

  q=ro(k)*(V^2)/2;

  Kz=q*S*ba/Iz;   

  MZDelV=Kz*mzd(j);

  MZOmZet=Kz*mzom(j)*(ba/V);

  MZAlfToch=Kz*mzat(j)*(ba/V);

  MZAlfa=Kz*mza;

  Cy_gp=m*g/(q*S);

  alfa=Cy_gp/Cyalf(j); %alfa=alfa_gp-alfa0

  a1= alfa;

  a2=2/V-alfa*(MZOmZet+ MZDelV*Komz);

  a3=-2/V*( MZOmZet+ MZDelV*Komz)-alfa* MZDelV*Ktet;

  a4=-(2/V)*MZDelV*Ktet;

  b1=alfa;

  b2= MZAlfToch+2/V-alfa* MZDelV*Komz;

  b3= MZAlfa-2/V* MZDelV*Komz-alfa* MZDelV*Komz;

  b4=-(2/V)* MZDelV*Ktet;

  k1=((sigmay^2)*L)/(2*pi*V);

  k2=L/V;

  B(1)=0;

  B(2)= sqrt(k1*3)*k2*b1;

  B(3)= (sqrt(k1)*b1+sqrt(k1*3)*k2*b2);

  B(4)=(sqrt(k1)*b2+sqrt(k1*3)*k2*b3);

  B(5)=sqrt(k1)*b3+ sqrt(k1*3)*k2*b4;

  B(6)= sqrt(k1)*b4;

  A(1)=(k2^2)*V*a1;

  A(2)=(2*k2*V*a1+(k2^2)*V*a2);

  A(3)=(V*a1+2*k2*V*a2+(k2^2)*V*a3);

  A(4)=V*a2+2*k2*V*a3+(k2^2)*V*a4;

  A(5)=(V*a3+2*k2*V*a4);

  A(6)=V*a4;

7.3 Подпрограмма расчета полиномов Ax(p) и Bx(p):

    function [Ax, Bx] = polinom_x(j, k, M, Ktet, Komz, sigmax, L)

  pi = 3.141592654;

  m = 195000;

  xt = 0.4;

  S = 330;

  ba = 7;

  Iz = 29000000;

  g = 9.81;

  xf = [0.59, 0.605, 0.74, 0.8];

  Cyalf = [5.75, 5.775, 6.65, 6.95];

  mzom = [-12.34, -12.35, -13.55, -13.7];

  mzat = [-4.5, -4.575, -4.35, -4.15];

  mzd = [-1.225, -1.25, -1.058, -1.025];

  ro = [1.23, 1.01, 0.819, 0.66, 0.526, 0.414, 0.312];

  Azv = [340.4, 332.7, 324.7, 316.6, 308.2, 300., 295.2];

  V=M(j)*Azv(k);

  mza=(xt-xf(j))*Cyalf(j);

  q=ro(k)*(V^2)/2;

  Kz=q*S*ba/Iz;   

  MZDelV=Kz*mzd(j);

  MZOmZet=Kz*mzom(j)*(ba/V);

  MZAlfToch=Kz*mzat(j)*(ba/V);

  MZAlfa=Kz*mza;

  Cy_gp=m*g/(q*S);

  alfa=Cy_gp/Cyalf(j); %alfa=alfa_gp-alfa0

  a1= alfa;

  a2=2/V-alfa*(MZOmZet+ MZDelV*Komz);

  a3=-2/V*( MZOmZet+ MZDelV*Komz)-alfa* MZDelV*Ktet;

  a4=-(2/V)*MZDelV*Ktet;

  c1=-(g/V)*alfa;

  c2=(g*alfa/V)* MZDelV*Komz;

  c3=(g*alfa/V)* MZDelV*Ktet;

  c4=0;

  k2=L/V;

  k3=((sigmax^2)*L)/(pi*V);

  Bx(1)=k2*c1;

  Bx(2)=c1+k2*c2;

  Bx(3)=c2+k2*c3;

  Bx(4)=c3+k2*c4;

  Bx(5)=c4;

  Ax(1)=(sqrt(k3))*a1;

  Ax(2)=(sqrt(k3))*a2;

  Ax(3)=(sqrt(k3))*a3;

  Ax(4)=(sqrt(k3))*a4;

7.4 Подпрограммарасчетадисперсии:

function res = dispersion(A, B, N)

pi = 3.141592654;

a = A; b = B;

c = 0;

ier = 0;

if a(1) <= 0

res = NaN;

ier = 1;

return;

end;

for k = 1:1:N

if a(k + 1) > 0

alf = a(k) / a(k + 1);

bet = b(k) / a(k + 1);

c = c + bet^2 / alf;

k1 = k + 2;      

if (k1-N) <= 0

for i = k1:2:N;

a(i) = a(i) - alf * a(i + 1);           

b(i) = b(i) - bet * a(i + 1);

end;

end;

else

res = NaN;

ier = 1;

return;

end;

end;

res = pi * c ;

Похожие материалы

Информация о работе

Тип:
Расчетно-графические работы
Размер файла:
49 Kb
Скачали:
0