声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1707|回复: 6

[应用数学] 互相嵌套的微分方程组如何用R-K方法求解?

[复制链接]
发表于 2009-7-30 21:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
本人用到R-K法求一阶常解微分方程组问题,这方面比较菜鸟。

有一个个问题希望得到高人指点:

     R-K法求解互相嵌套的方程组,比如第一个方程等号右边含有未知函数,y(t)。y(t) 在第二个方程中才能出来,那么在 R-K法中,要求对y(t+h), h是步长,这个怎么办?举个例子:

                              x'(t)=f(t,x)+y(t);
                              y'(t)=g(t,,x, y)

R-K 方法中,对x(t) 有:  x(n+1)=x(n)+(1/2)*(k1+k2);
                                        k1=f[t(n), x(n)]+y[t(n)];
                                        k2=f[t(n)+h, x(n)+h*k1]+y[t(n)+h]

注意黑体部分,现在是未知的,那么这个R-K法该如何处理这种嵌套式的微分方程组呢?我在编程时,直接就用y[t(n)]代替了,不知可以吗?
请高人指点,谢谢!
回复
分享到:

使用道具 举报

 楼主| 发表于 2009-7-30 22:09 | 显示全部楼层
大概微分方程组都是这样的,问题是该如何代入R-K法的公式呢?
发表于 2009-7-31 09:16 | 显示全部楼层
这是什么嵌套啊,就是一般的耦合方程吗 ?
直接ode45区求解就好了
发表于 2009-7-31 15:22 | 显示全部楼层
难道楼主要推导该方程ODE45求解的方程?
 楼主| 发表于 2009-7-31 16:06 | 显示全部楼层
不是,我只会用一点For,不会用matlab。现在问题差不多就是这么处理了,我估计,我用for自带的R-K法算了一下,差不多,但是又遇到另一个问题,算完后提示如下:

***TATAL         ERROR 32 from ivmrk. In order to satisfy the error requirement
***                   16MRK  would have to use a step size of  5.004883E-03 at TNOW=
***                    1.049603E+03. This is too small for the current precision.

Press any key  to continue
 楼主| 发表于 2009-7-31 16:07 | 显示全部楼层
请教各位大侠,这是什么意思啊?
发表于 2009-7-31 21:36 | 显示全部楼层

回复 6楼 ekolin 的帖子

那你学一下matlab吧,用matlab很简单的,直接ode45就可以求出来了
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-6 11:21 , Processed in 0.084276 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表