xicheng_wu 发表于 2007-6-14 20:45

请教:用ode函数如何解微分方程

我现在是9个变量,例如
dx/dt=9.5(y-1)+z
dy/dt=2(x+z)
dz/dt=x+y
。。。
这样一直有9个不同的变量,就是9个不同的方程,怎么样用ode函数求解啊?

无水1324 发表于 2007-6-14 21:04

不管其变量多少,都一样只是写m程序复杂一点,其求解你可以在网上找一下,有很多程序!

[ 本帖最后由 无水1324 于 2007-6-14 21:08 编辑 ]

gghhjj 发表于 2007-6-16 09:53

如果变量过多用ode来求,还是比较困难的
不过9个变量不算多了,最多我做过32个变量的

无水1324 发表于 2007-6-16 10:12

回复 #3 gghhjj 的帖子

用matlab的人的变量数目一般不会达到几千几万的。

咕噜噜 发表于 2007-6-16 11:27

建议楼主在本论坛搜索一下,相似的问题很多

gghhjj 发表于 2007-6-17 07:00

原帖由 无水1324 于 2007-6-16 10:12 发表 http://www.chinavib.com/forum/images/common/back.gif
用matlab的人的变量数目一般不会达到几千几万的。

呵呵,不用几千,几十就非常难调了,上次32个变量的我调了差不多半个月才选到合适的初值

无水1324 发表于 2007-6-17 09:08

哦那这个也不是ode求解的问题,是初值选取的问题,我做一个二阶系统的求解,有时候都很难取得一个比较好的初值,不需经过多次猜测

gghhjj 发表于 2007-6-19 02:27

原帖由 无水1324 于 2007-6-17 09:08 发表 http://www.chinavib.com/forum/images/common/back.gif
哦那这个也不是ode求解的问题,是初值选取的问题,我做一个二阶系统的求解,有时候都很难取得一个比较好的初值,不需经过多次猜测

这里的初值不好选主要就是ode造成的,给的初值不好容易导致计算溢出
换newmark就好多了,基本不太需要考虑这个问题

无水1324 发表于 2007-6-19 08:53

回复 #8 gghhjj 的帖子

newmark听说很好,但是现在一直还没有遇到ode解决不了的,主要是我的系统比较简单

gghhjj 发表于 2007-6-20 06:37

原帖由 无水1324 于 2007-6-19 08:53 发表 http://www.chinavib.com/forum/images/common/back.gif
newmark听说很好,但是现在一直还没有遇到ode解决不了的,主要是我的系统比较简单

newmark对于求解高维系统还是比较有效的,当然如果系统比较简单,完全可以用ode,比较方便
页: [1]
查看完整版本: 请教:用ode函数如何解微分方程