摘要:

本文主要介绍前向后向差分,显式隐式欧拉法及其稳定性分析。

前向差分对应显式方法,后向差分对应隐式方法。显式欧拉法是比较流行的显式方法,隐式欧拉法是比较流行的隐式方法。

显式欧拉法条件稳定,对积分步长有要求,隐式欧拉法无条件稳定,对积分步长无要求(理论上如此,但实际使用中对积分步长仍然有要求,只是比显式欧拉宽松)。

1. 前向差分与后向差分

设一元函数函数离散化为一系列的点,,其中,, , 称为步长。

1.1 前向差分(Forward Difference)前向差分的定义:

之所以称之为前向差分,是因为当前时刻的差分,是下一时刻位置(时间向前前进一步)与当前时刻位置之差。

高阶前向差分

根据上式递归可得k阶前向差分公式为:

例如,二阶前向差分公式为:

1.2 后向差分(Backward Difference)后向差分定义:

由定义可以看出,当前时刻的差分,是当前时刻的位置与前一时刻的位置之差。

高阶后向差分

同上,k阶后向差分公式为:

因此,二阶后向差分公式为:

1.3 差商和导数差商就是差分除以步长,即,

在数值计算中,需要以差商代替导数,即,如果使用前向差分,则为显式方法,例如,

如果使用后向差分,则为隐式方法,例如,

2. 显式欧拉和隐式欧拉

设有一阶常微分方程很多时候我们无法求出函数的解析解,只能通过数值方法逼近,即,将时间离散为一系列的点其中, 我们要做的就是求函数在这些离散的时间点上的值

2.1 显式欧拉(Explicit Euler)显式欧拉公式:

之所以称之为显式,是因为下一时刻的值,可根据当前时刻的值及其导数 显式地给出。

另一种角度看上面的公式:从当前时刻出发,根据当前时刻的函数值及其导数,可得到下一时刻的值。因此显式欧拉法又称为前向欧拉(Forward Euler)

再从另一个角度看,我们把上面的公式做一下变形可得 即,显示欧拉就是用前向差商代替导数。

2.2 隐式欧拉(Implicit Euler)隐式欧拉公式:

之所以称之为隐式,是因为上式是一个隐式方程。

另一种角度看上面的公式:将上式做一下变形可得:从当前时刻出发,根据当前时刻的函数值及其导数,可得到前一时刻函数的值。因此隐式欧拉法又称为后向欧拉(Backward Euler)

再从另一个角度看,我们把上面的公式做一下变形可得 即,显示欧拉就是用后向差商代替导数。

2.3 例证欧拉法的稳定性

设有一阶常微分方程 我们知道,这个常微分方程的解析解为 当时, 那么分别用显式、隐式欧拉法会得到什么呢?

1. 显式欧拉法条件稳定(Conditionally Stable)

根据显式欧拉法公式,

为了保证上式收敛,需要保证, 得,

即,为了保证显式欧拉的稳定性,需要保证时间步长,即,条件稳定.

2.隐式欧拉法无条件稳定(Unconditionally Stable)

根据隐式欧拉公式,

则,

又,则恒大于1。即不管时间步长为多大,隐式欧拉始终稳定,即无条件稳定.

注意:实际应用中,隐式欧拉需要求解隐式方程,通常也是使用逼近的方法(例如,Newton-Raphson)求解,因此实际的隐式欧拉方法并不是无条件稳定的。

3.一般形式的稳定性分析,我目前还没有掌握。

matlab 前向欧拉法,前向后项差分和显式隐式欧拉法相关推荐

  1. MATLAB学习笔记3:MATLAB编程基础(前半)

    阅读前请注意: 1. 该学习笔记是华中师范大学HelloWorld程序设计协会2021年寒假MATLAB培训的学习记录,是基于培训课堂内容的总结归纳.拓展阅读.博客内容由 @K2SO4钾 撰写.编辑, ...

  2. 前向欧拉法、后向欧拉法简介

    前言 这里简单介绍一下前向欧拉法和后向欧拉法. (在百度上没有找到满意的结果,所以在此补充) 1 欧拉方法 其简介 [2]: 欧拉方法,命名自它的发明者莱昂哈德·欧拉,是一种一阶数值方法,用以对给定初 ...

  3. 前向欧拉法的PI调节器C语言代码

    前向欧拉法的 PI 调节器的 C 语言代码大致如下所示: #include <stdio.h>#define TS 0.01 // 采样周期 #define Kp 1.0 // 比例系数 ...

  4. 2022年4月编程语言排行榜:MATLAB 即将跌出前20名

    好老的MATLAB即将跌出前20名,这是10多年来的第一次.MATLAB编程语言主要用于数值分析领域,通常与来自同一家公司的Simulink模型结合使用.尽管MATLAB有一个半年一次的发布周期,但该 ...

  5. 前端运行python代码几种方式_前的解释|前的意思|汉典“前”字的基本解释

    详细字义 ◎ 前 qián 〈动〉 (1) (本义:前进) (2) 同本义 [go forward;go ahead] 前,进也.--<广雅> 然而驱之不前,却之不止.--<韩非子· ...

  6. 快慢指针____函数将字符串中的字符'*'移到串的前部分,前面的非'*'字符后移

    函数将字符串中的字符'*'移到串的前部分,前面的非'*'字符后移,但不能改变非'*'字符的先后顺序,函数返回串中字符'*'的数量.如原始串为:ab**cd**e*12,处理后为*****abcde12 ...

  7. iOS常用于显示几小时前/几天前/几月前/几年前的代码片段

    /*** Retain a formated string with a real date string** @param dateString a real date string, which ...

  8. php时间转分钟前,PHP把时间转换成几分钟前几小时前几天前

    现在很多网站将时间的显示都变得比较人性化,今天项目有一个也需要在对应的资讯后面显示为几分钟前.几小时前,接下来吾爱编程为大家分享一下PHP把时间转换成几分钟前.几小时前几天前的方法,有需要的小伙伴可以 ...

  9. 微信小程序-将时间转换成几秒前 几分钟前 几小时前 几天前等时间格式

    描述: 显示消息时间为 几天前 几小时前 几分钟前:同时一年以上的日期直接显示YYY:MM:DD形式 效果: 方法实现: 可以在utils目录下建一个存放公共方法的文件,将getDateDiff方法放 ...

最新文章

  1. 20180925-7 规格说明书-吉林市2日游
  2. 解决mysql导入数据文件过慢的问题
  3. mysql 常用sql语句 简介
  4. 这个需求很简单,明天上线没问题吧?要不要怼回去?
  5. mysql错误:this authentication plugin is not supported
  6. python资源管理错误漏洞_国家信息安全漏洞库
  7. cmake (2)其他指令
  8. armv8-M(cortex-m) Trustzone总结和介绍
  9. 手动将经典 VM 从 VHD 迁移到新的 ARM 托管磁盘 VM
  10. hive数据库numeric_hive中常用的函数
  11. windows下apache报错The requested operation has failed解决方法
  12. 转-----EasyCHM制作教程
  13. java 对象数据 搜索,Java数据对象JDO 2.0查询语言的特点
  14. 《HelloGitHub》第 74 期
  15. Android8.0 WIFI ap Tethering 相关知识
  16. vpu测试_611bp上的VPU测试
  17. Bootstrap笔记5—关闭图标、浮动
  18. python输入数据带单位_python – Pandas用单位插入数据
  19. 云堡垒机的作用_传统运维堡垒机和云堡垒机,哪个更好?
  20. 基于jsp的旅游信息网站的设计

热门文章

  1. 绕过CDN查询真实IP
  2. 天然甜菊的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  3. 2018年12月8日国际项目经理PMP培训考试报名中
  4. 苹果app商品定价_苹果将调整应用商店定价:中国区应用最低价涨至8元
  5. 我的Android读书笔记——(1)
  6. 【面试题】一个Http请求的流程
  7. 【Mac/iOS】解决CoreBluetooth中Characteristic的Properties显示问题
  8. 荣耀体质称显示网络服务器不可用,华为体脂秤如何重置
  9. 前端学习笔记001:HTML5
  10. AI常用框架和工具丨1. 科学计算库NumPy