1、常微分方程初值问题的数值解法,第7章,引言,在实际问题中,常需要求解微分方程(如发电机转子运动方程)。只有简单的和典型的微分方程可以求出解析解,而在实际问题中的微分方程往往无法求出解析解。,常微分方程:,-(1),-(2),一阶常微分方程,-(3),(1),(2)式称为初值问题,(3)式称为边值问题,-(4),另外,在实际应用中还经常需要求解常微分方程组:,本课程主要研究问题一阶常微分方程(1)的数值解法,我们首先介绍初值问题(1)的解存在的条件,定理 只要 f (x, y) 连续,且关于 y 满足 Lipschitz 条件,即存在与 x, y 无关的常数 L 使 对任意定义在 a, b 上的
2、 y1(x) 和 y2(x) 都成立,则初值问题(1)存在唯一解。,(通常采用等距节点),常微分方程数值解公式的推导,求初值问题数值解的方法是步进法,即从已知的初值y0出发,通过一定的计算求y1 ,然后由y1或y0和y1求出y2 ,依次计算到yn ,即在计算出yk后计算yk+1 ,这时有,单步法:计算yk+1时,只利用yk,多步法:计算yk+1时,用到yk, yk-1, yk-2,常微分方程数值解公式的主要推导方法,1、泰勒展开的求解思路:,将 按泰勒级数展开,2、化导数为差商的求解方法思路:,若在点 处的导数用差商来近似代替,如向前差商,则微分方程初值问题化为,将近似号改为等号,精确解 改为
3、近似解 ,得,3、数值积分的求解思路:,如果将微分方程 在各小区间 上对其两边进行积分,即,如用矩形数值积分公式可得:,以上三种方法推导出同一个数值求解公式:,这个数值公式称为欧拉(Euler)公式。,7.1 欧拉方法,一、 欧拉格式:,欧拉公式几何意义,用一条通过初始点的折线近似表示解曲线 ,亦称为欧拉折线法 ,或称为矩形法。,1、显式欧拉公式, 欧拉法的局部截断误差:,欧拉法具有 1 阶精度。,局部截断误差和阶数,2、隐式欧拉格式,由于未知数 yk+1 同时出现在等式的两边,不能直接得到,故称为隐式 欧拉公式,而前者称为显式 欧拉公式。,一般先用显式计算一个初值,再迭代求解。, 隐式欧拉法
4、的局部截断误差:,即隐式欧拉公式具有 1 阶精度。,二、两步欧拉格式(中点公式),假设 ,则可以导出 即两步欧拉格式具有 2 阶精度。,该方法需要2个初值 y0和 y1来启动递推过程,这样的算法称为双步法。,三、 梯形公式, 显、隐式两种算法的平均,注:有局部截断误差 ,即梯形公式具有2 阶精度,比欧拉方法有了进步。但注意到该公式是隐式公式,计算时不得不用到迭代法,不易求解。,对欧拉法进行改进,用梯形公式计算右侧积分,即,计算公式,梯形格式算法计算步骤:,先用(1)式计算出 处 。,再用(2)式反复进行迭代,得到,四、改进欧拉法(预报-校正法),表示为平均化形式,此法称为预报-校正法,是显式算
5、法。,注:可以证明该算法具有 2 阶精度,同时可以看到它是个单步递推格式(只迭代一次) ,比隐式梯形公式的迭代求解过程简单。,脚标用 i,简单,精度低,稳定性最好,精度低, 计算量大,精度提高,计算量大,精度提高, 显式,多一个初值, 可能影响精度,不同方法比较,举例:,欧拉方法的几何意义,7.2 龙格 - 库塔法,一、 泰勒级数法,龙格库塔(Runge-Kut ta)法(简称为R-K方法)是一类高精度的一步法,这类方法与泰勒级数法有着密 切的关系。,设有初值问题,由 泰勒展开式,从理论上讲,只要解y(x)有任意阶导数,泰勒展开方法就可以构造任意阶求yk+1公式。但由于计算这些导数是非常复杂的
6、,所以这种方法实际上不能用来解初值问题。,设有初值问题,二、龙格库塔法的基本思路,等价于:,(积分中值定理),R-K方法基本思想:用 在几个不同点的加权平均值(线性组合)来代替准确的 的值,构造近似公式。再把近似公式与解的泰勒展开 式进行比较,使前面的若干项相同,从而使近似公式达到一定的阶数。这样龙格库塔法保留了泰勒级数展开法的高阶局部截断误差,又避免了高阶导数的计算。我们先分析欧拉法 与预估校正法。,推广,这种单步法称为Runge-Kutta方法,简记为R-K公式.,Ki为某些点上的斜率,或f(x,y)在某些点上的值。,三、 二阶龙格 - 库塔法,目标:建立高精度的单步递推格式。,单步递推法
7、的基本思想是从 ( xi , yi ) 点出发,以某一斜率沿直线达到 ( xi+1 , yi+1 ) 点。欧拉法及其各种变形所能达到的最高精度为2阶。,斜率 一定取K1 K2 的平均值吗?,步长一定是一个h 吗?,脚标用 i,首先希望能确定系数 1、2、p,使得到的算法格式有2阶精度,即在 的前提假设下,使得,Step 1: 将 K2 在 ( xi , yi ) 点作 Taylor 展开,Step 2: 将 K2 代入yi+1表达式,得到,Step 3: 将 yi+1 与 y( xi+1 ) 在 xi 点的泰勒展开作比较,要求 ,则必须有:,这里有 个未知数, 个方程。,3,2,存在无穷多个解
8、。所有满足上式的格式统称为2阶龙格 - 库塔格式。,注意到, 就是改进的欧拉法。,Q: 为获得更高的精度,应该如何进一步推广?,其中i ( i = 1, , m ),i ( i = 2, , m ) 和 ij ( i = 2, , m; j = 1, , i1 ) 均为待定系数,确定这些系数的步骤与前面相似。其解不唯一。,最常用为四阶经典龙格-库塔法,四阶经典龙格-库塔法公式,四、 四阶龙格 - 库塔法,用四个f函数值的线性组合得到四阶龙格 - 库塔法。,经典龙格-库塔法公式具有四阶精度,因此可取大步长。,4 收敛性与稳定性 /* Convergency and Stability */, 收
9、敛性 /* Convergency */,例:就初值问题 考察欧拉显式格式的收敛性。,解:该问题的精确解为,欧拉公式为,对任意固定的 x = xi = i h ,有, 稳定性 /* Stability */,例:考察初值问题 在区间0, 0.5上的解。 分别用欧拉显、隐式格式和改进的欧拉格式计算数值解。,1.0000 2.00004.0000 8.00001.6000101 3.2000101,1.0000 2.5000101 6.2500102 1.5625102 3.9063103 9.7656104,1.0000 2.5000 6.2500 1.5626101 3.9063101 9.7
10、656101,1.0000 4.9787102 2.4788103 1.2341104 6.1442106 3.0590107,一般分析时为简单起见,只考虑试验方程 /* test equation */,常数,可以是复数,例:考察隐式欧拉法,可见绝对稳定区域为:,注:一般来说,隐式欧拉法的绝对稳定性比同阶的显式法的好。,例:隐式龙格-库塔法,而显式 1 4 阶方法的绝对稳定区域为,其中2阶方法 的绝对稳定区域为,无条件稳定,要求熟练掌握的内容: 欧拉格式、隐式欧拉格式、梯形格式和改进欧拉格式的基本公式,计算步骤,算法; 运用经典龙格库塔法求常微分方程数值解。 要求掌握的内容: 龙格库塔法的基本思想,计算格式的导出; 单步法局部截断误差及阶的定义和计算。,本章要求,本章要求,考试,10月19日(周日):下午2:30-4:30 成绩(过程考核20%+期末考试80%) 20分左右简答,60分左右计算 解非线性方程,解方程组(列主元素消去和LU分解),插值,拟合,积分,常微分方程的数值解法(欧拉法,龙格库塔法),上机,公共邮箱shuzhi_ 密码 shuzhi2014 上机时间和地点、题目和要求 两批(上午一批,下午一批) 第一次上机时间:第九周的周六和周日,