龙格库塔法

  • 龙格库塔法对于一个工科学生来说估计并不陌生,因为我们做项目的时候或多或少会接触到微分方程,解微分方程的数值解是就需要用到龙格库塔方程了。我第一次接触到该方法是对四轴姿态角进行四元数解算的时候,当时用的是一阶龙格库塔,当时的理解就是这不就是泰勒展开式取一阶嘛,然后觉得二阶龙格库塔应该就是取二阶了,依次类推,所以当时没有深入的了解,现在因为遇到这方面的问题所以重新把他学了一遍。
  • 准确的说,高阶龙格库塔法是借用了泰勒展开式的思想,但是和泰勒展开式还是有区别的。下面我对龙格库塔法讲讲我的理解。
  • 首先,龙格库塔的一般形式如下:
首先,我们可以知道一阶龙格库塔法的表达式

上述式子可以改写成如下式子
这里我们可以看成k是在步长为h情况下,函数的增长量,f(x,y)为函数y的斜率。这个式子其实比较好理解的。
然后我们来看二阶龙格库塔的推导过程:
二阶情况下一般表达式中就只有k1和k2了,二阶龙格库塔我们可以看成是一阶表达式的一个变形,由原来的一个k变成了k1,k2,用k1,k2来表示k,c1和c2相当于k1和k2所占的权重一样,这样理解是不是好一点。那k1和k2分别表示什么??其实k1表示xi点处的增长量,k2表示的是xi+a2*h处的增长量。在这基础上,因为c1、c2、a2和是未知量。我们需要将其求出来,下面是我的推导过程:
这样二阶龙格库塔的迭代式子就可以表达出来了,写完收工。
  • 然而如果你想你的数值解更加精确的话,你就需要更高 阶次的龙格库塔迭代式,一般而言,四阶是最经典的,用的也是最多的。本来我想把四阶的参数也算一遍,但是工程量巨大,我放弃了。我尝试了一下3阶的参数推导,推导一半,我还是放弃了,我把我推到一半的过程也写出来,希望有人帮我弄出来,本人实在没有勇气。
  • 这里把k1,k1k2,k2平方带入式子中,我感觉非常人能及的,高中学的解析几何感觉都不算什么??
  • 这里有一个需要注意的地方,图片中我用红笔标注了,由于三阶龙格库塔的阶段误差为,意思就是多项式中存在h的次数大于等于4的都可以忽略,这可能会大大减少我们的计算量,但是还是好难。
  • 最后给出一个四阶龙格库塔算迭代表达式:

龙格库塔法求微分方程相关推荐

  1. 【算法基础学习 6】龙格库塔法 求微分方程

    龙格库塔法 龙格库塔法对于一个工科学生来说估计并不陌生,因为我们做项目的时候或多或少会接触到微分方程,解微分方程的数值解是就需要用到龙格库塔方程了.我第一次接触到该方法是对四轴姿态角进行四元数解算的时 ...

  2. matlab求微分方程同届,Matlab学习——求解微分方程(组)

    介绍: 1.在 Matlab 中,用大写字母 D 表示导数,Dy 表示 y 关于自变量的一阶导数,D2y 表示 y 关于自变量的二阶导数,依此类推.函数 dsolve 用来解决常微分方程(组)的求解问 ...

  3. matlab求微分方程精确解,matlab求微分方程精确解及近似解.ppt

    matlab求微分方程精确解及近似解.ppt 还剩 24页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 求微分方程的解q 自牛顿发明微积分以来,微分方 ...

  4. 方程求解的实验 matlab,matlab 实验四 求微分方程的解

    实际应用问题通过数学建模所归纳而得到的方程,绝大多数都是微分方程,真正能得到代数方程的机会很少.另一方面,能够求解的微分方程也是十分有限的,特别是高阶方程和偏微分方程(组).这就要求我们必须研究微分方 ...

  5. matlab图像导数求积分_第二讲matlab求微分方程导数积分

    第二讲matlab求微分方程导数积分 第二讲 导数与微分方程 一.实验内容 1.实际引例 (牛顿冷却模型)警察上午9点钟发现一被谋杀者,并测得尸体温 度为32.4℃,一小时以后,尸体的温度变为31.7 ...

  6. matlab研究微分方程,matlab求微分方程的解.doc

    matlab求微分方程的解.doc matlab求微分方程的解一.问题背景与实验目的二.相关函数(命令)及简介三.实验内容四.自己动手一.问题背景与实验目的实际应用问题通过数学建模所归纳而得到的方程, ...

  7. matlab求微分方程同届,matlab求微分方程精确解及近似解.ppt

    matlab求微分方程精确解及近似解 求微分方程的解 问题背景和实验目的 Euler 折线法 初值问题的Euler折线法 Euler 折线法举例 Euler 折线法源程序 Euler折线法举例(续) ...

  8. Matlab求微分方程的数值解

    注:首先计算微分方程的解析解,如果发现没有解析解,再用数值解 一.Matlab中求微分方程的数值解函数 [x,y]=solver('f',ts,x0,options) 1)x代表自变量 2)y代表函数 ...

  9. matlab szj,matlab求微分方程的解实验报告4.doc

    matlab求微分方程的解实验报告4 <matlab与数学实验>实验报告实验序号: 实验四 日期: 2015年 5 月 25 日班级 132132002姓名 彭婉婷学号 132132005 ...

最新文章

  1. vue+ivew-admin开发项目,内存占用过大解决办法
  2. js,jquery获取页面元素距离浏览器工作区顶端的距离
  3. SD--关于价格过程的确定
  4. 了解冒泡排序选择排序
  5. GCC在C语言中内嵌汇编 asm __volatile__
  6. mysql5.7是测试版本吗_mysql免安装版本测试(mysql-5.7.18-winx64)
  7. spark的java源码,Spark源码包的编译
  8. mysql root账号_修改mysql root账号密码
  9. linux写语句自动执行一次,Linux系统下自动执行指定任务 cron
  10. 最常见的5个导致节点重新启动、驱逐或 CRS 意外重启的问题
  11. ubuntu下mysql无法启动_升级Ubuntu到10.04后MySQL无法启动
  12. uml建模工具_Visual Paradigm 教程[UML]:绘制UML配置文件图
  13. java怎么建立socket_Java Socket编程如何建立两者关系
  14. Java NIO之DatagramChannel
  15. es5 html片段拼接,es5的 reduce怎样用在拼接html字符串??? - 社区 - 妙味课堂
  16. pip下载包的默认路径
  17. 单片机编程技巧—状态机编程
  18. mysql 多数据源配置文件_Spring+MyBatis多数据源配置实现
  19. xshell 导入.xsh 文件
  20. 验证input和textarea的输入是否有效,也就是不为空,也不都是空格

热门文章

  1. 中科院遗传发育所科学数据中心招聘启事
  2. 线上资讯周 | 香港科大商学院MSc项目
  3. 论文阅读:Leveraging multimodal information for event summarization and concept-level sentiment analysis
  4. 高斯激光光束重塑成 Donut 模式
  5. ggplot2-主题3
  6. linux怎么退出SQL语句,linux之SQL语句简明教程---UPDATE DELETE FROM
  7. 【调剂】云南大学2023年硕士研究生招生预计接收校外调剂专业相关信息
  8. [附源码]计算机毕业设计Python拉勾教育课程管理系统(程序+源码+LW文档)
  9. PLC技能引领自动化控制系统的设计与开发
  10. 【JZOJ 4599】西行妖