编程论坛's Archiver

redbird 发表于 2007-11-20 11:05

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

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

seidel 发表于 2007-11-20 22:03

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

redbird 发表于 2007-11-21 09:52

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

huruigege 发表于 2007-11-22 09:14

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

寻求数学方法求解吧。

huruigege 发表于 2007-11-26 14:26

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

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

槛外人_237 发表于 2008-4-8 14:32

回复 1# 的帖子

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

同同 发表于 2008-5-20 16:10

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

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.