编辑: kieth | 2016-06-12 |
1 t ln(t) =
1 ln(t) . 所以当 t ≈
1 时, 函数是病态的. 因此当 x ≈ y 时, 改用 ln(x) ? ln(y) = ln x y 并不能减少舍入误差. 1.9 正方形的边长大约为
100 cm, 应怎样测量才能使其面积误差不超过
1 cm2 ? 解. 正方形的面积函数为 f(x) = x2 , 所以 ε(f(? x)) ≈ |f′ (? x)|ε(? x) = 2? xε(? x) = 200ε(? x). 要使得 ε(f(? x)) ≤ 1, 则边长的误差必须满足 ε(? x) ≈
1 200 ε(f(? x)) ≤ 0.005 (cm). 1.10 设S=12gt2 , 假定 g 是准确的, 而对 t 的测量有 ±0.1 秒的误差. 证明: 当t增加时 S 的绝对误差增 加, 而相对误差却减少. 证明. 由S(t) =
1 2 gt2 可知 |e(S(? t))| ≈ |S′ (? t)e(? t)| = |g? t| ・ |e(? t)|, |er(S(? t))| = |e(S(? t))| |S(? t)| ≈ |g? t| ・ |e(? t)|
1 2 g|? t|2 = 2|e(? t|) |? t| . 因此, 当e(? t) 固定, t 增加时, ? t 也增加. 所以, 绝对误差 e(S(? t)) 也增加, 而相对误差 er(S(? t)) 却减小. ・
112 ・ 第四讲 数值积分与数值微分 1.11 序列 {yn} 满足递推关系 yn = 10yn?1 ? 1, n = 1, 2, 若y0 = √
2 ≈ 1.41(保留三位有效数字), 计算到 y10 时, 误差有多大?这个计算过程稳定吗? % 整数运算 (加, 减, 乘, 幂) 在不溢出的情况下不用考虑舍入误差. 解. 设?yn 是yn 的近似值, 则由递推公式可知, ? yn ? yn = (10? yn?1 ? 1) ? (10yn?1 ? 1) = 10(? yn?1 ? yn?1). 以此类推, 可知 ? y10 ? y10 = 10(? y9 ? y9)1010 (? y0 ? y0). 由题意可知, e(? y0) ≈ 0.5 * 10?2 . 所以计算到 y10 时, 误差为 e(? y10) ≈ 0.5 *
108 . 由于每一步的计算误差都是以
10 倍的速度增长, 所以这个计算过程是不稳定的. % 本题与第
6 题的区别: 递推公式中的常数项是整数,因此可以不考虑其舍入误差. 5.2 函数插值 ・
113 ・ 5.2 函数插值 2.1 当x=1, ?1,
2 时, f(x) = 0, ?3, 4, 求f(x) 的二次插值多项式. (1) 用单项式基函数;
(2) 用Lagrange 基函数;
(3) 用Newton 基函数. 解. 设二次插值多项式为 p2(x). 由题意可知, 插值节点为 x0 = 1, x1 = ?1, x2 = 2, 插值条件为 p2(x0) = f(x0) = 0, p2(x1) = f(x1) = ?3, p2(x2) = f(x2) = 4. (1) 用单项式基函数 设p2(x) = a0 + a1x + a2x2 , 将插值条件代入可得 ? ? ? ? ? ? ? ? ? a0 + a1 + a2 =
0 a0 ? a1 + a2 = ?3 a0 + 2a1 + 4a2 = 4. 解得 a0 = ?7
3 , a1 =
3 2 , a2 =
5 6 . 故p2(x) = ?
7 3 +
3 2 x +
5 6 x2 . (2) 用Lagrange 基函数 由Lagrange 插值法可知 p2(x) = f(x0)l0(x) + f(x1)l1(x) + f(x2)l2(x) = ?3l1(x) + 4l2(x) = ? 3(x ? x0)(x ? x2) (x1 ? x0)(x1 ? x2) + 4(x ? x0)(x ? x1) (x2 ? x0)(x2 ? x1) = ?
3 6 (x ? 1)(x ? 2) +
4 3 (x ? 1)(x + 1) =
5 6 x2 +
3 2 x ?
7 3 . (3) 用Newton 基函数 做差商表 xi f(xi) 一阶差商 二阶差商
1 0 -1 -3 3/2
2 4 7/3 5/6 由Newton 插值法可知, p2(x) = f(x0) + f[x0, x1](x ? x0) + f[x0, x1, x2](x ? x0)(x ? x1) =
0 +
3 2 (x ? 1) +
5 6 (x ? 1)(x + 1) =
5 6 x2 +
3 2 x ?
7 3 . 通过比较可知, 三种方法得到的二次插值多项式是相同的. ・
114 ・ 第四讲 数值积分与数值微分 2.2 给出 f(x) = ln(x) 的数值表, 用线性插值和二次插值计算 ln(0.54) 的近似值. 解. 略, 见例 2.4. 2.3 已知 cos(x) 在等距插值节点的函数值, 步长为 h = 1′ = (1/60)? . 若函数值具有
5 位有效数字, 研究 用线性插值求 cos(x) 近似值时的总误差界. 解. 设f(x) = cos(x), x ∈ [0, π
2 ]. 首先将步长转化为弧度, 即h=1′ = (1/60)? =
1 60 ・ π
180 = π
10800 . 由插值区间 [0, π
2 ] 可知, 插值节点为 xi = i ? h, i = 0, 1, 2,5400. 对于任意给定的 x ∈ [0, π