function [airDens,airPres,temp,soundSpeed] = Atmos(geomAlt) % 1976 U.S. Standard Atmosphere Interpolation for FLIGHT % June 12, 2015 % =============================================================== % Copyright 2006-15 by ROBERT F. STENGEL. All rights reserved. % Note: Function does not extrapolate outside altitude range % Input: Geometric Altitude, m (positive up) % Output: Air Density, kg/m^3 % Air Pressure, N/m^2 % Air Temperature, K % Speed of Sound, m/s % Values Tabulated by Geometric Altitude Z = [-1000,0,2500,5000,10000,11100,15000,20000,47400,51000]; H = [-1000,0,2499,4996,9984,11081,14965,19937,47049,50594]; ppo = [1,1,0.737,0.533,0.262,0.221,0.12,0.055,0.0011,0.0007]; rro = [1,1,0.781,0.601,0.338,0.293,0.159,0.073,0.0011,0.0007]; T = [288.15,288.15,271.906,255.676,223.252,216.65,216.65,216.65, ... 270.65,270.65]; a = [340.294,340.294,330.563,320.545,299.532,295.069,295.069, ... 295.069,329.799,329.799]; R = 6367435; % Mean radius of the earth, m Dens = 1.225; % Air density at sea level, Kg/m^3 Pres = 101300; % Air pressure at sea level, N/m^2 % Geopotential Altitude, m geopAlt = R * geomAlt / (R + geomAlt); % 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)); airPres = Pres * ppo(k-1) * exp(betap * (geomAlt - Z(k-1))); airDens = Dens * rro(k-1) * exp(betar * (geomAlt - Z(k-1))); break end end