【小白本白】使用MATLAB计算公式,并把结果输出到Excel

【前情提要】小白从未使用过MATLAB软件,刚刚上手,尝试简化一些日常的计算工作。因为我知道自己写的代码非常冗长也很呆,并且自己对软件使用十分不熟练。本帖仅是为了记录一下学习的过程,完全不能作为教学贴使用。希望各位大佬看到后轻喷,也希望能够有大佬能留下更常用更便捷的方法。


【正文部分】想要获得气温、空气密度与海拔的关系,并计算温度、空气密度随海拔上升的数值。

根据空气动力学书籍,我们能够得到温度与海拔的关系式:

大气密度与海拔的关系式:

0-11000m

 11000-20000m

 

 20000-32000m

 接下来编写MATLAB程序:

为了之后输出到Excel表格方便查看,先为Excel表格编写表头:

%制作表头
rowName=cell(1,3);
rowName{1,1}='海拔高度h(m)';
rowName{1,2}='温度T(℃)';
rowName{1,3}='空气密度ρ(kg/m^3)';

在桌面创建表格,并把表头写入

xlswrite('C:\Users\ChenMX\Desktop\T_Rho.xlsx',rowName(1,1),'sheet1','A1');
xlswrite('C:\Users\ChenMX\Desktop\T_Rho.xlsx',rowName(1,2),'sheet1','B1');
xlswrite('C:\Users\ChenMX\Desktop\T_Rho.xlsx',rowName(1,3),'sheet1','C1');
%将表头分配到Excel表格的第一行各个位置。

给定初始条件

%已知的初始条件,海平面上的标准值,密度rho,温度T0,压强P0
rho0=1.225;T0=288.15;P0=101325;

 根据上述的公式,将代码分为三段,第一段为0-11000m段。

设置海拔高度从0-11000m,每隔500m计算一次,h为一个一维行向量,元素个数为(11000/500+1=23个) ,之后T与Rho的计算都需要h的参与,所以都是一维行向量。那么A就是一个3行23列的矩阵。希望Excel表能够竖着输出,所以将A转置后成为B。因为表格的第一行已经写了表头,所以写入表格的时候选择sheet1,并且从A2开始写。

%海拔为0-11000m阶段
Pa=P0;
h=0:500:11000;
T=T0-0.0065*h;
Rho=rho0*(T/T0).^4.25588;
A=[h;T;Rho];
B=A';
xlswrite('C:\Users\ChenMX\Desktop\T_Rho.xlsx',B,'sheet1','A2')

同理写出在11000-20000m和20000-320000m时候的代码,其实只要复制前面的代码稍微改改就可以。注意在11000-20000m平流层段的时候温度不变,那么需要单独设一个元素都相同的一维向量,从11500-20000m中间间隔500共有(20000-11500)/500+1=18个,使用repmat语句创建。

%海拔为11000m-20000m阶段 
h=11500:500:20000;
T=repmat(216.65,1,18);
Rho=0.36392*exp((-h+11000)/6341.62);
A=[h;T;Rho];
B=A';
xlswrite('C:\Users\ChenMX\Desktop\T_Rho.xlsx',B,'sheet1','A25')

%海拔为20000m-32000m阶段
h=20500:500:32000;
T=216.65+0.001*(h-20000);
Rho=0.088035*(T/216.65).^-35.1632;
A=[h;T;Rho];
B=A';
xlswrite('C:\Users\ChenMX\Desktop\T_Rho.xlsx',B,'sheet1','A43')

最后输出的结果如图所示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值