1、 例题分析一 例1 设准确值x*=π =3.1415926,当分别取近似值x=3.14和x=3.1416和x=3.1415时,求绝对误差、绝对误差限及有效数字位数。 解:近似值x=3.14=0.314×101,即m=1, 它的绝对误差是 -0.0015926…,有 │x-x*│=0.0015926…≤0.5×101-3 即n=3,故x=3.14有3位有效数字。x=3.14准确到小数点后第2位,又近似值x=3.1416,它的绝对误差是0.0000074…,有 │x-x*│=0.0000074…≤0.5×101-5 即m=1,n=5,x=3.1416有5位有效数字。
2、而近似值x=3.1415,它的绝对误差是0.0000926…,有 │x-x*│=0.0000926…≤0.5×101-4 即m=1,n=4,x=3.1415有4位有效数字。 这就是说某数有s位数,若末位数字是四舍五入得到的,那么该数有s位有效数字; 例2 指出下列各数具有几位有效数字,及其绝对误差限和相对误差限: 2.0004 -0.00200 9000 9000.00 解:因为x1=2.0004=0.20004×101,它的绝对误差限0.00005=0.5×101-5,即m=1,n=5,故x=2.0004有5位有效数字。 a1=2,相对误差限; x2=
3、-0.00200,绝对误差限0.000005,因为m=-2,n=3,x2=-0.00200有3位有效数字。 a1=2,相对误差限 x3=9000,绝对误差限为0.5×100,因为m=4, n=4,x3=9000有4位有效数字,a=9,相对误差限 x4=9000.00,绝对误差限0.005,因为m=4,n=6,x4=9000.00有6位有效数字,相对误差限为 由x3与x4可以看到小数点之后的0,不是可有可无的,它是有实际意义的。 例3 ln2=0.69314718…,精确到10-3的近似值是多少? 解:精确到10-3=0.001,意旨两个近似值x1,x2满足│x1-x2
4、│≤0.001,由于近似值都是四舍五入得到的,要求满足│x1-x2│≤0.001,近似值的绝对误差限应是ε=0.0005,故至少要保留小数点后三位才可以。故In2≈0.693。 例4 试利用f(x)的数据表 计算积分,并估计计算误差. 分析 在f(x)的表达式不知道的情况下,如何去求f(x)的积分值呢?若利用本章的知识,即可利用已知的f(x)的数据表构造f(x)的二次插值多项式p2(x),以作为f(x)的近似函数,并进而以p2(x)的积分值作为所求积分值的近似。至于误差的计算,也可由误差f(x)-p2(x)出发进行估计。 解:根据拉格朗日插值公式,利用给定的数据表,可
5、构造出f(x)的二次插值多项式 插值余项为 . 由此得积分近似值 积分值的误差为 其中 例5 给定f(x)在节点a,b上的函数值与导数值f(a),f(b),f′(a)。试求一个二次多值式H2(x),使之满足插值条件 H2(x)=f(a),H2(x)=f(b), (1) 分析 构造插值多项式的基本方法是基函数法,即对每一个插值条件建立一个与之相应的插值基函数。基函数的形式要与所求的插值函数相一致。然后用给定的插值数据与基函数作线性组合,就可得到所求的插值函数。 解:法一 与(1)中三个插值条件相应
6、依次建立三个插值基函数,是二次多项式且满足标准的基函数插值条件 利用待定系数法容易求得 则所求的二次插值多项式为 法二 可先根据给定条件H2(x)=f(a),H2(b)=f(b)作出牛顿插值(或拉格朗日插值)多项式,然后再加带有待定系数的一项,所加项自然应保证在a,b处取值为零,故而可取k(x-a)·(x-b),再由条件确定待定系数k。 设H2(x)=f(a)+f[a,b](x-a)+k(x-a)(x-b)。于是 所以 注 由于二次多项式由H2(a),f(b),f′(a)三个条件所唯一确定,所以本题由各种方法所求得的解,实质上是相同的。 例题分析二
7、 例6 已知函数y=f(x)的观察数据为 试构造f(x)的拉格朗日多项式Pn(x),并计算f(-1)。 解:先构造基函数 所求三次多项式为: 例7 已知函数y=f(x)的数据如表中第2,3列。计算它的各阶均差。 解:依据均差计算公式,结果列表中。 计算公式为: 一阶均差 二阶均差 ……… 例8 设x0,x1,x2,…,xn是n+1个互异的插值节点,lk(x)(k=0,1,2,…,n)是拉格朗日插值基函数,证明: 证明 当f(x)=1时, 由于,故有. 例9 已知数据表如下: 用最小二乘法求拟合这组数据的曲线。
8、 分析 首先根据已知数据,在坐标平面上画出相应的点,然后再画出曲线的粗略图形。如图3.1。 由图形确定拟合函数的类型。在具体问题中也可结合考虑问题的物理意义和经验。 最后由最4'-乘法建立法方程组,求出待定的参数,即可得拟合曲线的方程。并可比较拟合值、实验值算出各点的误差 图3.1 解:根据图3.1,取幂函数y=axb作拟合函数,其中a,b 为待定参数。根据曲线拟合的思想,令 由 (a,b)求出a,b.由极值的必要条件得方程组 这是关于a、b的非线性方程组,求解很困难。 于是,将问题转化为线性问题求解。为此,将y=axb两边取对数有 lgy=l
9、ga+blgx. 令ω=lgy,z=lgx,c=lga。上式化为 ω=c+bz 由(xi,yi)可得到相应的(zi,ωi),于是得如下数据表: 这样,待定系数c,b即为内容提要中所述的和的线性组合系数。建立c,b所满足的法方程组 其中 由方程组(1)解得C=0.1624,b=2.0150。从而a=10c=1.4534,Y=1.4534,x2.0150。 比较拟合值、实验值并算出各点的误差如下表 注:通常针对一组数据的图形,可以选择不同的拟合函数类进行求解,最后按误差大小决定取舍。 例题分析三 例10 满足条件p(0)=p′(0)=0,p(1)
10、1,p(2)=2的插值多项式p(x)=________________ 解:设所求的为p(x)=a0+a1x+a2x2+a3x3 由插值条件知 解之得 a2=3/2 a3=-1/2 所求的插值多项式为p(x)=-1/2x3+3/2x2 例11 选择填空题 1.通过四个互异节点的插值多项式P(x),只要满足( ),则P(x)是不超过一次的多项式。 (A)初始值y0=0 (B)一阶均差为0 (C)二阶均差为0 (D)三阶均差为0 解答:因为二阶均差为0,那么牛顿插值多项式为N(x)=f(x0)+f(x0,x1)(x-x0)它是不超过一
11、次的多项式。故选择(C)正确。 2. 拉格朗日插值多项式的余项是( ),牛顿插值多项式的余项是( ) (A) (B) f(x,x0,x1,x2,…,xn)(x-x1)(x-x2)…(x-xn-1)(x-xn) (C) (D)f(x,x0,x1,x2,…,xn)(x-x0)(x-x1)(x-x2)…(x-xn-1)(x-xn) 解答:(A),(D)。 例12 证明方程1-x-sinx=0在区间[0,1]内有一个根,使用二分法求误差不超过0.5×10-4的根要迭代多少次? 证明 令f(x)=1-x-sinx, ∵f(0)=1>0,f(1)=-s
12、in1<0 ∴f(x)=1-x-sinx=0在[0,1]有根。又 f(x)=1-cosx>0(x∈[0.1]),故f(x)=0在区间[0,1]内有唯一实根。 给定误差限ε=0.5×10-4,有 只要取n=14。 例13 证明:方程f(x)=x3+4x2-10=0在[1,2]内有一个根,并用对分法求此根;若要求误差│xn-x*│≤ε=10-5,估计至少需要对分多少次? 分析 若连续函数f(x)满足f(a)·f(b)<0,由介值定理知,存在x*∈[a,b],使f(x*)=0假设f(x)于[a,b]上还单调,则f(x)=0于[a,b]上有唯一根x*。由对分法公式,记,计
13、算f(x1),若f(x1)=0,则x1即为所求根x*;若f(x1)·f(a1)>0,则取a2=a1,b2=x1,否则取a2=a1,b2=x1。继续下一步,计算,这样得到 为要使│xn-x*│≤ε,只需有。 解:易见f(x)在[1,2]上连续,f(1)=-5,f(2)=14,且f′(x)=3x2+8x>0,x∈[1,2],故f(x)=0在[1,2]内有唯一根。 为使误差│xn-x*│≤10-5,只需,即16.6,所以只需对分17次就能达到给定的精度。具体计算结果列于表1。 注 x12=1.364990234,而x*=1.36523001。 例14 用迭代法求方程x5-4
14、x-2=0的最小正根。计算过程保留4位小数。 [分析] 容易判断[1,2]是方程的有根区间。若建立迭代格式,即,此时迭代发散。 建立迭代格式 ,此时迭代收敛。 解:建立迭代格式 ,取初始值x0=1 取x*≈1.5185 例题分析四 例15 用弦截法求方程x3-x2-1=0,在x=1.5附近的根。计算中保留5位小数点。 [分析] 先确定有根区间。再代公式。 解:f(x)=x3-x2-1,f(1)=-1,f(2)=3,有根区间取[1,2]。 取x1=1,迭代公式为 取x*≈1.46553,f(1.46553)≈-0.0
15、00145 例16 选择填空题 1. 设函数f(x)在区间[a,b]上连续,若满足_________________,则方程f(x)=0在区间[a,b]一定有实根。 答案:f(a)f(b)<0 解答:因为f(x)在区间[a,b]上连续,在两端点函数值异号,由连续函数的介值定理,必存在c,使得f(c)=0,故f(x)=0一定有根. 2. 用简单迭代法求方程f(x)=0的实根,把方程(x)=0表成x=(x),则f(x)=0的根是( ) (A)y=x与y=(x)的交点 (B) y=x与y=(x)交点的横坐标 (C)y=x与x轴的交点的横坐标 (D)
16、y=(x)与x轴交点的横坐标 答案:(B) 解答:把f(x)=0表成x=(x),满足x=(x)的x是方程的解,它正是y=x与y=(x)的交点的横坐标。 3.为求方程x3―x2―1=0在区间[1.3,1.6]内的一个根,把方程改写成下列形式,并建立相应的迭代公式,迭代公式不收敛的是( ) (A) (B) (C) (D) 答案:(A) 解答: 在(A)中,故迭代发散。 在(B)中,,故迭代收敛。 在(C)中,,故迭代收敛。 在(D)中,类似证明,迭代收敛。 例17 设x*为方程x=g(x)的根,g′(x)在x*
17、附近连续,且│g′(x*)│<1。证明:存在δ>0,使对任意x0∈[x*-δ,x*+δ],迭代格式xn+1=g(xn)(n=0,1,…)收敛于x*。
分析 根据迭代法收敛条件,只须证明存在δ>0,使g(x)在[x*-δ,x*+δ]上满足;x*-δ≤g(x)≤x*+δ及│g′(x)│≤L<1。
证 因│g′(x*)│<1,由│g′(x)│在x*附近的连续性知,存在0
18、 例题分析五 例18 设f(x)=xa(a>1),讨论用牛顿法求解方程f(x)=0时,迭代格式是否收敛? 分析 易见x*=0为,f(x)=0的根,且不是单根(因f′(x*)=0)。但牛顿法收敛条件中的f′(x*)≠0只是充分条件之一,不是必要条件,因此应从收敛定义具体讨论。 解法 f(x)=xa,f′(x)=axa-1相应的牛顿迭代公式为 对任意初值x0, 即此格式收敛于f(x)=0的根。又 所以此格式为线性收敛。这表明,当f′(x*)=0时,牛顿法仍可收敛,但未必为二阶收敛。 法二 可设,在x*=0附近, . 由一般迭代
19、法的收敛条件,显然此格式是收敛的。 例19 证明:迭代公式 是计算的三阶方法(a>o),这里初值x0是充分靠近x*=的。 分析 首先说明f(x)=x2-a=0和方程 x=g(x)=[x(x2+3a)]/(3x2+a) 解之间的关系,再验证迭代法收敛条件是否满足,以及利用收敛阶的概念证明是三阶的。 证 令f(x)=x2-a=0, (1) (2) 显然,方程(1)和方程x=g(x)在不包含x=0点的区间上是同解的。又由g′(x)在x*=附近连续,且
20、 (3) 知g′(x*)=g′(),满足│g′(x*)│<1的条件,故此迭代格式收敛。由 说明迭代格式是三阶收敛的。 例20 用顺序消去法解线性方程组 解:顺序消元 于是有同解方程组: 回代得解:x3=-1,x2=1,x1=1。原线性方程组的解为X=(1,1,-1)T。 例21 取初始向量X(0)=(0,0,0)T,用雅可比迭代法求解线性方程组 解:建立迭代公式 (k=1,2,3,…) 第1次迭代,k=0,X(0)=0,得到X(1)=(1,3,5)T, 第2次迭代,k=1, ,得到X(2)
21、=(5,-3,-3)T 第3次迭代,k=2, ,得到X(3)=(1,1,1)T 第4次迭代,k=3, ,得到X(4)=(1,1,1)T 例题分析六 例22 填空选择题: 1. 用高斯列主元消去法解线性方程组 作第1次消元后的第2,3个方程分别为___________________________。 解答 1. 选a21=2为主元,作行互换,第1个方程变为:2x1+2x2+3x3=3,消元得到是应填写的内容。 2.用高斯-赛德尔迭代法解线性方程组的迭代格式中=________________(k=0,1,2,…) 解答 高斯-赛德尔迭代法就
22、是充分利用已经得到的结果,求x2的值时应该用x1的新值。答案是: 3. 当│a│( )时,线性方程组的迭代解一定收敛。 (A)>6 (B)=6 (C)<6 (D)>│6│ 解答:当│a│>6时,线性方程组的系数矩阵是严格对角占优矩阵,由教材第3章定理知,迭代解一定收敛。应选择(A)。 例23 分别用高斯消去法、列主元素消去法和直接三角分解法,解线牲方程组 . (要求在计算中取四位有效数字,最后结果舍入成三位有效数字)。 解(1)高斯消去法 解得 x=(-0.399,-0.0998,0.400)T (2)高斯列主元素消去法 解得
23、 x=(-0.490,-0.0513,0.368)T (3)直接三角分解法 由Ly=b,解得 y=(1.001,1002,2006)T. 再由Ux=y,得 x=(-0.400,-0.0998,0.400)T. 注此题用四位浮点数进行计算,精确解舍入到三位有效数字为 x=(-0.490,-0.0510,0.368)T. 可见列主元素消去法精度比较高。 例24 分别用雅可比迭代法、超松弛法(ω=0.8,1,1.2)求线性方程组 的前三次迭代解(已知(x0)=(0,0,0)T,在运算中要求取五位有效数字)。 分析 为了使所求解的线性方程组能
24、够使用迭代法(要求aii≠0,i=1,2,…,n)和所使用的迭代法收敛得更快,通常都在使用迭代法之前对所给的线性方程组作一定的预处理,使得所得到的同解方程组的迭代矩阵的范数或谱半径变得比较小。一般应使所得同解方程组系数阵的对角元素在同行元素中绝对值最大(最好是使其系数阵为对角占优阵)。为此,须把第一、三两个方程对调,即得到与原方程组同解的线性方程组 , 再对此方程组使用迭代法求解。 解:(1)雅可比迭代法,迭代公式为 计算结果为 (2)SOR法,迭代公式为 依次取ω=0.8,1,1.2;其计算结果如下 注 (1)可以证明,如果所给方程组不作如上
25、的预处理,则解原方程组的雅可比迭代法、高斯一赛德尔迭代法均不收敛。 (2)对大型(高阶)线性方程组,使用某种迭代法是否收敛,在迭代过程中就能发现,一般都不作事先论证。但是适当的预处理是必要的。 (3)松弛因子ω的值对解具体方程组的SOR法是否收敛或收敛快慢影响很大,在实际计算中,通常是选择几个不同的ω值进行试算,比较后选出适合具体题目的较好的松弛因子。 (4)ω=1时的SOR法就是高斯一赛德尔迭代法.本题的精确解为x*=(3,2,1)T。 例题分析七 例25 用迭代改善法解病态方程组 分析 由于方程组的系数阵的两行几乎成线性关系,因此本方程组可能是病态的。事实上
26、 . 迭代改善法的作法是,先用某种方法(最好是三角分解法)求得Ax=b的近似解x(0),然后按下面公式进行迭代改善: 其中r(k)要用双字长进行计算。 解:由 及Ly=b,Ux=y,得 y=(34.97,0.0181)T, x(0)=(1.949,3.051)T, 及 r(0)=(0.00051,0)T. 由Ly(0)=r(0)及Uz(0)=y(0),得 y(0)=(0.00051,-0.0002914), z(0)=(0.0493,-0.0494)T, x(1)=x(0)+z(0)=(1.998,3.002)T,
27、 及 r(1)=(0.0002,0)T. 由 Ly(1)=r(1)及Uz(1)=y(1)得 y(1)=(0.00002,-0.00001143)T, z(1)=(0.00193,-0.00194)T, x(2)=x(1)+z(1)=(1.9999,3.0001)T. 本题精确解为x*=(2,3)T. . 注 迭代改善法不仅适用于病态方程组的求解,也可以改善非病态方程组的解。 例26 试确定求积公式的代数精度。 解:当f(x)取1,x,x2,…计算求积公式何时精确成立。 (1) 取f(x)=1,有:左边=,右边=2
28、 (2) 取f(x)=x,有:左边=,右边=0 (3)类似导出,取f(x)=x2,x3,有左边=右边 (4) 取f(x)=x4,有:左边=2/5,右边=2/9 当k≤3求积公式精确成立,而x4公式不成立,可见该求积公式具有3次代数精度。 例27 确定求积公式 (1) 中的系数A-1,A0,A1,使其代数精度尽可能高,并指出求积公式的代数精度。 分析按照使求积公式具有较高的代数精度的原则来确定求积系数,是构造求积公式的一种方法。本题中有三个系数需要确定,因此可建立三个方程使其满足。根据代数精度的定义,可设求积公式(1)对,f
29、x)=1,x,x2精确成立,从而建立关于A-1,A0,A1的三个方程,并求解。 解:令求积公式(1)对,f(x)=1,x,x2精确成立,得 解得.此时求积公式(1)为 (2) 通过直接验证,求积公式(2)对f(x)=x3也精确成立,而对f(x)=x4不能精确成立,所以它的代数精度为3。 例28 试用梯形公式、科茨公式和辛卜生公式计算定积分 (计算结果取5位有效数字) (1)用梯形公式计算 (2)用柯特斯公式系数为 (3)如果要求精确到10-5,用复化辛卜生公式,截断误差为 只需把[0.5,1]4等分,
30、分点为0.5,0.625,0.75,0.875,1 例题分析八 例29 用三点高斯-勒让德求积公式计算积分 解:做变量替换,有。 查表得节点为±0.774 596 669 和0; 系数分别为0.555 555 5556和0.888 888 8889 例30 已知函数值f(1.0)=0.250 000,f(1.1)=0.226757,f(1.2)=0.206 612,用三点公式计算f(x)在x=1.0,1.1,1.2处的导数值。 解:三点导数公式为 k=1,2,3,…,n-1 本例取x0=1.0,x1=1.1,x2=1.2,y0=0.250 000,y1
31、0.226757,y2=0.206 612,h=0.1。于是有 例31 选择填空题 1. 如果用复化梯形公式计算定积分,要求截断误差不超过0.5×10-4,试问n≥( ) (A)41 (B)42 (C)43 (D)40 解答:复化的梯形公式的截断误差为 ,n=40.8,取n≥41。故选择(A)。 2.已知n=3时,柯特斯系数,那么=_____________ 解答:由柯特斯系数的归一性质,. 例32 用尤拉法解初值问题,取步长h=0.2。计算过程保留6位小数。 解:h=0.2,f(x)=-y-xy2。首先建立尤拉迭代格式 当k=0,x
32、1=0.2时,已知x0=0,y0=1,有 y(0.2)≈y1=0.2×1(4-0×1)=0.8 当k=1,x2=0.4时,已知x1=0.2,y1=0.8,有 y(0.4)≈y2=0.2×0.8×(4-0.2×0.8)=0.6144 当k=2,x3=0.6时,已知x2=0.4,y2=0.6144,有 y(0.6)≈y3=0.2×0.6144×(4-0.4×0.4613)=0.8 例33 用尤拉预报-校正公式求解初值问题,取步长h=0.2,计算y(0.2),y(0.4)的近似值,小数点后至少保留5位。 解:步长h=0.2,此时f(x,y)=-y-y2sinx 尤拉预报-校正公式
33、为: 有迭代公式: 当k=0,x0=1,y0=1时,x1=1.2,有 当k=1,x1=1.2,y1=0.71549时,x2=1.4,有 y(1.4)≈y2=0.71549×(0.9-0.1×0.71549×sin 1.2)-0.1(0.47697+0.476972sin 1.4)=0.52608 例题分析九 例34 写出用四阶龙格-库塔法求解初值问题的计算公式,取步长h=0.2计算y(0.4)的近似值。至少保留四位小数。 解:此处f(x,y)=8-3y,四阶龙格-库塔法公式为 其中k1=f(xk,yk);k2=f(xn+h,yk+hk1); k3=f(xk+h
34、yn+hk2);k4=f(xk+h,yk+hk3) 本例计算公式为: 其中k1=8-3yk;k2=5.6-2.1yk; k3=6.32-2.37yk;k4=4.208+1.578yk 当x0=0,y0=2, y(0.2)≈y1=1.2016+0.5494y0=1.2016+0.5494×2=2.3004 y(0.4)≈y2=1.2016+0.5494y1=1.2016+0.5494×2.3004=2.4654. 例35 证明:改进欧拉方法 (1) 可精确求解常微分方程初值问题y′=at+b,y(t0)=y0 分
35、析 此题除可直接求解验证外,也可以从此方法的局部截断误差来证明。用归纳法,在假设yn=y(tn)的前提下去证明yn+1=y(tn+1)。利用泰勒展开式,将y(tn+1)和(1)式中的yn+1进行展开,从而可得误差y(tn+1)-yn+1=0
证y(t0)=y0,并假设y(yn)=yn.而
以代入,得
即y(tn+1)-yn+1=0.
例36 用欧拉折线法求解初值问题
(1)
问当步长取什么值时,此方法是稳定的?
分析 通常用典型问题y′=λy来考察方法的稳定性。在欧拉法中,因f(t,y)=λy,故
yn+1=yn+hλyn=(1+hλ)yn.
因此,当要求前一步的误差在传给后一步时不扩大,那么必须且只须
│1+λh│≤1 (2)
由此给出步长h的取值范围。
解:根据分析,本题中欧拉公式
(3)
当且仅当
,
即
时,欧拉公式稳定,由于在所考虑的范围0.1≤t≤3,0<<1,所以的取值范围应为
0






