声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 4581|回复: 9

[编程技巧] Matlab 龙格-库塔法

[复制链接]
发表于 2006-8-22 22:18 | 显示全部楼层 |阅读模式

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

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

x
哪位有用Matlab编制的利用龙格-库塔法求借常微分方程组的程序啊,现急需
请发信箱 zhengren_wu@163.com
谢谢啊
回复
分享到:

使用道具 举报

发表于 2006-8-22 23:10 | 显示全部楼层
如果要用变步长的龙格库塔法,直接调用matlab函数ode45就行了

如果采用定步长的龙格库塔法,自己到matlab实例赏析版找一下,有人发过

评分

1

查看全部评分

发表于 2006-8-23 15:52 | 显示全部楼层
定步长rk法代码:http://forum.vibunion.com/forum/viewthread.php?tid=17615

[ 本帖最后由 eight 于 2007-2-28 10:38 编辑 ]
发表于 2006-8-29 23:05 | 显示全部楼层
如果是高阶的微分方程可以先把方程降阶,比如一个二阶微分方程,将x的一阶导数设成y1,x的二阶导数设成y2,这样就成了一阶微分方程,然后再用ode45或者ode23,ode45是四阶经典龙格库塔法,有自适应步长和定步长两种,可以自己选择,ode23是二阶龙格库塔法,一般我们用ode45解微分方程,因为ode45比ode23计算量少,而且比之精确。
具体ode45如何用,可以在MATLAB里查看帮助。

评分

1

查看全部评分

发表于 2006-8-30 17:30 | 显示全部楼层
纠正楼上的几个错误
1. ode45是四阶及五阶龙格-库达法
2. ode45是自适应步长的,不管你怎么设置其迭代过程都是变补偿的,你所说的定步长只不过是定步长输出而已
我已经菜上面的恢复中给出了定步长的函数连接
3. ode23是同时以二阶及三阶龙格-库达法
4. ode45和ode23主要的差别在于精度上,ode45精度比较高一些

评分

1

查看全部评分

发表于 2006-8-30 21:50 | 显示全部楼层
顺便问个问题:ode45是四阶及五阶龙格库塔法没错,只是四阶就四阶,五阶就五阶,为什么叫4-5阶呢?是不是在计算过程中,按照微分方程的形式和求解的精度,ode45会自己选择用4阶还是用5阶?或者计算这一个步的时候用4阶下一步判断一下来选择用几阶的公式?
没有仔细看书,可能有些基本概念没搞清楚,望指点。
发表于 2006-8-31 02:17 | 显示全部楼层
楼上看这儿!
http://www.simwe.com/forum/thread-541373-1-1.html
ode45中的4和5的意义个人认为应该是:区间内四分点做斜率平均(对等TAYLOR公式取至四阶导数),五级代数精度O(h^5)

[ 本帖最后由 eight 于 2007-2-28 10:40 编辑 ]

评分

1

查看全部评分

发表于 2006-8-31 20:58 | 显示全部楼层
嗯,看过介绍,ODE45 是 4阶方法提供候选解,5阶方法控制误差,

嵌入Runge-Kutta法,Runge-Kutta-Fehlberg法

[ 本帖最后由 mxtfirst 于 2006-8-31 21:02 编辑 ]
发表于 2006-8-31 21:19 | 显示全部楼层
原帖由 bainhome 于 2006-8-31 02:17 发表
楼上看这儿!
http://www.simwe.com/forum/thread-541373-1-1.html
ode45中的4和5的意义个人认为应该是:区间内四分点做斜率平均(对等TAYLOR公式取至四阶导数),五级代数精度O(h^5)


收到!从大方面讲是清楚了一些。谢谢。
发表于 2006-9-1 08:22 | 显示全部楼层
谁有自己写的自适应步长的程序啊
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-9-21 16:28 , Processed in 0.070996 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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