% Copyright Ashish Tewari (c) 2006
function Y = atmosphere(h, vel, CL)
R = 287;
go = 9.806;
Na = 6.0220978e23;
sigma = 3.65e-10;
S = 110.4;
Mo = 28.964;
To = 288.15;
Po = 1.01325e5;
re = 6378.14e3;
Beta = 1.458e-6;
gamma = 1.405;
B = 2/re;
layers = 21;
Z = 1e3*[0.00; 11.0191; 20.0631; 32.1619; 47.3501; 51.4125;
71.8020; 86.00; 100.00; 110.00; 120.00; 150.00; 160.00; 170.00; 190.00;
230.00; 300.00; 400.00; 500.00; 600.00; 700.00; 2000.00];
T = [To; 216.65; 216.65; 228.65; 270.65; 270.65; 214.65; 186.946;
210.65; 260.65; 360.65; 960.65; 1110.60; 1210.65; 1350.65; 1550.65;
1830.65; 2160.65; 2420.65; 2590.65; 2700.00; 2700.0];
M = [Mo; 28.964; 28.964; 28.964; 28.964; 28.964; 28.962; 28.962; 28.880;
28.560; 28.070; 26.920; 26.660; 26.500; 25.850; 24.690;
22.660; 19.940; 17.940; 16.840; 16.170; 16.17];
LR = [-6.5e-3; 0; 1e-3; 2.8e-3; 0; -2.8e-3; -2e-3;
1.693e-3; 5.00e-3; 1e-2; 2e-2; 1.5e-2; 1e-2; 7e-3; 5e-3; 4e-3;
3.3e-3; 2.6e-3; 1.7e-3; 1.1e-3; 0];
rho0 = Po/(R*To);
P(1) = Po;
T(1) = To;
rho(1) = rho0;
for i = 1:layers
if ~(LR(i) == 0)
C1 = 1 + B*( T(i)/LR(i) - Z(i) );
C2 = C1*go/(R*LR(i));
C3 = T(i+1)/T(i);
C4 = C3^(-C2);
C5 = exp( go*B*(Z(i+1)-Z(i))/(R*LR(i)) );
P(i + 1) = P(i)*C4*C5;
C7 = C2 + 1;
rho(i + 1) = rho(i)*C5*C3^(-C7);
else
C8 = -go*(Z(i+1)-Z(i))*(1 - B*(Z(i + 1) + Z(i))/2)/(R*T(i));
P(i+1) = P(i)*exp(C8);
rho(i+1) = rho(i)*exp(C8);
end
end
for i = 1:21
if h < Z(i+1)
if ~(LR(i)== 0)
C1 = 1 + B*( T(i)/LR(i) - Z(i) );
TM = T(i) + LR(i)*(h - Z(i));
C2 = C1*go/(R*LR(i));
C3 = TM/T(i);
C4 = C3^(-C2);
C5 = exp( B*go*(h - Z(i))/(R*LR(i)) );
PR = P(i)*C4*C5;
C7 = C2 + 1;
rhoE = C5*rho(i)*C3^(-C7);
else
TM = T(i);
C8 = -go*(h - Z(i))*(1 - (h + Z(i))*B/2)/(R*T(i));
PR = P(i)*exp(C8);
rhoE = rho(i)*exp(C8);
end
MOL = M(i) + ( M(i+1)-M(i) )*( h - Z(i) )/( Z(i+1) - Z(i) );
TM = MOL*TM/Mo;
asound = sqrt(gamma*R*TM);
MU = Beta*TM^1.5/(TM + S);
KT = 2.64638e-3*TM^1.5/(TM + 245.4*10^(-12/TM));
Vm = sqrt(8*R*TM/pi);
m = MOL*1e-3/Na;
n = rhoE/m;
F = sqrt(2)*pi*n*sigma^2*Vm;
L = Vm/F;
Mach = vel/asound;
T0 = TM*(1 + (gamma - 1)*Mach^2/2);
MU0 = Beta*T0^1.5/(T0 + S);
RE0 = rhoE*vel*CL/MU0;
RE = rhoE*vel*CL/MU;
Kn = L/CL;
Kno = 1.25*sqrt(gamma)*Mach/RE0;
if Kn >= 10
d = 1;
elseif Kn <= 0.01
d = 2;
else
d = 3;
end
Y = [TM; rhoE; Mach; Kn; asound; d; PR; MU; RE];
return;
end
end
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
35544989flight-dynamics-matlab-model.zip (61个子文件)
www.imdn.cn.txt 366B
大气层内航天器飞行动力学matlab仿真模型
quaternion.m 707B
spacesymmthrust.m 643B
rotmrp.m 165B
seasat.mdl 17KB
quatevolve.m 190B
lambert.m 690B
euler313evolve.m 264B
run_accelclimb.m 631B
supmaneuver.m 2KB
disturb.m 160B
runreentry.m 577B
kepler.m 276B
spacerotation.m 372B
gravitygrad.m 596B
rigfighter.mdl 13KB
gravity.m 467B
rigspace.mdl 12KB
stumpff.m 173B
perturb.m 227B
cowell.m 283B
spacethruster.m 509B
spaceimpulse.m 462B
skew.m 99B
eulerevolve.m 254B
maneuver.m 2KB
encke.m 544B
takeoff.m 2KB
rotevolve.m 246B
trajE.m 947B
rotation.m 357B
geos3.mdl 29KB
orbit.m 386B
Nstage.m 383B
rotquat.m 187B
engine.m 1KB
relative.m 957B
aircoupled.m 2KB
run_airflight3dof.m 699B
rgspace.mdl 14KB
spacesymm.m 322B
runtakeoff.m 663B
spacevscmg.m 728B
mrpevolve.m 197B
accelclimb.m 2KB
liftentry.m 2KB
lateralentry.m 1KB
pitchup.m 1013B
liftddf.m 376B
keplerhyp.m 235B
quatrot.m 196B
reentry.m 1KB
parasite.m 443B
rgfighter.mdl 14KB
atmosphere.m 3KB
res3body.m 290B
rocket.m 2KB
vanguardlqg.mdl 21KB
rgyro.mdl 9KB
airflight3dof.m 1KB
www.imdn.cn.html 66B
共 61 条
- 1
资源评论
- qq_348848712024-04-09资源不错,内容挺好的,有一定的使用价值,值得借鉴,感谢分享。
- qq_202266852023-04-18资源不错,对我启发很大,获得了新的灵感,受益匪浅。
- ccd1052023-12-29支持这个资源,内容详细,主要是能解决当下的问题,感谢大佬分享~
且行好事莫问前程
- 粉丝: 2w+
- 资源: 443
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功