永发信息网

我用c语言编写的四阶隆格库塔与matlab用ode45的结果不一致

答案:2  悬赏:0  手机版
解决时间 2021-03-18 08:29
  • 提问者网友:書生途
  • 2021-03-17 14:12
我用c语言编写的四阶隆格库塔与matlab用ode45的结果不一致
最佳答案
  • 五星知识达人网友:胯下狙击手
  • 2021-03-17 14:43


CSDN博客

img youhong19930102
四阶龙格库塔法
发表于2013/10/27 2:37:53 15861人阅读
分类: 算法设计与分析

四阶龙格库塔法
这里主要讲一下如何用C语言编程运用四阶龙格库塔法求解微分方程组。对于所举例子,只是为了说明龙格库塔法不仅可以解一阶线性微分方程,高阶非线性也可通过降阶后按照经典四阶龙格库塔法公式逐步求解。只要选取合适的步长h,就能够平衡速度和精度,达到求解要求。至于例子中的一级倒立摆的物理含义没有提及到,各种方程具体是如何来的也没有涉及到推导。关于控制理论方面的知识这里不作重点。
对微分方程:dy/dt = f(x, y)
有初值条件:y(x(i))= φ(x(i))

y(i+1) = y(i)+h*(K1+2*K2+2*K3+K4)/6
K1=f(x(i),y(i))
K2=f(x(i)+h/2,y(i)+h*K1/2)
K3=f(x(i)+h/2,y(i)+h*K2/2)
K4=f(x(i)+h,y(i)+h*K3)
其中,K1, K2, K3, K4表示的是输出变量的一阶倒数,即在一点处的微分,斜率。
全部回答
  • 1楼网友:酒醒三更
  • 2021-03-17 16:22
可能是因为ode45是变步长求解,而我们自己编写的四阶龙格库塔程序一般是定步长的关系吧
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯