学习型 ASP/PHP/ASP.NET 主机 30元/年全能 ASP/PHP/ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
发新话题
打印

求助:龙格库塔法解微分方程组

求助:龙格库塔法解微分方程组

请问如何用龙格库塔法求解下面的微分方程组:
dx1/dt=3*x1*x2+x1
dx2/dt=8*x2*x1+x2
t的范围从0-6
初值:x2(6)=0.6*x1(6)
x1(0)=0.8*x2(0)
可以通过龙哥库塔方法求数值解吗,可以的话如何解,不可以的话有什么别的方法吗?
谢谢了!

TOP

可以使用ode45()函数来求解,应用这个函数解这类微分方程很简单。
ode45是4-5阶龙格库塔法,ode23是2-3阶龙格库塔法。

究竟离别只是一场退出还是美好记忆的延续,    最美好的爱究竟是成全还是守候?

TOP

非常感谢!
我知道用ode45,但是ode45对初值的要求应该是给个具体的数值吧,而方程里的初值是一个边界条件,我就是不明白怎么去用初值。

TOP

你的这个方程能解吗?怀疑啊。
你那种方程的解都可能不存在或者多解。

寻求数学方法求解吧。

TOP

可以通过循环求解得到,如果不想手动解该方程的话。

假设x1(0)=1,得到x(2)的值,从而得到初值,将初值代入方程求解得到x1(6)和x2(6),将两者相除,看是否为0.6。一直搜索,直到找到满足该条件的初值,从而得到该条件下的方程的数值解。

TOP

回复 1# 的帖子

你这不是微分方程的初值问题,不能用龙格库塔法,是边界值问题,应该用打靶法或差分法

TOP

可以使用ode45()函数来求解,应用这个函数解这类微分方程很简单。ode45是4-5阶龙格库塔法,ode23是2-3阶龙格库塔法。

TOP

发新话题