一道微分方程的难题!
x''+a*y''+c*x'+d*(x*x+y*y)+e=0;y''+k*x''+f*y'+g*y+h=0;
用四阶Runge-Kutta法解此微分方程组,matlab程序如何表示该方程组?我令u1=x,u2=y,u3=x',u4=y',来表示方程不行.大家有什么好的方法来解决这个问题吗?
u=;
du=;
du=[u3;
u4;
....;(不知怎么表示啊)
....;
] 建议斑主置顶帖中加入下面一条提示:
先自己在论坛里面查找类似的问题与解答,再发问。 楼上的兄弟提出了一些方法,可是我用到这个方程组里还是不能解决这个问题,所以就只好再问了,不过依然谢谢!不知你有什么好的建议? 原帖由 huzhaolin 于 2006-12-23 13:05 发表
楼上的兄弟提出了一些方法,可是我用到这个方程组里还是不能解决这个问题,所以就只好再问了,不过依然谢谢!不知你有什么好的建议?
举例:
x''+x'+x*x=0
y''+x''+y*x=0
u=
质量阵:
M=[1 0 0 0
0 1 0 0
0 0 1 0
0 1 0 1]
K=[0 1 0 0
x 1 0 0
0 0 0 1
y 0 0 0]
M*du=K*u
即:du=inv(M)*K*u
这样就可以编制相应的ode45了
哎,我可是在此文中已经求了一次了,不知道是我写得不清楚,还是我的想法有错误。
请指正!
http://forum.vibunion.com/thread-35208-1-1.html 实在不行就自己把方程一个个写出来
你这个方程又不复杂 如果用Fortran求解大家有没有用过,因为matlab求解速度比较慢,我用Fortran求解二阶微分方程组经常出现发散的情况,不知道各位可曾经遇到? 原帖由 homage79 于 2007-3-25 19:40 发表
如果用Fortran求解大家有没有用过,因为matlab求解速度比较慢,我用Fortran求解二阶微分方程组经常出现发散的情况,不知道各位可曾经遇到?
你选用的是什么算法?
fortran库中有不少方法可以求解
当然对于很多问题还是要自己编程的,库中的算法适用性一般 原帖由 homage79 于 2007-3-25 19:40 发表
如果用Fortran求解大家有没有用过,因为matlab求解速度比较慢,我用Fortran求解二阶微分方程组经常出现发散的情况,不知道各位可曾经遇到?
原因很多,须要看具体方程而定
页:
[1]