常微分方程数值解

        

目录

1 基本概念

1.1 微分方程

1.2 解析解与数值解

2 误差分析

2.1 整体截断误差

2.2 局部截断误差

2.3 数值算法精度

3 解析解求解

3.1 分离变量

3.2 积分因子

4 数值解求解

4.1 常微分方程离散化

4.1.1 用差商近似导数

4.1.2 数值积分法

4.1.3 Taylor多项式近似

4.2 Euler方法和改进Euler方法

4.2.1 向前Euler公式

4.2.2 向后Euler公式

4.2.3 Euler方法的误差

4.2.4 改进的Euler方法

梯形公式

改进Euler方法

4.3 Runge-Kutta方法

4.3.1 二阶Runge-Kutta

 Runge-Kutta局部截断误差

4.3.2 四阶Runge-Kutta

4.4 线性多步法

4.4.1 二节点近似

4.4.2 四节点近似

5 注


        在数学建模中,首先我们要对实际研究情况作具体分析,然后利用已有规律、或者模拟,精确或近似地得到各种因素变化率之间的关系,从而建立一个微分方程或方程组。一般可以通过微元法、模拟近似来建立微分方程。但是大多数微分方程很难得到解析解,常需要研究其解的稳定性和数值方法。

1 基本概念

1.1 微分方程

微分方程的基本格式:

常微分方程:方程中仅有一个未知数

偏微分方程:方程中有多个未知数

初边值条件:求微分的过程中,需要知道常数信息,才能唯一确定方程的解。

1.2 解析解与数值解

解析解:能够解出y(x)具体表达式(最好的解决方式,但是通常解不出来)

数值解:用某种方法近似得到函数y(x)在某点x的近似值(当运用足够多的点去近似时,精度会更高)

2 误差分析

在数值解中,因为是运用各种方法去近似得到函数在某点的值,因此与精确值会有误差。一般其精确值由泰勒展开确定。

2.1 整体截断误差

  • 整体截断误差=前一步产生的误差+当前步产生的误差
  • 实际上很难算出来,一般计算局部截断误差

2.2 局部截断误差

  • 一般通过计算局部误差来进行误差分析,但是局部截断误差的精度更小(因为是在假设n步没有误差条件下计算的)
  • 整体截断误差比局部截断误差更大

2.3 数值算法精度

  •  p值越大,精度越高

3 解析解求解

3.1 分离变量

  • 通过分离变量,将等式两边都是“同组”的未知数,然后等式两边进行积分进行求解
  • 并不是所有的常微分方程都能够分离变量(相反,大部分微分方程都较难通过分离变量求出解析解)

3.2 积分因子

  • 用于一阶线性微分方程

4 数值解求解

4.1 常微分方程离散化

  • 一般地,步长大小不变,但是这样等间隔的取点会增大误差
  • 离散化常用的有三种方法:用差商近似导数、数值分析法、Taylor多项式近似

4.1.1 用差商近似导数

  •  差商有向前差商和向后差商两类,上例中为向前差商
  • 若使用向后差商代入微分方程中,计算麻烦

4.1.2 数值积分法

  • 数值积分法是将微分方程表示成积分形式,用数值积分离散化

4.1.3 Taylor多项式近似

4.2 Euler方法和改进Euler方法

4.2.1 向前Euler公式

  • 通过向前差商计算得到近似称为向前欧拉公式

4.2.2 向后Euler公式

  • 通过向后差商计算得到近似称为向后欧拉公式

4.2.3 Euler方法的误差

  •  向前欧拉精度不高是显然的:在近似过程中只选取了一个点进行估计近似
  • 若我们选用更多的点进行近似,那么精度理论上应该会更高,因此衍生处梯形公式

4.2.4 改进的Euler方法

梯形公式

改进Euler方法

4.3 Runge-Kutta方法

  • 下面的二阶Runge-Kutta和四阶Runge-Kutta即分别选取了两个和四个点
  • 其中二阶Runge-Kutta精度为2,四阶Runge-Kutta精度为4

4.3.1 二阶Runge-Kutta

  •   Runge-Kutta局部截断误差过程稍长,只需理解即可
 Runge-Kutta局部截断误差

4.3.2 四阶Runge-Kutta

  • 与二阶Runge-Kutta推导类似,只不过选取4点进行估计

4.4 线性多步法

4.4.1 二节点近似

4.4.2 四节点近似

5 注

文章笔者学习所用,信息资源来源于书本和网络,如有错误恳请私信评论,以便及时改正。

  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值