|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
两个串联、底部相通的污水生化处理反应器,反应器V1在时间t=[0,1]天连续进水,流量Qin=1000m3/d,进水中存在两种组分S、X,其进水组分浓度恒定,分别为Sin=50g/m3、Xin=3000g/m3。反应器V1的出水组分浓度是反应器V2的进水组分浓度。V1=V2=V=300m3,Qin=Qout。假定反应器完全混合,V1和V2内反应速率相同,对反应器V1建立模型如下:
dS/dt=Qin*(Sin-S)/V-32*S/(20+S)*X
dX/dt=Qin*(Xin-X)/V+16*S/(20+S)*X-0.4*X
对于V2,其模型结构与V1相同,只需将V1模型中的Sin、Xin用V1出水组分浓度S1、X1替换。两个反应器的初始条件分别为C_01=[1, 2000],C_02=[0.1, 1500]。计算程序如下:
function exam0907
clear all; clc
global Qin Cin
%------------------
Qin=1000; % 流量
C_01=[1, 2000]; % 反应器初值
Cin=[50 3000]; % 进水浓度
%%%%%----------------------------------反应器V1的计算
t1=[0:0.1:1];
[t1,C1]=ode45(@equation_03,t1,C_01);
%%%%%----------------------------------反应器V2的计算
C_02=[0.1, 1500]; % 反应器初值
Cin=[C1]; % 进水浓度
t2=[0:0.1:1];
[t2,C2]=ode45(@equation_03,t1,C_02);
%------------------------------------------------------------------反应方程
function dCdt=equation_03(t,C)
global Qin Cin
r1=Qin*(Cin(1)-C(1))/300-32*C(1)/(20+C(1))*C(2);
r2=Qin*(Cin(2)-C(2))/300+16*C(1)/(20+C(1))*C(2)-0.4*C(2);
dCdt=[r1;r2];
%%程序存在的问题:对V1的计算程序不存在错误。对V2的计算程序,存在一个错误。V2的进水Cin=[C1]; C1是一个n行2列的矩阵,因此在子程序反应方程中用Cin(1)、Cin(2)表达就存在错误。本人虽然知道这个错误,却不知如何正确修正。
请做过此方面问题的高手帮忙,不胜感激!
我的QQ是:10181694,Email:dongaiyan@tom.com.
|
|