MATLAB大作业
- 格式:doc
- 大小:40.50 KB
- 文档页数:6
MATLAB大作业
一、作业说明
MATLAB,即matrix laboratory,作为强大的数学处理软件,在化学化工领域中也有着极为广泛的应用。而作为化工专业的学生,我认为本课学习MATLAB最直接和有效的意义在于,学生能够利用MATLAB处理实验数据和图形。而对于MATLAB本身数学逻辑与语言的理解和掌握相信在之前所上交的“高斯消元法”和“二分法改进”两次小作业中得到体现。因此,本次大作业我选择利用MATLAB处理化工原理实验中已经做过的离心泵实验来进行数据处理和图形制作。其中实验原始数据皆由本人进行化工原理实验时所记录,水的密度和粘度表由文献查得。
二、编程思路
整个M文件的目标是,利用现有的实验做得数据,进行实验数据的处理以及图形绘制,主要分为三个步骤完成:
第一部分利用插值和拟合求实验温度下水的密度和粘度值;
第二部分利用公式和矩阵变换计算离心泵的扬程He和轴功率Pzhou;
第三部分作图:离心泵的扬程和轴功率随流量变化的曲线(双y轴)。
具体思路已在主程序文件中进行注释。
三、MATLAB主程序
clear
close all
format compact,format short
echo off
% 处理化工原理实验数据及图形制作
% 第一部分求水的密度和粘度
%已知条件:(1)实验温度为23.1℃
% (2)网上查得15℃-30℃下水的密度和粘度表,记录为excel表
% (3)此部分数据存放在原始数据表的sheet1和sheet2中
%
%主要方法:(1)MATLAB数据读入
% (2)矩阵初等变换
% (3)函数拟合
% (4)函数插值
%
[num1]=xlsread('原始数据表');%读取excel表格中sheet1的数据
x0=[num1(:,1)];%x0x表示温度值,sheet1的第1列
y0=[num1(:,2)];%y0表示密度值,sheet1的第2列
x1=x0';%进行转置,将列向量转换为相应的行向量
y=y0';%进行转置,将列向量转换为相应的行向量
%下面开始拟合密度随温度的变化函数
n = length(y);
ss = '';
for k = 1:n;
yy = num2str(y(k));
ss = strcat(ss,['+''(' yy ')''*''x''^' num2str(n+1-k)]);
%将数值转换为字符串格式,在MATLAB内将密度与温度的关系拟合为n次多项式
end
pause,ss%输出密度随温度变化函数式
%
%进行图像表示
%x轴为温度,y轴为密度,表示在figure窗口的上半部分
pause,subplot(2,1,1),line(x1,y,'linewidth',2),title('T-density'),
xlabel('温度T/℃'),ylabel('密度/(kg?m^-3)')
axis([15,30,995,1000])
pause, x2=23.1,
y1=interp1(x1,y,x2,'spline');
%读取excel表格中sheet2的数据,接下来步骤与密度处理方法相同
[num2]=xlsread('原始数据表',2);
t0=[num2(:,1)];z0=[num2(:,2)];
t1=t0';z=z0';
n = length(z);
rr= '';
for k = 1:n;
zz = num2str(z(k));
rr = strcat(rr,['+''(' zz ')''*''t''^' num2str(n+1-k)]);
end
pause,rr
%x轴为温度,y轴为粘度,表示在figure窗口的下半部分
pause,subplot(2,1,2),line(t1,z,'linewidth',2),title('T-viscosity'), xlabel('温度T/℃'),ylabel('粘度/(Pa?s)')
axis([15,30,0.0008 0.0012])
pause,t2=23.1,z1=interp1(t1,z,t2,'spline');
y1,z1
%显示实验温度下流体的密度与粘度值,y1为密度,z1为粘度
pause,close all%关闭图像窗口
pause,clc
% 第二部分计算离心泵的扬程He和轴功率Pzhou
%
%已知条件:(1)所需数据存放在原始数据表的sheet3中
% (2)从左至右分别为“入口压强、出口压强、入口速度、出口速度、流量、电机功率”
% (3)计算公式:He=pout-pin+0.2+(uout.^2-uin.^2)./(9.81*2);
% Pzhou=P.*0.9;
%
%主要方法:(1)MATLAB数据读入
% (2)矩阵初等运算与变换
% (3)利用MATLAB进行实验数据处理
%读取excel表格中sheet3的数据
%“pin、pout、uin、uout、qv、P、He、Pzhou”分别表示为
%“入口压强、出口压强、入口速度、出口速度、流量、电机功率、扬程和轴功率”
[num3]=xlsread('原始数据表',3);
pout0=[num3(:,2)];
pin0=[num3(:,1)];
uout0=[num3(:,4)];
uin0=[num3(:,3)];
qv0=[num3(:,5)];
pout=pout0';pin=pin0';uout=uout0';uin=uin0';qv=qv0';
He=pout-pin+0.2+(uout.^2-uin.^2)./(9.81*2);
P0=[num3(:,6)];
P=P0';
Pzhou=P.*0.9;
pause,clc
%输出计算结果
pause,He
Pzhou
close all
pause,clc
pause,
%第三部分作图:离心泵的扬程和轴功率随流量变化的曲线(双y轴)
%