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

📄 pltfigofequil.m

📁 x-y图解法求二元精馏塔理论塔板数 本文件是一个m文件,要在matlab环境下运行
💻 M
字号:
function PltFigOfEquil
%PltFigOfEquil.m n     
%用图解法求二元物连续精馏所需的理论板数
%Authou:LI ZiGuang
%Date:2005/3/31

clear all;clc
global y               
global Locat           %Locat:进料板的位置
global BanOfRect       %BanOfRect:精馏段板数
global BanOfRas        %BanOfRas:提馏段板数
global BanOfTotal      %BanOfTotal:总的塔板数


%已知的参数
xd = 0.95                %塔顶馏出物中轻组分的摩尔分数
xw = 0.05              %塔底馏出物中轻组分的摩尔分数
xf = 0.55                %进料中轻组分的摩尔分数
R = 1.25          %全塔回流比
q = 1               %进料的热状况参数

%用equilib函数(相平衡方程)求出一系列汽液平衡数据
for i = 1:11
    y = 0.1*(i-1)
    ye(i) = 0.1*(i-1)
    xe(i) = fzero(@equilib,0.5)
end

%求出精馏段操作线与进料线的交点
yi=(xf+xd*q/R)/(1+q/R)
xi=(-(q-1)*(1-R/(R+1))*xd-xf)/((q-1)*R/(R+1)-q)

%-------------------------------------------------------------------
%求出所有折线与相平衡线、精馏操作线、提馏操作线的交点
i = 1
xp(1) = xd
yp(1) = xd
y = xd
slope = (yi-xw)/(xi-xw)
constant = xw-slope*xw

while xp(i)>xi
    xp(i+1) = fzero(@equilib,0.5)
    yp(i+1) = (R*xp(i+1))/(1+R)+xd/(1+R)
    y = yp(i+1)
    i = i+1
end
Locat = i-1
BanOfRect = i-1

yp(i) = slope*xp(i)+constant
y = yp(i)
while xp(i)>xw
    xp(i+1) = fzero(@equilib,0.5)
    yp(i+1) = slope*xp(i+1)+constant
    y = yp(i+1)
    i = i+1
end
BanOfRas = i-2-BanOfRect
BanOfTotal = i-2

%-----------------------------------------------------------------------

%---------------------------------------------------------------——————
%绘图
figure(1); hold on; axis([0 1 0 1]);axis('square')
xlabel('x'); ylabel('y'); title('正戊烷-正己烷二元精馏塔的理论塔板数')
set(line([0 1],[0 1]),'Color',[0 1 0])                    %画对角线
plot(xe,ye,'b')                                           %画相平衡线
set(line([xi xd],[yi xd]),'Color',[1 0 1])                %画精馏操作线
set(line([xf,xi],[xf,yi]),'Color',[1 0 1])                %画进料线
set(line([xw xi],[xw yi]),'Color',[1 0 1])                %画提馏操作线
for ii = 1:1:(i-1)                                                    %%%%%%%%%%%%%%%
    set(line([xp(ii) xp(ii+1)],[yp(ii) yp(ii)]),'Color',[0 0 1])      %    绘制折线  %  
    if xp(ii+1)<xw
       break  
    end  
    set(line([xp(ii+1) xp(ii+1)],[yp(ii) yp(ii+1)]),'Color',[0 0 1])  % %%%%%%%%%%%%%
 end  
%------------------------------------------------------------------------

%输出结果
disp('计算结果:')
fprintf('进料口的位置:%s%d%s\n','在第',Locat,'块塔板处')
fprintf('精馏段所需塔板数:%d%s\n',BanOfRect,'(块)')
fprintf('提馏段所需塔板数:%d%s\n',BanOfRas,'(块)')
fprintf('所需塔板总数:%d%s\n',BanOfTotal,'(块)')

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -