-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathAtmos.m
47 lines (41 loc) · 1.66 KB
/
Atmos.m
1
% function [airDens,airPres,temp,soundSpeed] = Atmos(geomAlt)% 1976 U.S. Standard Atmosphere Interpolation for FLIGHT% September 1, 2006 % ===============================================================% Copyright 2006 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 = [-10,0,2500,5000,10000,11100,15000,20000,47400,51000]; H = [-10,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