找回密码
 注册
查看: 1723|回复: 2

急:请懂MATLAB的朋友来帮帮忙

[复制链接]
发表于 2005-9-7 21:59:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

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.

 楼主| 发表于 2005-9-9 22:39:00 | 显示全部楼层

急:请懂MATLAB的朋友来帮帮忙

为什么高手都不过来看呢?大家来帮帮我啊。
发表于 2005-9-9 23:46:17 | 显示全部楼层

急:请懂MATLAB的朋友来帮帮忙

去本站“CFD实战技术论坛”发求助贴吧,那里是专门讨论这种问题的地方。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表