1数值分析典型例题例1 对下列各数写出具有5位有效数字的近似值。
236.478, 0.00234711,9.000024, 9.000034310⨯.解:按照定义,以上各数具有5位有效数字的近似值分别为:236.478, 0.0023471, 9.0000, 9.0000310⨯。
注意: *x =9.000024的5位有效数字是9.0000而不是9,因为9是1位有效数字。
例2 指出下列各数具有几位有效数字。
2.0004, -0.00200, -9000, 9310⨯,2310-⨯。
解:按照定义,以上各数的有效数字位数分别为5, 3, 4,1,1 例3 已测得某物体行程*s 的近似值s=800m ,所需时间*s 的近似值为t=35s ,若已知m s s s t t 5.0||,05.0||**≤-≤-,试求平均速度v 的绝对误差和相对误差限。
解:因为t s v /=,所以)()(1)()()(2t e tss e t t e t v s e s v v e -=∂∂+∂∂≈ 从而05.00469.0358005.0351|)(||||)(|1|)(|22≤≈+⨯≤+≤t e t s s e t v e同样v v e v e r )()(≈)()()()(t e s e t e vtt v s e v s s v r r r -=∂∂+∂∂=所以00205.03505.08005.0|)(||)(||)(|≈+≤+≤t e s e v e r r r因此绝对误差限和相对误差限分别为0.05和0.00205。
例4试建立积分20,,1,05=+=n dx x x I nn 的递推关系,并研究它的误差传递。
解:151--=n n I nI ……………………………………………..…...(1) 5ln 6ln 0-=I ,计算出0I 后可通过(1)依次递推计算出1I ,…,20I 。
但是计算0I 时有误差0e ,由此计算出的1I ,…,20I 也有误差,由(1)可知近似值之间的递推关系为151--=n n I nI ……………………………………………….…..(2) (1)-(2)可得01)5(5e e e n n n -=-=-,由0I 计算n I 时误差被放大了n 5倍。
所以(1)不稳定。
(1) 可以改写为nI I n n 51511+-=- ……………………………………… (3) 如果能先求出20I ,则依次可以求出19I ,…,0I ,计算20I 时有误差,这样根据(3)计算19I ,…,0I 就有误差,误差传播为 n nn e e ⎪⎭⎫⎝⎛-=-511,误差依次减少。
例5 用二分法求解方程012)(23=+--=x x x x f 在区间[0,1]内的1个实根,要求有3为有效数字。
解:因为0)1()0(<f f ,且当]1,0[∈x 时,0223)(2<--='x x x f ,所2以方程在[0,1]内仅有一个实根,由311021)01(21-+⨯≤-k ,解得965.92ln 10ln 3≥≥k ,所以至少需要二分10次,才能得到满足精度要求的根。
第k 次有根区间为)(21],,[k k k k k b a x b a +=,该题的二分法的计算过程间下表,结果445.02/)(101010≈+=b a x 。
例6 在区间[2,4]上考虑如下2个迭代格式的敛散性 (1) ,2,1,0321=+=+k x x k k (2) ,2,1,0)3(2121=-=+k x x k k 解:(1)321)(,32)(+='+=x x x x ϕϕ,当]4,2[∈x 时,]4,2[]11,2[)]4(),2([)(⊂=∈ϕϕϕx ;171)2(|)(|<≤'≤'ϕϕx ,由收敛定理可知对任意的]4,2[0∈x ,迭代格式收敛 (2)x x x x ='-=)(,)3(21)(2ϕϕ,当]4,2[∈x 时2|)(|≥'x ϕ,从而该迭代格式发散。
例7 用迭代法求方程01)1()(2=-+=x x x f 在0.4附近的根,精确到4位有效数字。
解:将方程改写成等价的形式2)1(1+=x x ,于是有32)1(2)(,)1(1)(+-='+=x x x x ϕϕ。
17289.0|)4.0(|<='ϕ,从而迭代格式 ,2,1,0)1(121=+=+k x x k k 是局部收敛的,计算结果如下。
465552.0,465602.0,,510204.0,4.0181710====x x x x 00005.0||1718=-x x ,误差不超过41021-⨯,从而近似解465552.018=x 具有4位有效数字。
例8 用列主元Gauss 消元法解线性方程组⎪⎩⎪⎨⎧=++-=+-=+-6215318153312321321321x x x x x x x x x解:方程组的增广矩阵为3⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛--→⎪⎪⎪⎭⎫ ⎝⎛---→⎪⎪⎪⎭⎫ ⎝⎛----++↔641181961105371015131861211533121513186121151318153312121312)32(181r r r r r r ⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛-→⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛--→↔119611320064118196110151318537106411819611015131823r r ,通过回带过程得解为1,2,3123===x x x 。
例9 将方程组⎪⎩⎪⎨⎧=++-=+-=+-6215318153312321321321x x x x x x x x x 的系数矩阵作LU 分解,并求方程组的解。
解:增广矩阵为⎪⎪⎪⎭⎫⎝⎛---6121151318153312,LU 的紧凑格式为⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛----1631667121215272323153312,所以系数矩阵的LU 分解为 ⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛--⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛-=316002723033121671210123001A ,等价的三角形方程组为⎪⎪⎪⎪⎭⎫ ⎝⎛-=⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛--162151531600272303312321x x x ,解得1,2,3123===x x x 。
例10 假设矩阵⎪⎪⎭⎫⎝⎛--=2131A ,求21||||,||||,||||A A A ∞。
解:4}2|1||,3|1max {||||=+--+=∞A54}2|3||,1|1max {||||1==+--+=A⎪⎪⎭⎫⎝⎛--=13552A A T的特征方程为013552||=--=-λλλA A I T ,其特征根为222115,22211521-=+=λλ 864.3222115)(||||2≈+==A A A T ρ 例11讨论用Jacobi 迭代法求解线性方程组⎪⎩⎪⎨⎧=+--=-+-=--1052151023210321321321x x x x x x x x x 的收敛性,如果收敛,取初值0)0(3)0(2)0(1===x x x ,求)3(3)3(2)3(1,,x x x 。
4解:方程组的系数矩阵⎪⎪⎪⎭⎫ ⎝⎛------=52111021210A ,迭代矩阵⎪⎪⎪⎭⎫⎝⎛=⎪⎪⎪⎭⎫ ⎝⎛------⎪⎪⎪⎭⎫ ⎝⎛-=+=-04.02.01.002.01.02.000211021202.01.01.0)(1U L D B ,特征方程,04.02.01.02.01.02.0,0||=------=-λλλλB I 即06.050503=--λλ,通过计算得其特征值为1071,1071,2.0321-=+=-=λλλ,因此1||max <λ,从而迭代法是收敛的。
迭代格式为⎪⎩⎪⎨⎧++=++=++=+++5)102(10/)152(10/)32()(2)(1)1(3)(3)(1)1(2)(3)(2)1(1k k k k k k k k k x x x x x x x x x ,将初值带入计算可得,2,5.1,3.0)1(3)1(2)1(1===x x x ,66.2,76.1,8.0)2(3)2(2)2(1===x x x864.2,926.1,918.0)3(3)3(2)3(1===x x x例12 讨论用Guass-Seidel 迭代法求解线性方程组⎪⎩⎪⎨⎧=+--=-+-=--1052151023210321321321x x x x x x x x x 的收敛性,如果收敛,取初值0)0(3)0(2)0(1===x x x ,求)3(3)3(2)3(1,,x x x 。
解:方程组的系数矩阵⎪⎪⎪⎭⎫ ⎝⎛------=52111021210A ,迭代矩阵的特征方程,05211021210||=------=-λλλλλλλB I 即0)254500(2=--λλλ,通过计算得特征值为500172927,500172927,0321-=+==λλλ,因此1||max <λ,从而迭代法是收敛的。
迭代格式为⎪⎩⎪⎨⎧++=++=++=++++++5)102(10/)152(10/)32()1(2)1(1)1(3)(3)1(1)1(2)(3)(2)1(1k k k k k k k k k x x x x x x x x x ,将初值带入计算可得,684.2,56.1,3.0)1(3)1(2)1(1===x x x ,9539.2,9445.1,8804.0)2(3)2(2)2(1===x x x 9938.2,9923.1,9843.0)3(3)3(2)3(1===x x x例13已知2360sin ,2245sin ,5.030sin ===o o o ,用一次插值多项式、二次插值多项式近似sinx ,并用此近似求出o 50sin 。
解:取o 30和o 45作为节点作一次插值得2230453021453045)(1⨯--+⨯--=x x x L77614.022304530502145304550)50(50sin 1≈⨯--+⨯--=≈L o取o45和o60作为节点作一次插值得2330456022453045)(~1⨯--+⨯--=x x x L76008.023304560502245304550)50(~50sin 1=⨯--+⨯--==L o 。
5取o 30、o 45和o 60为插值节点,作二次插值23)4560)(3060()45)(30(22)6045)(3045()60)(30(21)6030)(4530()60)(45()(2⨯----+⨯----+⨯----=x x x x x x x L 76543.0)50(50sin 2≈≈L o误差分析:013190.0520)180(2321|)50(50sin |21=⨯⨯⨯⨯≤-πL o 006595.0510)180(2321|)50(~50sin |21=⨯⨯⨯⨯≤-πL o000767.010520)180(2361|)50(50sin |32=⨯⨯⨯⨯⨯≤-πL o 可以看出用o45和o60做线性插值的精度比用o45和o30做线性插值的精度高,因为o 50在o 45和o60之间。