资源简介
大气参数matlab计算代码,只需输入高度参数即可,计算可得到某一高度下的大气参数
代码片段和文件信息
% function [t p rho a] = atmosphere(height unit)
% Richard Rieber
% rrieber@gmail.com
% Updated 3/17/2006
%
% Function to determine temperature pressure density and speed of sound
% as a function of height. Function based on US Standard Atmosphere of
% 1976. All calculations performed in metric units but converted to
% english if the user chooses. Assuming constant gravitational
% acceleration.
%
% Input o height (feet or meters) can be a 1-dimensional vector
% o unit - optional; default is metric;
% boolean True for english units False for metric
% Output o t - Temperature (K (default) or R)
% o p - Pressure (pa (default) or psi)
% o rho - Density (kg/m^3 (default) or lbm/ft^3)
% o a - speed of sound (m/s (default) or ft/s)
function [t p rho a] = atmosphere(heightunit)
if nargin < 1
error(‘Error: Not enough inputs: see help atmosphere.m‘)
elseif nargin > 2
error(‘Error: Too few inputs: see help atmosphere.m‘)
elseif nargin == 2
unit = logical(unit);
elseif nargin == 1
unit = 0;
end
for j = 1:length(height)
if height(j) < 0
error(‘Height should be greater than 0‘)
end
m2ft = 3.2808;
K2R = 1.8;
pa2psi = 1.450377377302092e-004;
kg2lbm = 2.20462262184878;
if unit
height(j) = height(j)/m2ft;
end
g = 9.81; %Acceleration of gravity (m/s/s)
gamma = 1.4; %Ratio of specific heats
R = 287; %Gas constant for air (J/kg-K)
%Altitudes (m)
Start = 0;
H1 = 11000;
H2 = 20000;
H3 = 32000;
H4 = 47000;
H5 = 51000;
H6 = 71000;
H7 = 84852;
%Lapse Rates (K/m)
L1 = -0.0065;
L2 = 0;
L3 = .001;
L4 = .0028;
L5 = 0;
L6 = -.0028;
L7 = -.002;
%Initial Values
T0 = 288.16; %(k)
P0 = 1.01325e5; %(pa)
Rho0 = 1.225; %(kg/m^3)
if height(j) <= H1
[TNew PNew RhoNew] = Gradient(Start height(j) T0 P0 Rho0 L1);
elseif height(j) > H1 & height(j) <= H2
[TNew PNew RhoNew] = Gradient(Start H1 T0 P0 Rho0 L1);
[TNew PNew RhoNew] = IsoThermal(H1 height(j) TNew PNew RhoNew);
elseif height(j) > H2 & height(j) <= H3
[TNew PNew RhoNew] = Gradient(Start H1 T0 P0 Rho0 L1);
[TNew PNew RhoNew] = IsoThermal(H1 H2 TNew PNew RhoNew);
[TNew PNew RhoNew] = Gradient(H2 height(j) TNew PNew RhoNew L3);
elseif height(j) > H3 & height(j) <= H4
[TNew PNew RhoNew] = Gradient(Start H1 T0 P0 Rho0 L1);
[TNew PNew RhoNew] = IsoThermal(H1 H2 TNew PNew RhoNew);
相关资源
- matlab_OFDM调制解调(来自剑桥大学)
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
评论
共有 条评论