24小时热门版块排行榜    

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

priest

木虫 (正式写手)

[求助] 帮忙:求解一组微分代数方程,奖励100金币 已有1人参与

请各位帮忙求解一组微分代数方程,14个方程,其中7个微分方程,7个代数方程。我的思路是这样的:把代数方程对时间求导,转化成微分方程,这样方程组写成 M(t,x)*dx/dt = F(t,x),可以用matlab ode15s求解,关键是写出正确的mass matrix M。我遇到的问题就是:(1)matlab会显示 This DAE appears to be of index greater than 1,但是我仔细检查了代数方程的微分形式,例如,dx1-2*dx3 = x1+4*x2,就是所有代数方程的变量对时间的一阶导数=f(x, dx/dt), 全部都是一阶导数。所以,我认为这组微分代数方程的index为1,不应该有这个错误。(2)如果x1为状态变量, M(1,1) = c1/x1, matlab  代码里应该如何表示,x1作为数组还是标量,是要用c1./x1 还是c1/x1?或者,我可以在方程两边同时乘以x1?(3) 如果x1=c1*sinh(x2-x3), c1=exp(-c2*t), c1只是作为输入函数,这种情况下,x1对时间进行微分,c1也要对对时间求导么,如果这样,c1也变成了一个状态变量。还是把c1当作常熟处理,dx1/dt=c1*(sinh(x2-x3))’。多谢大家的帮助!
回复此楼

» 猜你喜欢

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

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

feixiaolin

荣誉版主 (文坛精英)

优秀版主

先求拉普拉斯变换,解方程组,再反变换回来。
3楼2014-09-27 08:16:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 8 个回答

priest

木虫 (正式写手)

引用回帖:
3楼: Originally posted by feixiaolin at 2014-09-27 08:16:11
先求拉普拉斯变换,解方程组,再反变换回来。

谢谢楼上的回复,可是我不懂拉普拉斯变换,楼上的解释能否详细写?我试过简化过的4个方程,用我自己理解的方法可以求解,不知道为什么完整的14个方程为什么不可以?我在网上搜过DAE的解法,大致就是把代数方程转化成微分方程,这种问题应该可以用matlab ode15s解的。
4楼2014-09-27 17:49:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

feixiaolin

荣誉版主 (文坛精英)

优秀版主

引用回帖:
4楼: Originally posted by priest at 2014-09-27 17:49:03
谢谢楼上的回复,可是我不懂拉普拉斯变换,楼上的解释能否详细写?我试过简化过的4个方程,用我自己理解的方法可以求解,不知道为什么完整的14个方程为什么不可以?我在网上搜过DAE的解法,大致就是把代数方程转化 ...

把具体方程挂挂上来,大家看一看。
5楼2014-09-27 17:56:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

priest

木虫 (正式写手)

引用回帖:
5楼: Originally posted by feixiaolin at 2014-09-27 17:56:06
把具体方程挂挂上来,大家看一看。...

(∂(Fx(14)x(1)))/∂t=(-3x(10)-x(8))*ρ_c
∂(Fx(14)x(2))/∂t=(2x(10)-x(9))*ρ_c
x(9)=k_K x 〖(12)sinh〗⁡(((x(5)-x(7)))⁄〖2v〗_T )
x(8)=k_Na x(13)x(11)sinh⁡〖(((x(5)-x(6)))⁄〖2v〗_T )  〗
x(10)=k_NaK  tanh⁡(((x(5)+2x(7)-3x(6)-v_ATP ))⁄(2v_T ))
(dx(12))/dt=1/τ_K   cosh⁡(2 ((x(5)-v_x ))⁄v_T ) {0.5*[1+tanh⁡(2 ((x(5)-v_x ))⁄v_T ) ]-x(12)}
(dx(13))/dt=1/τ_Na   cosh⁡(2 ((x(5)-h))⁄v_T ) {0.5*[1+tanh⁡(2 ((x(5)-v_h ))⁄v_T ) ]-x(13)}
x(11)=0.5*(1+tanh⁡(2(x(5)-v_m )/v_T ) )
x(5)=v_T  ln⁡〖(x(3))⁄(x(1))〗
x(6)=v_T  ln⁡〖(x(4))⁄(x(2))〗

x(5)=RT/F  ln⁡((P_K x(4)+P_Na x(2)+P_Cl 〖Cl〗_i)/(P_K x(3)+P_Na x(1)+P_Cl 〖Cl〗_e ))
(∂((1-x(14))x(4)))/∂t=∇D_2 ∇x(4)-∂(x(14)x(2))/∂t
(∂((1-x(14))x(3)))/∂t=∇D_1 ∇x(3)-∂(x(14)x(1))/∂t
(∂x(14))/∂t=L_p [(x(1)+x(2))-(x(3)+x(4)+Ci)]

全部14个方程如上,x是状态变量,其他都是参数(常数)。尽管x(3)和x(4)随空间变换,但可以通过有限差分进行离散。多谢啦!
6楼2014-09-28 06:43:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见