1976国际标准大气是由美国标准大气发展而来,世界上现有的大气模型有几十种,不同的版本其数据采集地点、高度范围都有很大不同,NASA对不同模型的选用有指导手册,发布在AIAA,在网上可以找到。通常我们所说的1976国际标准大气指的是其86km以下部分,主要是对流层和平流层,超出这两层的部分空气密度很小,温差由于辐射很大、气体状态也不稳定。此函数的作用是输入高度,计算空气密度、气压、温度、声速,采用插值计算方法,在matlab航空航天库部分提供了各种大气模型函数,可以根据需求调用。
function [airDens,airPress,temp,soundSpeed]=Atmos(geomAlt)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 1976 U.S Standard Atmosphere Interpolation %
% Note: Function does not extrapolate outside altitude range %
% Input: Geometric Altitude,m(positive up) %
% Output:Air Density,kg/m³,Air Pressure,N/㎡ %
% Air Temperature,K, Speed of Sound,m/s %
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Values Tabulated by Geomeyric Altitude
Z=[-10,0,2500,5000,10000,11100,15000,20000,47400,51000];
H=[-10,0,2499,4996,9984,11081,14965,19937,47049,50594];
%real value
ppo=[1,1,0.737,0.533,0.262,0.221,0.12,0.055,0.0011,0.0007];
%pressure
rro=[1,1,0.781,0.601,0.338,0.293,0.159,0.073,0.0011,0.0007];
%density
T=[288.15,288.15,271.906,255.676,223.252,216.65,216.65,216.65,270.65,270.65];
%temperature
a=[340.294,340.294,330.563,320.545,299.532,295.069,295.069,295.069,329.799,329.799];
%soundspeed
R=6367435;
Dens=1.225;
Pres=101325;
%Geopotential Altitude,m
geopAlt=R*geomAlt/(R+geomAlt);
if(geopAlt<1)geopAlt=1;end;
%initial value
airPress=0; airDens=0;
%Linear Interpolation in Geopotential Altitude
%for Temperature and Speed of Sound
temp=interp1(Z,T,geopAlt);
soundSpeed=interp1(Z,a,geopAlt);
% Exponential Interpolation in Geometric Altitude for Air Density and
% Pressure
for k=2:10
if geomAlt<=Z(k)
betap=log(ppo(k)/ppo(k-1))/(Z(k)-Z(k-1));
betar=log(rro(k)/rro(k-1))/(Z(k)-Z(k-1));
airPress=Pres*ppo(k-1)*exp(betap*(geomAlt-Z(k-1)));
airDens=Dens*rro(k-1)*exp(betar*(geomAlt-Z(k-1)));
break
end
end
matlab中有国际标准大气模型函数 atmosisa
atmosisa - Use International Standard Atmosphere model
This MATLAB function implements the mathematical representation of the
International Standard Atmosphere values for ambient temperature, pressure,
density, and speed of sound for the input geopotential altitude.
[T, a, P, rho] = atmosisa(height)