24小时热门版块排行榜    

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

小木虫zb

木虫 (正式写手)

[求助] matlab ode15s方程中两个参数怎么调用其他函数带入求解

本人用ode15s算一个偏微分方程组,该方程组中有两个参数要通过另外一个隐函数方程组求解,不知道怎么调用,ode15s求该解偏微分方程组代码([t,y]=ode15s(@fangcheng,tspan,y0,options);)如下:
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);
q1=y(1:N);c1=y(N+1:2*N);q2=y(2*N+1:3*N);c2=y(3*N+1:4*N);
%-----------定义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=[dq1dt dc1dt dq2dt dc2dt]';
其中ce1(j)、ce2(j)、q1(j)和q2(j)的关系是q1(j)=0.45967ce1(j)^0.3839/(ce1(j)^0.0457+0.3*ce2(j)^0.0003206,q2(j)=0.17356*ce2(j)^(-1.55201)/(ce2(j)^(-2)+0.1*ce1(j)^(-1))
如果用q1、q2表示c1、c2带入,程序是可以解出的,但是这是个隐函数方程组,不知道该怎么办,求大神相助
回复此楼

» 猜你喜欢

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

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

月只蓝

主管区长 (职业作家)

★ ★
dbb627: 金币+2, 谢谢指导 2013-06-05 14:46:38
引用回帖:
2楼: Originally posted by somomo91 at 2013-06-04 06:22:44
为什么你 dq/dt 要用循环 ?
没有必要啊,你这样做,相当于放弃 ODE15S 的算法,自己解方程啊——根据我的理解
你可以吧方程组图片贴出来,也许有更简练的方法

楼主是想用MOL法把t离散掉,原方程组包含两个偏微分方程,每个偏微分方程对t离散后变成包含20个常微分方程的方程组,这样的离散方式使得到的常微分方程组由刚性,所以用ode15s来解。
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
5楼2013-06-04 19:35:26
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 7 个回答

somomo91

专家顾问 (职业作家)

为什么你 dq/dt 要用循环 ?
没有必要啊,你这样做,相当于放弃 ODE15S 的算法,自己解方程啊——根据我的理解
你可以吧方程组图片贴出来,也许有更简练的方法
2楼2013-06-04 06:22:44
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

小木虫zb

木虫 (正式写手)

偏微分方程组图片中所示,终于有人回复了,谢谢你啊!

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : 360截图20130604164648097.jpg
  • 2013-06-04 16:52:45, 28.68 K
3楼2013-06-04 16:53:49
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

小木虫zb

木虫 (正式写手)

引用回帖:
2楼: Originally posted by somomo91 at 2013-06-04 06:22:44
为什么你 dq/dt 要用循环 ?
没有必要啊,你这样做,相当于放弃 ODE15S 的算法,自己解方程啊——根据我的理解
你可以吧方程组图片贴出来,也许有更简练的方法

http://muchong.com/bbs/viewthread.php?tid=5950673这是我尝试性的编的一个程序,但是运行不出来,也没显示有错误
4楼2013-06-04 16:57:02
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见