学习欧拉法/龙格-库塔法心得

本文介绍了泰勒公式,并重点探讨了一阶常微分方程的欧拉方法及其改进形式,包括前向欧拉、后向欧拉、梯形公式和改进的欧拉公式。还简要提及了高精度的龙格-库塔算法,解释了其通过逐步迭代消除误差的原理,特别提到了4阶龙格-库塔算法的工作过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

泰勒公式

若 f(x) 在 x = 0 点直到 n + 1 阶连续导数,则
在这里插入图片描述
在这里插入图片描述
称为 f(x) 在 x = 0 点关于 x 的幂函数展开式,又称为 Taylor 公式,式中Rn(x)叫做 Lagrange 余项。

欧拉方法

考虑一阶常微分方程的初值问题
在这里插入图片描述

前向欧拉公式

在这里插入图片描述

跟泰勒展开相比,是只取前两项,舍去高次项,f(xn,yn) 表示 f 在 (xn,yn) 处的一阶导数,所以yn估计的误差是h2的无穷小。

还有后向欧拉算法、梯形公式、改进的欧拉算法,后向欧拉算法和梯形公式是隐式算法,前向欧拉算法和改进的欧拉算法是显式算法。欧拉算法计算容易,但是精度低,梯形公式精度高,但是是隐式形式,不易求解。将两式结合,则可以得到改进的欧拉公式。先用欧拉公式求出yn+1的一个粗糙的估计值,再用梯形方法进行精确化,称为校正值。

因为龙格-库塔算法是从前向欧拉算法中推出来的,所以不详细说明了。

龙格-库塔算法

在欧拉方法的基础上,改进其精度,考虑在yn和yn+1之间架个桥,先按照欧拉方法算一下到终点要在原来的yn上累加的近似值:
在这里插入图片描述
于是中间那个点的坐标值可以大概估计一下为

在这里插入图片描述
在这个点的导数为
在这里插入图片描述
  以中间值的导数为为跳板,根据欧拉方法,从起点yn到达终点yn+1需要在中点累加的值:
  在这里插入图片描述
  即
  在这里插入图片描述
  这种方法通过逐阶逐阶迭代消除了误差项,因此在二阶R-K时误差已经是 hh 的三阶无穷小了。
  在这里插入图片描述
  那么经典的4阶定长R-K算法也差不多,同理,先计算起点到终点的需要累加的近似值,然后获取近似中点1位置坐标,求该点导数,以这个导数为跳板,再次计算起点到终点的需要累加的近似值,接着再求这个近似值的近似中点2的坐标,求导数,最后以这个导数为跳板,计算从起点到终点的近似累加值。最后得到估计的yn+1。
  在这里插入图片描述
  以上 k1、k2、k3、k4都是从起点ynyn到达终点yn+1需要在中点累加的值的估计,因此对 k1、k2、k3、k4加权平均,得到(由于在此是为了使用,仅获得基本的理解,因此没有详细的推导最后加权是如何计算出来的了):
疑问一:为什么第一点和第二点的横坐标相同?希望我编完程就懂了。

在这里插入图片描述
参考:

  1. https://blog.youkuaiyun.com/qq_29080067/article/details/80157857
  2. https://blog.youkuaiyun.com/susanliuliu28/article/details/78804759
  3. https://wenku.baidu.com/view/bc71a037bf1e650e52ea551810a6f524ccbfcbba.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值