📄 diststagescal.m
字号:
function DistStagesCal
% DistStagesCal.m
% 计算双组分简单精馏塔的理论板数
%
% 主程序采用MATLAB的自适应Lobatto求积(Adaptive Lobatto quadrature)函数quadl()
% 进行数值积分;
% 被积函数func1()和func2()中利用三次样条拟合法由已知离散数据确定y与x的函数关系
%
% Author: HUANG Huajiang
% Copyright 2003 UNILAB Research Center,
% East China University of Science and Technology, Shanghai, PRC
% $Revision: 1.0 $ $Date: 2003/02/22 $
clear all
clc
xi = [0.178 0.275 0.372 0.456 0.650 0.844]; % 液相平衡浓度
yi = [0.243 0.382 0.518 0.616 0.795 0.931]; % 汽相平衡浓度
xf = 0.4; % 进料组成
xd = 0.9; % 塔顶组成
xw = 0.15; % 塔底组成
R = 5; % 精馏段回流比
R1 = 4; % 提馏段回流比
sp = csaps(xi,yi,1); % 与sp = spline(xi,yi)等效
% 画拟合曲线,直观地检查拟合效果是否良好
x4plot = linspace(xi(1),xi(end),200);
y4plot = fnval(sp,x4plot);
plot(xi,yi,'o',x4plot,y4plot,'-')
N = quadl(@func1,xf,xd,[],[],sp,xd,R); % 精馏段理论板数N
M = quadl(@func2,xw,xf,[],[],sp,xw,R1); % 提馏段理论板数M
N = round(N+0.5); % 圆整
M = round(M+0.5);
disp('计算结果:')
fprintf('\n 精馏段理论板数N为:%d %s\n',N,'(块)')
fprintf(' 提馏段理论板数M为:%d %s\n',M,'(块)')
fprintf(' 共需理论板数为:%d %s\n',N+M,'(块)')
% ------------------------------------------------------------------
function f = func1(x,sp,xd,R) % 定义被积函数(精馏段)
y = fnval(sp,x);
f = 1./(y-x-(xd-y)/R);
% ------------------------------------------------------------------
function f = func2(x,sp,xw,R1) % 定义被积函数(提馏段)
y = fnval(sp,x);
f = 1./(y-x-(y-xw)/R1);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -