140 likes | 356 Views
数值微分. 当函数 f (x)是以离散点给出时,或函数的表达式过于复杂时,其微分较难于求出。这时可用 数值微分 来近似计算 f ( x )的微分值 f ' ( x ). 在微积分学中 , 导数 f ' ( x ) 有以下三种定义 :. 在微积分学,用 差商的极限 定义导数 在数值计算中,用 差商近似 导数. 差商与数值微分 1、 最简单的数值微分方法:用差商 近似 导数. 向前差商. 向后差商. 中心差商. 2、 误差估计 向前差商的截断误差 由泰勒展式. ∴ 向前差商的截断误差为:. 向后差商的截断误差 由泰勒展式. ∴ 向后差商的截断误差为:.
E N D
数值微分 当函数 f(x)是以离散点给出时,或函数的表达式过于复杂时,其微分较难于求出。这时可用数值微分来近似计算f (x)的微分值 f ' (x)
在微积分学中,导数 f ' (x)有以下三种定义: 在微积分学,用差商的极限定义导数 在数值计算中,用差商近似导数
差商与数值微分 1、最简单的数值微分方法:用差商近似导数 向前差商 向后差商 中心差商
2、误差估计 • 向前差商的截断误差 • 由泰勒展式 ∴向前差商的截断误差为:
向后差商的截断误差 • 由泰勒展式 ∴向后差商的截断误差为:
中心差商的截断误差 • 由泰勒展式 ∴中心差商的截断误差为:
例给出下列数据,计算 f '(0.02), f '(0.10), f ''(0.08) 解f '(0.02)≈(5.07-5.06) / (0.04-0.02) = 0.5 f '(0.10)≈(5.055-5.05) / (0.10-0.08)=0.25 f '(0.06)≈(5.05-5.07) / (0.08-0.04)=-0.5 f ''(0.08)≈(f '(0.10)- f '(0.06))/(0.10-0.06)=18.75
用函数的差商近似导数,会产生截断误差,而且截断误差与| h |(步长)有关,当| h |越小,则截断误差也会小;但是截断误差只是误差的一部分,此外还有舍入误差,而数值微分恰好对舍入误差非常敏感,它有时会随着| h |的缩小而增大。
h f’(1.15) 误差 h f’(1.15) 误差 0.10 3.1630 -0.0048 0.05 3.1590 -0.0008 0.09 3.1622 -0.0040 0.04 3.1588 -0.0006 0.08 3.1613 -0.0031 0.03 3.1583 -0.0001 0.07 3.1607 -0.0025 0.02 3.1575 0.0007 0.06 3.1600 -0.0018 0.01 3.1550 0.0032 例对函数 y=ex,取不同的步长计算f ‘(1.15), 观察误差变化规律,(中心差商)
设定最佳步长 • 方法:通常用事后估计方法选取步长h,若记D(h), D(h/2)分别为步长h, h/2 的差商计算公式,给定误差限ε,当| D(h) -D(h/2) |< ε时,h/2就是合适的步长。 • 或以| D(hi) -D(hj) |最小确定步长。
插值型数值微分 1、对于f (x),,给定n+1个点构造n次插值函数φ(x),用φ(x) 的各阶导数近似 f (x) 的各阶导数 如:给定n+1个点( xi , yi )( i =0, 1, …, n) 构造n次Lagrange插值多项式
2、误差估计 例2.3给定( xi , f( xi))( i = 0, 1, 2) ,并且有 x2 - x1 = x1 – x0 = h,计算f '( x0), f '( x1), f '( x2) 解构造过点( xi , f( xi))( i = 0, 1, 2) 的二次多项式