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 ;
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.