用matlab写出大气密度和温度随高度变化的规律函数
时间: 2023-08-09 19:05:18 浏览: 383
标准大气模型函数Matlab
5星 · 资源好评率100%
大气密度和温度随高度变化的规律可以用国际标准大气模型(ISA)来描述。ISA模型将大气分成了7层,每层的温度和压强变化规律不同,因此大气密度也会随高度变化而发生变化。以下是用MATLAB编写大气密度和温度随高度变化的规律函数的示例代码:
```matlab
function [temp, rho] = atmosisa(h)
% h: 高度
% temp: 温度
% rho: 大气密度
% 初始参数
R = 287; % 气体常数
g0 = 9.80665; % 重力加速度
gamma = 1.4; % 比热比
% ISA模型参数
h0 = [0, 11000, 20000, 32000, 47000, 51000, 71000]; % 每层的高度
T0 = [288.15, 216.65, 216.65, 228.65, 270.65, 270.65, 214.65]; % 每层的温度
p0 = [101325, 22632.1, 5474.89, 868.02, 110.91, 66.94, 3.96]; % 每层的压强
rho0 = [1.225, 0.36391, 0.08803, 0.01322, 0.00143, 0.00086, 0.000064]; % 每层的密度
% 判断高度所处的层数
if h <= h0(1)
temp = T0(1);
rho = rho0(1);
elseif h <= h0(2)
temp = T0(1) - (h - h0(1)) * 0.0065;
p = p0(1) * (temp / T0(1))^(-g0 / R / 0.0065);
rho = p / R / temp;
elseif h <= h0(3)
temp = T0(2);
p = p0(2) * exp(-g0 / R / temp * (h - h0(2)));
rho = p / R / temp;
elseif h <= h0(4)
temp = T0(3) + (h - h0(3)) * 0.001;
p = p0(3) * (temp / T0(3))^(-g0 / R / 0.001);
rho = p / R / temp;
elseif h <= h0(5)
temp = T0(4) + (h - h0(4)) * 0.0028;
p = p0(4) * (temp / T0(4))^(-g0 / R / 0.0028);
rho = p / R / temp;
elseif h <= h0(6)
temp = T0(5);
p = p0(5) * exp(-g0 / R / temp * (h - h0(5)));
rho = p / R / temp;
else
temp = T0(6) - (h - h0(6)) * 0.0028;
p = p0(6) * (temp / T0(6))^(-g0 / R / 0.0028);
rho = p / R / temp;
end
end
```
该函数的输入为高度,输出为该高度下的温度和大气密度。函数根据输入高度所处的层数,计算出该高度下的温度和压强,并据此计算出大气密度。函数中的参数和公式均参考ISA模型。
阅读全文