24小时热门版块排行榜    

查看: 1364  |  回复: 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的回帖

木头608

金虫 (著名写手)

我是不懂了,以前的拉普拉斯变换只学了一点皮毛,只能帮你顶一下了,呵呵
论成败,人生豪迈,只不过需要等待!
7楼2014-10-05 23:21:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 8 个回答

feixiaolin

荣誉版主 (文坛精英)

优秀版主

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

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的回帖
信息提示
请填处理意见