龙格-库塔方法的设计思想:

四阶龙格-库塔方法的经典格式:


程序设计框图:


例:设取步长h=0.2,从x=0到x=1用四阶经典格式解决以下常微分方程的初值问题。

  • 运行示例:

  • 源码:
#include<iostream>
#include<iomanip>
double f(double x, double y);
double f1(double x);using namespace std;int main(void)
{double x0, y0, h;   //x0,y0为初值;h为步长double x1, y1;   //步进后的新值double K1, K2, K3, K4;   //四阶经典格式中的斜率int N;   //N为步数cout << "请输入初值:";cin >> x0 >> y0;cout << "请输入步长:";cin >> h;cout << "请输入步数:";cin >> N;//输出提示信息int i = 1;cout << "\t" << setw(10) << "xn" << "\t" << setw(10) << "yn" << "\t" << setw(10) << "y(xn)" << endl;for (i; i <= N; i++){x1 = x0 + h;   //离散点//求斜率K1 = f(x0, y0);K2 = f(x0 + h / 2, y0 + h / 2 * K1);K3 = f(x0 + h / 2, y0 + h / 2 * K2);K4 = f(x1, y0 + h * K3);//求新值y1 = y0 + h / 6 * (K1 + 2 * K2 + 2 * K3 + K4);//输出本次步进后的离散点数据cout << i << "\t" << setw(10) << x1 << "\t" << setw(10) << y1 << "\t" << setw(10) << f1(x1) << endl;//把新的值赋给旧值,开启下一趟循环x0 = x1;y0 = y1;}return 0;
}double f(double x, double y)   //欧拉格式中的x,y的函数关系式,即f(xn,yn)
{double result;result = y - 2 * x / y;return result;
}double f1(double x)   //实际函数解析式
{double result;result = sqrt(1 + 2 * x);return result;
}

[计算机数值分析]四阶龙格-库塔经典格式解常微分方程的初值问题相关推荐

  1. 数值分析—四阶龙格库塔python复现

    数值分析-四阶龙格库塔python复现 python入门,复现<数值分析>中的欧拉.龙格库塔,这里以经典四阶龙格库塔来示例. 四阶龙格库塔公式 y_(n+1)=y_n+h/6 (K_1+2 ...

  2. 数值分析C++实现用四阶龙格-库塔(Runge-Kutta)方法求解常微分方程初值问题

    问题:用四阶龙格-库塔(Runge-Kutta)方法求解常微分方程初值问题. 算法描述 算法的程序框图: 具体算法: (1)读取a,b,n,f (2)计算步长h = (b-a)/n,x0=a,y0=f ...

  3. 龙格库塔公式法解微分方程组初值问题实例

    用四阶龙格库塔公式(取h=0.1)解下列微分方程组初值问题: { y 1 ′ = 120 − 2 y 1 + 2 y 2 ( 0 ≤ x ≤ 1.0 ) , y 2 ′ = 2 y 1 − 5 y 2 ...

  4. [计算机数值分析]改进欧拉格式解常微分方程的初值问题

    欧拉方法yn+1 = yn +hf(xn,yn) 是一种显式算法,计算量小,但精度很低.梯形方法yn+1 = yn + h / 2 *[f(xn,yn) + f(xn+1,yn+1)] 虽然提高了精度 ...

  5. 二阶水箱 matlab 四阶龙格库塔,请问这个二阶常微分方程组用龙格四阶库塔法怎么编写...

    要是不用MATLAB自带的ode45函数  也可以网上下载一个4阶龙格库塔算法来代替 附上一个仅供参考 function y=DELGKT4_rungekuta(f,h,a,b,y0,varvec)  ...

  6. 四阶龙格库塔方程(Rungekutta)解二阶常微分方程组并计算船舶在迎浪下的纵摇埀荡耦合运动方程-附Matlab代码

    今年年初的时候给师姐做了DDPG算法的船舶减横摇控制算法,师姐还有想法要让我把纵摇-埀荡两个自由度的减摇也做出来,这个任务归我了.实际上不管是多少个自由度的减摇,其实都需要解运动方程,当初做单自由度横 ...

  7. 四阶龙格库塔方程解二阶常微分方程组并计算船舶在迎浪下的纵摇埀荡耦合运动方程-附Python代码

    0 写在前面 这篇博客是在将我上一篇博客的matlab代码移植到python中,应为后续要开展深度强化学习下的船舶减摇研究,总的来说还是在python上做这项工作比较合适.具体方程的解法和背景不在赘述 ...

  8. 一阶欧拉近似matlab,MATLAB改进欧拉法与四阶龙格-库塔求解一阶常微分方程.doc

    MATLAB改进欧拉法与四阶龙格-库塔求解一阶常微分方程 姓名:樊元君 学号:2012200902 日期:2012.11.06 一.实验目的 掌握改进欧拉法与四阶龙格-库塔求解一阶常微分方程的初值问题 ...

  9. 四阶龙格库塔法的基本思想_四阶龙格库塔实验报告.docx

    四阶龙格库塔实验报告 三.四阶Runge-Kutta法求解常微分方程一.龙格库塔法的思想根据第九章的知识可知道,Euler方法的局部截断误差是,而当用Euler方法估计出再用梯形公式进行校正,即采用改 ...

最新文章

  1. 10 个开源 Python OpenCV 小项目,YouTube热门
  2. linux使用X11捕捉鼠标,如何在Linux下合法地以编程方式捕获第二个鼠标或轨迹球,X?...
  3. 在华为写了 13 年代码,都是宝贵的经验
  4. netbeans调试_从NetBeans运行和调试WildFly Swarm应用程序
  5. excel公式编辑器_Excel中自动更新超链接的文件目录,超简单
  6. JAVA 使用类的继承和接口实现多态
  7. kafka日志格式和分区
  8. linux如何运行windows游戏,如何在Linux上运行Windows应用程序和游戏 互联网技术圈 互联网技术圈...
  9. c++11新特性的使用---可变模板参数、lambda、type_traits、optional综合使用
  10. 帆软高级函数应用之其他函数
  11. stm32 带通滤波器_【安富莱——DSP教程】第37章 FIR滤波器的实现
  12. python基础(八):进制转换及python中的进制转换方法
  13. 我的世界Minecraft Java开服教程(Windows)开服器开服包下载开服网站服务器开服核心开服端开服软件mac版Java启动器资源包
  14. 一个非常好的学习方法总结
  15. IDEA本地插件下载及安装
  16. cogs426 血帆海盗 最小割定理
  17. PC端Win10系统微信双开
  18. nexus私服传项目-401 Unauthorized
  19. 最全的百度网盘搜索引擎
  20. Java Map 接口详解

热门文章

  1. 个人空间岁末大回报活动12月30日获奖名单
  2. xposed新版52下载_kyqp游戏合集-kyqp游戏下载推荐
  3. 中国流动人口动态监测调查数据(CMDS)2010-2018年
  4. vue中的路由对象和路由记录
  5. vivox9怎么和计算机共享,vivo手机怎么和笔记本电脑共享文件和网络
  6. 教师资格证作文素材---------------背背背。。。
  7. [angular1.6]Error: “transition superseded“ ui-router 在angular1.6 报错误问题解决
  8. 【题目回顾】广工大2020年10月ACM第一次月赛B题--Dio的面包工坊
  9. 股票量化对冲策略的黄金时期要来了?
  10. 第九届蓝桥杯大赛软件类国赛