数值分析第一章绪论与误差分析§1绪论:数值分析的研究内容§2误差的来源和分类§3误差的表示§4误差的传播§5算法设计的若干原则例1-3设x*=2.18是由精确值x经过四舍五入得到的近似值。问x的绝对误差限ε和相对误差限η各是多少?解:因为x=x*±0.005,关于近似数误差的大小除了用绝对误差、相对误差度量以外,还可以用有效数字度量,下面给出有效数字的概念。所以绝对误差限为ε=0.005%23.018.2005.0*x相对误差限为1415926.3001.0114159.3,142.3,14.3321三、有效数字一个数的近似数往往是通过四舍五入的原则求得,例如取以下近似数可以发现每一个近似数的绝对误差限都不超过近似数末尾数位的半个单位。如果一个近似数满足这个条件,就把这个近似数从末尾到第一位非零数字之间的所有数字叫做有效数字。0004.02000002.0321021005.0310210005.051021000005.0则分别得到这些近似数的绝对误差结论:通过四舍五入原则求得的近似数,其有效数字就是从末尾到第一位非零数字之间的所有数字。则称近似数x*具有n位有效数字。定义1.3设数x的近似值可以表示为mnx10.021*其中m是整数,αi(i=1,2,…,n)是0到9中的一个数字,而α1≠0.如果其绝对误差限为例如近似数x*=2.0004,其绝对误差限为由科学计数法x*=0.20004×101得到514*10211021xx故,该近似数有五位有效数字。*41102xx是末尾数位的半个单位,即由四舍五入得来小结:由科学计数法表示的数字,若其绝对误差限满足不等式,则有n位有效数字*1102mnxx例1-4下列近似数是通过四舍五入的方法得到的,试判定它们各有几位有效数字:解:我们可以直接根据近似数来判断有效数字的位数,也可以通过绝对误差限来判断。有5位有效数字。同理可以写出可以得出x2,x3,x4各具有4、3、4位有效数字。x1*=87540,x2*=8754×10,x3*=0.00345,x4*=0.3450×10-21112xx510.8754010x而55111021xx所以1221102xx520.875410x54221102xx5331102xx6441102xx230.34510x240.345010x-23331102xx24441102xx已知*1102mnxx例1-4已知e=2.718281828……,试判断下面两个近似数各有几位有效数字?6110210000005.00000001.0ee718281.2,718282.221ee615210211021000005.00000008.0ee解:由于而11102718282.0718282.2e所以7161102110210000005.00000001.0eee1有7位有效数字。同理:e2只有6位有效数字。三、绝对误差、相对误差、有效数字的关系2、绝对误差与有效数字的关系xxxxexxxer**)(,)(,)()(xxexer得到:1、绝对误差与相对误差的关系nmxx1021*可以知道:有效数字位数越多,绝对误差限越小。由关系式:)()(xxexer或者mnx10.0*213、相对误差与有效数字的关系由近似数得到相对误差限nmxx1021*可以看出:有效数字位数越多,相对误差限越小。及12*0.10mnx112.10mn1110m*(1)11111012()10102mnnrmxxexxaa解:由于,则近似值x*可写为4.42012*0.10nxααα=?L041例1-5为了使的近似值的相对误差小于10-3,问应取几位有效数字?20x根据)1(111*1021101021)(nmnmrxxxxe3)1(1010421n只要即可,解得:n≥4,故只要取n=4,就可满足要求。即应取4位有效数字,472135.420准确数为:此时x=4.472.练习1.1:判断下列近似数个有几位有效数字,用绝对误差限表示。注意:精确值的有效数字可以认为有无限多位。如:50000.021x1*=24.67x2*=3850×103x3*=0.6742×10-2x4*=0.000374x5*=0.8400习题一1-1下列各数都是经过四舍五入得到的近似值。试分别指出它们的绝对误差限,相对误差限和有效数字的位数。a=0.0315,b=0.3015,c=31.50,d=50001-2下列近似值的绝对误差限都是0.005,a=-1.00031,b=0.042,c=-0.00032试指出它们有几位有效数字。1-3为了使的近似值的相对误差小于0.01%,试问应取几位有效数字?101-4求方程x2-56x+1=0的两个根,使它们至少具有四位有效数字.964.5531321-6设,假定g是精确的,而对时间t的测量有±0.1s的误差。证明:当t增大时,S的绝对误差增大而相对误差减小.221gtS1-5若取及初始值y0=28,按递推公式983.27783,2,1,78310011nyynn计算y100,试估计y100有多大误差。第二章代数插值§1多项式插值问题§2Lagrange插值多项式§3差商及Newton插值多项式§4分段插值多项式§5三次样条(Spline)插值多项式一、线性插值(n=1)求解L1(x)=a1x+a0ixiy0x1x0y1y已知使得f(x)≈L1(x),x∈[x0,x1].10100101yxxxxyxxxx根据点斜式得到)()(0010101xxxxyyyxL)(1xLy)(xfy0x1xOxy如果令1010)(xxxxxl0101)(xxxxxl则称l0(x),l1(x)为一次插值多项式的基函数。这时:并称其为一次Lagrange插值多项式。0)(,1)(1000xlxl1)(,0)(1101xlxlf(x)≈L1(x)=y0l0(x)+y1l1(x)二、抛物线插值(n=2)求解L2(x)=a2x2+a1x+a0使得f(x)≈L2(x),x∈[x0,x2].关于二次多项式的构造采用如下方法:令已知ixiy0x1x0y1y2x2y并由插值条件得到))((20100xxxxyA))((21011xxxxyB))((12022xxxxyCL2(x)=A(x-x1)(x-x2)+B(x-x0)(x-x2)+C(x-x0)(x-x1)L2(x0)=y0,L2(x1)=y1,L2(x2)=y2于是得到2120210121012002010212))(())(())(())(())(())(()(yxxxxxxxxyxxxxxxxxyxxxxxxxxxL则有jijixlijij,0,1)(f(x)≈L2(x)=y0l0(x)+y1l1(x)+y2l2(x)2020jjijijiiyxxxx))(())(()(2010210xxxxxxxxxl如果令))(())(()(2101201xxxxxxxxxl))(())(()(1202102xxxxxxxxxl并称其为二次Lagrange插值多项式。紧凑格式则称l0(x),l1(x),l2(x)为二次插值多项式的基函数。这时:这样,就得到二次拉格朗日插值多项式的三种表示形式20202)(jjijijiiyxxxxxL…………………紧凑格式这样就得到在区间[a,b]上关于f(x)的近似计算式202)()(jjjxlyxL…………………基函数表示jjjjyxxxxxL20332)()()()(………………ω3(x)表示式],[),()(202xxxxLxf下面给出n次拉格朗日插值多项式的构造。三、n次Lagrange插值多项式已知n+1组离散数据ixiy0x1x0y1ynxny按照二次Lagrange插值多项式的构造方法,令:)())(()())(()())(()(110201210nnnnnxxxxxxAxxxxxxAxxxxxxAxL将插值条件Ln(x0)=y0代入,得到:)())((0201000nxxxxxxyA同理,由插值条件Ln(x1)=y1,得到:)())((1210111nxxxxxxyA),(),()!1()()()()(1)1(baxnfxLxfxRnnnn对于误差估计式当n=1时))((!2)()()()(1011xxxxfxLxfxR如果)(max],[2xfMbax存在,则可以估计误差限:))((max)(max21)(10],[],[11010xxxxxfxRxxxxxx20122012)(814)(21xxMxxM于是,得到如下Lagrange插值多项式及其误差估计这里f(x)=Ln(x)+Rn(x)当f(x)≈Ln(x)时,误差为Rn(x)。),(),()!1()()(1)1(baxnfxRnnnnjjijinjiinyxxxxxL00)(jnjjnjnnyxxxxxL011)()()()())()(()(2103xxxxxxx例2已知分别用线性插值和二次插值计算sin0.3367.352274.036.0sin,333487.034.0sin,314567.032.0sin解:设36.0,34.0,32.0210xxx352274.0,333487.0,314567.0210yyy(1)取x0,x1作线性插值101001011)(yxxxxyxxxxxL)32.0(02.0333487.0)34.0(02.0314567.0xx于是330365.0)3367.0(3367.0sin1L关于误差,由))((2sin))((!2)()(10101xxxxxxxxfxR得到:)34.03367.0)(32.03367.0(333487.021)3367.0(1R510918923.00.320.3250.330.3350.3400.20.40.60.810.320.3250.330.3350.340.310.3150.320.3250.330.3350.34))((max)(max21)(10],[],[11010xxxxxfxRxxxxxx(2).取x0,x1,x2作二次插值330374.0)3367.0(3367.0sin2L2120210121012002010212))(())(())(())(())(())(()(yxxxxxxxxyxxxxxxxxyxxxxxxxxxL得到关于误差,由))()((6cos))()((!3)()(2102102xxxxxxxxxxxxfxR))()((6cos))()((!3)()(2102102xxxxxxxxxxxxfxR得到)36.03367.0)(34.03367.0)(32.03367.0(161)3367.0(2R610107000.00.