声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2918|回复: 8

[分形与混沌] 请教:什么是变阶runge kutta方法?

[复制链接]
发表于 2011-3-15 11:33 | 显示全部楼层 |阅读模式

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

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

x
求解duffing方程的Lyapunov指数的RHR计算方法中提到需要采用变阶runge kutta方法,请问高人什么是变阶runge kutta方法?
还有就是如下形式的方程,如何求解?

RHR

RHR

其中J11,J12,J21,J22不全是常数,有一个是变化的。
万分感谢~
回复
分享到:

使用道具 举报

发表于 2011-3-15 13:02 | 显示全部楼层
回复 1 # ranling 的帖子

龙格库塔法是求解常微分方程的一种常用数值解法,“变步长”就是指求解积分时步长是自适应的
发表于 2011-3-15 15:49 | 显示全部楼层
本帖最后由 gghhjj 于 2011-3-15 15:51 编辑

关于变阶Runge-Kutta法这个提法好像有点问题
要嘛应该是二楼所说的变步长Runge-Kutta法
要嘛应该是嵌入式Runge-Kutta法

变步长Runge-Kutta法我想大家应该很清楚
这里简单说说嵌入式Runge-Kutta法
这里涉及到Runge-Kutta发的阶次问题
关于Runge-Kutta法的阶次问题我想大家都应该比较清楚
如果不清楚的话可以找任意一本数值分析的书看一看

我们自己编程的时候往往采用四阶或二阶Runge-Kutta法,
而很多通用软件中往往采用嵌入式runge-kutta法
比如matlab中的ode45就是用4阶方法提供候选解,5阶方法控制误差
关于这种嵌入式runge-kutta法的具体原理可以参考下面的文章:
Dormand, J. R. and P. J. Prince, "A family of embedded Runge-Kutta formulae," J. Comp. Appl. Math., Vol. 6, 1980, pp 19-26.

之所以采用这种方式其主要目的是对局部截断误差进行估计,进而控制求解进程和误差
当然这往往是以牺牲计算效率为代价的

评分

1

查看全部评分

 楼主| 发表于 2011-3-15 16:22 | 显示全部楼层
回复 3 # gghhjj 的帖子

首先谢谢您的回答,我还想问一下:能否使用C语言实现你说的嵌入式runge kutta法?1楼的方程若J11,J12,J21,J22全是常数,可以用runge kutta法求解,但是现在有一个不是常数,你知不知道求解方法?再次感谢!
 楼主| 发表于 2011-3-15 16:23 | 显示全部楼层
回复 3 # gghhjj 的帖子

感谢您的回答,不知您对1楼的方程的求解有何见解?谢谢
发表于 2011-3-15 16:33 | 显示全部楼层

C语言实现是没有问题的,不过如果是自己编程可能就会比较麻烦
印象中IMSL库中就有这样的函数,你可以找找找!

常系数和变系数区别不大,matlab的话都可以才ode45实现
帮助文件中第三个例子就是针对变系数的情况

自己编程的话对这个问题应该也没有太大的难度,变系数问题主要是在函数间增加一个变量的传递
 楼主| 发表于 2011-3-15 18:41 | 显示全部楼层
回复 6 # gghhjj 的帖子

哦 真是十分感谢啊 我研究下 有问题再请教您啊
 楼主| 发表于 2011-3-17 10:34 | 显示全部楼层
回复 6 # gghhjj 的帖子

您说的IMSL库下不到啊,老师,您现在有这个库吗?下载一直没速度。我的QQ是357809978。
发表于 2011-4-1 10:38 | 显示全部楼层
gghhjj 发表于 2011-3-15 15:49
关于变阶Runge-Kutta法这个提法好像有点问题
要嘛应该是二楼所说的变步长Runge-Kutta法
要嘛应该是嵌入式 ...

呵呵,真是详细,顺便温习下吧!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-12-26 04:25 , Processed in 0.175189 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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