24小时热门版块排行榜    

查看: 2240  |  回复: 12
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

小木虫zb

木虫 (正式写手)

[求助] matlab解偏微分方程求助

本人用matlab中的线上法(ODE15s)解一偏微分方程模型,单组份已经成功解出,模型如单组份模型.jpg所示,相应matlab程序如附件textcuvre.m。
现在想用matlab解双组份模型,模型如图双组份模型.jpg,不知道怎么在单组份matlab程序中修改,主要是在双组份模型的平衡吸附模型的方程为隐函数方程,不知道怎么加入程序中,特向大神求助
单组份模型.jpg



双组份模型.jpg
回复此楼

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : textcurve.m
  • 2013-04-25 15:32:52, 1.15 K

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   关注TA 给TA发消息 送TA红花 TA的回帖

小木虫zb

木虫 (正式写手)

引用回帖:
8楼: Originally posted by SEEDEN at 2013-04-25 22:32:10
呵呵,但我还是觉得那两个较复杂的代数式并不太好处理
如果你的方法可行(在原有程序上的修改),可以把你的方法大概说下...

我修改了下程序,但是还是有很多错误,
function dydt=fangcheng(t,y)
kf=200;
a=0.363;%空隙率
u=0.361032/a;%床层颗粒间隙中流体流速
c0=7.03;
L=8.31e-2;
N=20;
dz=L/N;
p=436.8/(1-0.363);%颗粒表观密度
q=y(1:N);c=y(N+1:2*N);
[ce1,ce2]=equilibrium(q1,q2);
%-----------定义dq/dt-----------------------------
for j=1:N
   dq1dt(j)=kf/p*(c1(j)-ce1(j));
   dq2dt(j)=kf/p*(c2(j)-ce2(j));
end
%---------定义dC/dt-----------------------------------
dc1dt(1)=-u*(c1(1)-c0)/dz-(1-a)/a*p*dq1dt(1);
dc2dt(1)=-u*(c2(1)-c0)/dz-(1-a)/a*p*dq2dt(1);
for j=2:N
    dc1dt(j)=-u*(c1(j)-c1(j-1))/dz-(1-a)/a*p*dq1dt(j);
    dc2dt(j)=-u*(c2(j)-c2(j-1))/dz-(1-a)/a*p*dq2dt(j);
end
dydt=[dqdt dcdt]';
function [ce1,ce2]=equilibrium(q1,q2)
[ce1,ce2]=fzero('q1-0.45967ce1^0.3839/(ce1^0.0457+0.3*ce2^0.0003206',...
    'q2-0.17356*ce2^(-1.55201)/(ce2^(-2)+0.1*ce1^(-1))');
9楼2013-04-26 09:09:40
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 13 个回答

月只蓝

主管区长 (职业作家)


csgt0: 金币+1, 多谢指导 2013-04-26 15:57:49
你用MOL法求解的本身就是一个常微分方程组,原方程组有刚性,ode15s能解出,那么双组份的情形,无非是把方程组的维数提高一倍。
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
2楼2013-04-25 16:25:30
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

小木虫zb

木虫 (正式写手)

引用回帖:
2楼: Originally posted by 月只蓝 at 2013-04-25 16:25:30
你用MOL法求解的本身就是一个常微分方程组,原方程组有刚性,ode15s能解出,那么双组份的情形,无非是把方程组的维数提高一倍。

嗯,但是对于双组份,里面的一个参数(C*)需要用平衡曲线模型方程求出,而这个模型我不知道该怎么加入,而单组份只要用平衡曲线模型的反函数表示C*带入就行了
3楼2013-04-25 16:42:42
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

SEEDEN

银虫 (正式写手)

【答案】应助回帖


感谢参与,应助指数 +1
csgt0: 金币+1, 谢谢 2013-04-26 15:57:57
是否可以把Q1和Q2关于C1*和C2*的表达式带入到Q1、Q2的微分方程里,整理成关于C1*和C2*的微分方程
虽然形式上复杂点,但应该还是可以求解的
另外,初值也要随之改变。你上面的图片里少了关于Q1的Q2的初值。如果把那两个平衡关系式带入,那么初值要编程C1*和C2*的了
应该还是可以求解的
4楼2013-04-25 21:48:19
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见