实验2误差传播 参考答案 采用logc格式计算2.6连续加上三个0.2、26连续加上四个0.6的结果,判断计算 结果正确与否并解释原因。 >>format long e >2.6+0.6 ans 3.200000000000000e+00 >>2.6+0.2 >>ans+0.6 ans=2.800000000000000e+00 ans 3.800000000000000e+00 ans+0.2 >ans+0.6 ans=3.000000000000000e+00 ans 4.400000000000000e+00 >>ams0.2 >>ans+0.6 as=3.200000000000001e+00 ans=5 对精确的有理小数0.2的反复加运算产生了错误的数据位数,导致结果错误 对0.6的反复加运算不仅没有丢失精度,而且最后结果是完全正确的整数5,这说助 在MATLAB中数值计算采用的是有限精度(尾数和阶码位数有限)的存储,由数字 的浮点数形式的存储引起算术运算中的舍入误差,舍入的位数是由机器精度决定的。 2. 对下列3个差分方程计算出前10个数值近似值。在每种情况下引入一个小的初始误 差。如果没有初始误差,则每个差分方程将生成序列1/2””1。编程计算每个序列, 构造如下两张表,绘制每个序列的误差序列图形。从中能得到什么结论? a)0=0.994,5n=2rn-1,其中n=1,2 b)p0=1,1=0.497,m=2m-1-2mn-2,其中n=2,3 心)q0=1,q1=0.497,qn=qm-1-9n-2其中n=2,3, 构造表1和表2: 表1序列x=12"以及近似值.p}和{qa 0 1.0000000000000000.994000000000000 1.000000000000000 1.000000000000000 0.5000000000000000.497000000000000 0.497000000000000 0.497m00m0mm00m0 0.12500000000000 0.12425000000 0. 0.109 0.062500000000000 0.062125000000000 0.05687000000000 0.030625000000000 0.0312500000000000.031062500000000 0.025437500000000 -003268750m00m00 0.00781250000000 0.00776562500 0.001859375000000 0.248171875 0.0039062500000000.00382812500000 -0.002070312500000 -0.508085937500005 90.0019531250000000.001941406250000 0004035163000 .1.022042968750010 实验 2 误差传播 参考答案 1. 采用 long e 格式计算 2.6 连续加上三个 0.2、2.6 连续加上四个 0.6 的结果,判断计算 结果正确与否并解释原因。 >> format long e >> 2.6+0.6 ans = 3.200000000000000e+00 >> 2.6+0.2 ans = 2.800000000000000e+00 >> ans+0.6 ans = 3.800000000000000e+00 >> ans+0.2 ans = 3.000000000000000e+00 >> ans+0.6 ans = 4.400000000000000e+00 >> ans+0.2 ans = 3.200000000000001e+00 >> ans+0.6 ans = 5 对精确的有理小数 0.2 的反复加运算产生了错误的数据位数,导致结果错误; 对 0.6 的反复加运算不仅没有丢失精度,而且最后结果是完全正确的整数 5.这说明 在 MATLAB 中数值计算采用的是有限精度(尾数和阶码位数有限)的存储,由数字 的浮点数形式的存储引起算术运算中的舍入误差,舍入的位数是由机器精度决定的。 2. 对下列 3 个差分方程计算出前 10 个数值近似值。在每种情况下引入一个小的初始误 差。如果没有初始误差,则每个差分方程将生成序列{1 2 𝑛 ⁄ }𝑛=1 ∞ 。编程计算每个序列, 构造如下两张表,绘制每个序列的误差序列图形。从中能得到什么结论? a) 𝑟0 = 0.994,𝑟𝑛 = 1 2 𝑟𝑛−1,其中 n =1,2,… b) 𝑝0 = 1, 𝑝1 = 0.497, 𝑝𝑛 = 3 2 𝑝𝑛−1 − 1 2 𝑝𝑛−2,其中 n =2,3,… c) 𝑞0 = 1, 𝑞1 = 0.497,𝑞𝑛 = 5 2 𝑞𝑛−1 − 𝑞𝑛−2,其中 n =2,3,… 构造表 1 和表 2: 表 1 序列{𝑥𝑛 } = {1/2 𝑛 }以及近似值{rn},{pn}和{qn} n xn rn pn qn 0 1.000000000000000 0.994000000000000 1.000000000000000 1.000000000000000 1 0.500000000000000 0.497000000000000 0.497000000000000 0.497000000000000 2 0.250000000000000 0.248500000000000 0.245500000000000 0.242500000000000 3 0.125000000000000 0.124250000000000 0.119750000000000 0.109250000000000 4 0.062500000000000 0.062125000000000 0.056875000000000 0.030625000000000 5 0.031250000000000 0.031062500000000 0.025437500000000 -0.032687500000001 6 0.015625000000000 0.015531250000000 0.009718750000000 -0.112343750000001 7 0.007812500000000 0.007765625000000 0.001859375000000 -0.248171875000003 8 0.003906250000000 0.003882812500000 -0.002070312500000 -0.508085937500005 9 0.001953125000000 0.001941406250000 -0.004035156250000 -1.022042968750010