⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 diststagescal.m

📁 matlab在化学工程中的应用实例程序,对大家研究学习有指导作用。
💻 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 + -