您的当前位置:首页正文

数值计算课后规范标准答案2

2022-08-23 来源:客趣旅游网
,.

习 题 二 解 答

1.用二分法求方程x3-2x2-4x-7=0在区间[3,4]内的根,精确到10-3,即

1误差不超过103。

2分析:精确到10-3与误差不超过10-3不同。

解:因为f(3)=-10<0,f(4)=9>0,所以,方程在区间[3,4]上有根。 由

bnanba4311nnn103 22222有2n-1>1000,又为210=1024>1000, x*xn所以n=11,即只需要二分11次即可。 列表讨论如下: n 1 2 3 4 5 6 7 8 9 10 11 an 3 3.500 3.500 3.625 3.625 3.625 3.625 3.625 3.629 3.631 3.631 bn 4 4 3.750 3.750 3.688 3.657 3.641 3.633 3.633 3.633 3.632 xn 3.500 3.750 3.625 3.688 3.657 3.641 3.633 3.629 3.631 3.632 3.632 f(xn)的符号 - + - + + + + - - + -

x*≈x11=3.632。 指出:

(1)注意精确度的不同表述。精确到10-3和误差不超过10-3是不同的。 (2)在计算过程中按规定精度保留小数,最后两次计算结果相同。 如果计算过程中取4位小数,结果取3位,则如下表:

n 1 an 3 bn 4 xn 3.5000 f(xn)的符号 - ,.

2 3 4 5 6 7 8 9 10 11 3.5000 3.5000 3.6250 3.6250 3.6250 3.6250 3.6250 3.6290 3.6310 3.6310 4 3.7500 3.7500 3.6875 3.6563 3.6407 3.6329 3.6329 3.6329 3.6320 3.7500 3.6250 3.6875 3.6563 3.6407 3.6329 3.6290 3.6310 3.6320 3.6315 + - + + + + - - + -

(3)用秦九韶算法计算f(xn)比较简单。

1*.求方程x3-2x2-4x-7=0的隔根区间。 解:令yx32x24x7, 则y3x24x4(3x2)(x2)

2当y3x24x4(3x2)(x2)0时,有x1,x22。

3函数单调区间列表分析如下: x y/ y (-∞,+ 2) 32 30 2(,2) 3- 2 0 -15 (2,+∞) + 149 27

214920,y(2)150,所以方程在区间(,2)上无根; 因为y()3273214920,而函数在(,)上单调增,函数值不可能变号,所以因为y()3273方程在该区间上无根;

因为y(2)150,函数在(2,+∞)上单调增,所以方程在该区间上最多有一个根,

,.

而(3)=-10<0,y(4)=9>0,所以方程在区间(3,4)有一个根。 所以,该方程有一个根,隔根区间是(3.4)。

12.证明1xsinx0在[0,1]内有一个根,使用二分法求误差不大于1042的根,需要迭代多少次?

分析:证明方程在指定区间内有一个根,就是证明相应的函数在指定区间有至少一个零点。

解:令f(x)1xsinx,

因为f(0)10sin010,f(1)11sin1sin10, 则f(0)f(1)0,

由零点定理,函数f(x)在[0,1]区间有一个根。 由

bnanba1011nnn104 22222有2n-1>10000,又为210=1024,213=8192<10000,214=x*xn16384>10000

所以n=15,即需要二分15次。 指出:

要证明的是有一个解而不是唯一解,因此不必讨论单调性。 3.试用迭代公式xk1根,要求精确到105。

20,x01,求方程x32x210x200的2xk2xk101分析:精确到105即误差不超过105

2解:令f(x)x32x210x20 列表进行迭代如下:

xk f(xk) ,.

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 指出:

1 1.53846 1.29502 1.40182 1.35421 1.37530 1.36593 1.37009 1.36824 1.36906 1.36870 1.36886 1.36879 1.36882 1.36881 1.36881 -7 3.75964 -1.52380 0.70311 -0.30667 0.13721 -0.06067 0.02705 -0.01198 0.00531 -0.00228 0.00110 -0.00038 0.00025 3.992105 3.992105 精确到105可以从两个方面判定。第一,计算过程中取小数到105位,最后两个计算结果相同,终止计算。第二,计算过程中取小数到106,当

1xk1xk105终止计算。

2本题采用第一种方法。

,.

4.将一元非线性方程2cosxex0写成收敛的迭代公式,并求其在x00.5附近的根,要求精确到102。

解:2cosxex0改写为2cosxex2cosx1,设 ex2cosxg(x)x1 xexx有

2cosx2cosx110,则 xxee2sinxe2cosxe2(sinxcosx)g(x)111(ex)2exxx22sin(xex)4

在x00.5处,因为

g(0.5)122sin(0.5e0.540.96151

2cosxk1在x00.5的邻域内收敛。 exk)所以迭代法g(xk1)xk列表迭代如下:

0 1 2 3

xk 0.5 0.71 0.69 0.69 此时2cos0.69e0.690.00614。

5.为求方程x3x210在x01.5附近的一个根,设将方程改为下列等价形式,并建立相应的迭代公式:

,.

(1)x1311,迭代公式x1;k12x2xk2123k(2)x1x,迭代公式xk1(1x);

11(3)x2,迭代公式xk1.1x1(xk1)2试分析每种迭代公式的收敛性,并取一种公式求出具有4位有效数字的近似值。

解:(1)因为x111,所以迭代函数为,则 g(x)122xx122g(x)(2)(x2)2x3,g(1.5)21.5331满足局部

x1.53.3751具有局部收敛性。 xk2123收敛性条件,所以迭代公式xk11123(2)因为x(1x),所以迭代函数为g(x)(1x),则

121122323g(x)(1x)2xx(1x)332x3(1x)223,

g(1.5)123k21.53(11.5)2230.4561满足局部收敛性条件,所以迭代公式

xk1(1x)具有收敛性。

(3)因为x1(x1)12,所以迭代函数为g(x)1(x1)12,则

13111g(x)(x1)2(x1)2,

2231g(1.5)(1.51)22120.5321.4141不满足收敛性条件,所以迭代公式

xk11(xk1)12不具有收敛性。

1列表计算如下: xk2用迭代公式xk11

,.

0 1 2 3 4 5 6 7 8 9 10 11

所以,方程的近似根为x*1.465。

6.设(x)xC(x23),应如何取C才能使迭代公式xk1(xk)具有局部收敛性?

解:设C为常数,因为(x)xC(x23),所以(x)12Cx,要使迭代公式具有局部收敛性,需(x0)12Cx01,此时即有112Cx01,也即

1Cx00。即只要C取满足如上条件的常数,就可以使得迭代公式具有局部

xk 1.5 1.444 1.480 1.457 1.471 1.462 1.468 1.464 1.467 1.465 1.466 1.465 收敛性。

,.

指出:

本题的一般形式为:

设(x)xCf(x),应如何取C才能使迭代公式xk1(xk)具有局部收敛性?

显然,(x)xCf(x)是迭代格式xk1(xk)相应的迭代函数,因此该迭代格式要求解的方程是x(x)xxCf(x)f(x)0。也就是说,这是如何选择C,构造一个求解方程f(x)=0的收敛的迭代格式的问题。

因为(x)xCf(x),所以(x)1Cf(x), 要使迭代格式收敛,需(x)1Cf(x)1 解之得2Cf(x)0,

即C与f(x)异号,且Cf(x)2。

下面的讨论利用了本题的特殊条件,求出了具体的结果:

因为(x)xC(x23),所以当xxC(x23)时,有C(x23)0,则

x3,即函数(x)xC(x23)的不动点为x*3。

而(x)12Cx, 根据局部收敛性定理, 当(3)12C311c0时,迭代格式收敛到3; 31时,迭代格式收敛到3。 3当(3)12C(3)10c7.用牛顿法求方程x33x10在初始值x02邻近的一个正根,要求

xk1xk103。

解: 因为x33x10

所以有f(x)x33x1,相应的迭代公式为

,.

33xk3xk12xk1 xk1xk223xk33xk3取x0=2为迭代的初始近似值。迭代的结果列表如下:

k xk 0 2 1 1.8889 2 1.8795 3 1.8794

1因为x3x20.0001103,符合计算的精度要求,所以

2x*x31.8794。

18.用牛顿法解方程c0,导出计算数c的倒数而不用除法的一种简单

x的迭代公式。用此公式求0.324的倒数,设初始值x03,要求计算有5位有效数字。

11解:对于方程c0,有f(x)c,相应的迭代公式为

xx1cxkxk1xk2xkcxk2。

12xk应用该迭代公式求0.324的倒数,列表计算如下

0 1 2 3

13.0864。 0.324指出:

xk 3 3.084 3.0864 3.0864 所以

,.

如果将方程代公式为

1c0改写为等价的cx10,则有f(x)cx1,相应的迭xxk1xkcxk11 cc无法展开迭代。

9.设a为已知数,试用牛顿法导出求na的迭代公式,并求极限

axk1。

k(nax)2klim解:设a为正实数,n为自然数,由牛顿法,方程f(x)xna0的解为

nxk1xkf(xk)f(xk)

nnnxkanxkxkaxkn1n1nxknxk(n1)xanxnkn1k

1a[(n1)xkn1]nxk此即求na的迭代公式。 由此,则

1a1nna[(n1)x]a[(n1)xkax1]kn1nkaxk1nxknlimnlimlim2nk(ax)2kk(axk)(naxk)2kn1n1[(n1)a(1n)x1]knlimk2(1)(naxk)1n[(n1)a(1n)xk]limnk2(naxk)1[(a(1n)(n)xkn1]limnk2(1)a(1n)a(1n)a(1n)1nlimn1nn1nk2x1n2limxk2(a)2akk

指出:

,.

本题中,表面上是k的问题,但实际上却是xkna的问题,xk,xk1才是极限过程中实际的变量。

本质上。本题实际上是求极限

1an1nna[(n1)x]a[(n1)xkax1]kn1nkaxk1nxknlimnlimlim22k(ax)kk(naxk)(naxk)2kn1a[(n1)xax1n]nlimxna(nax)20由于讨论的是型不定式,且不定式的分母上有2次的“0”因子,因此两

0次应用罗必塔法则。

解二:首先证明一个定理:

定理:设f(x*)0,f(x*)0,又设f(x)在x*的某个邻域内具有连续的二阶导数,则牛顿迭代法具有局部收敛性,且有。

xk1x*f(x*)。 lim*k(xx*)2f(x)kf(x)证明:因为g(x)x

f(x)f(x)f(x)f(x)所以g(x)x 2f(x)f(x)因为f(x)在邻域内具有连续的二阶导数,所以g(x)在邻域内连续,且

g(x)*f(x*)f(x*)f(x)*20

由局部收敛性定理,牛顿迭代法具有局部收敛性。

f(x)f(x)f(x)对g(x)x求导,根据条件有 2f(x)f(x)f(x*)g(x) *f(x)*f(x*)0,牛顿迭代法二阶收 由收敛阶定理,若f(x)0,则g(x)*f(x)f(x*)**0,牛顿迭代法有更高的收敛阶。 敛,若f(x)0,则g(x)*f(x)**因为牛顿迭代法有二阶收敛性,所以

f(x*)xk1x*g(x*)f(x*)f(x*)。 lim*k(xx*)22!2!2f(x)k,.

显然

如果x*是方程f(x)=0的单根,则f(x)(xx*)(x),且(x*)0。 此时f(x)(x)(xx*)(x),则f(x*)(x*)0,

可见定理中的条件“f(x*)0,f(x*)0”可以等价替换为“x*是方程f(x)=0的单根”

对本题来说,

f(x)xna,x*na是方程的单根,

所以

f(x)nxn1,f(na)n(na)n10 f(x)n(n1)xn2,f(na)n(n1)(na)n2

n(n1)(na)n2n11nlimnlimn。 n1nnk(ax)2k(xna)22n(a)2a2akknaxk1xk1na

指出:

应用分组分解法进行因式分解,分子、分母约去“0”因子,就可以按连续函数的极限性质求解了。

10.用快速弦截求方程x33x10在初始值x02邻近的实根(取x11.9,要求精确到103)。

解: 因为x33x10

所以有f(x)x33x1,相应的迭代公式为

f(xk)xk1xk(xkxk1)

f(xk)f(xk1)取x0=2为迭代的初始近似值。迭代的结果列表如下:

k 0 1 2 3 4

xk 2 1.9 1.8811 1.8794 1.8794 xk-xk-1 -0.1 -0.0189 -0.0017 f(xk) 1 0.159 0.0130 0.0001 f(xk)- f(xk-1) -0.841 -0.146 -0.0129 ,.

1因为x4x30.0000103,符合计算的精度要求,所以

2x*x41.8794。

指出:

本教程所说快速弦截法是通常所说的弦截法(割线法),而它所说弦截法是通常的单点弦截法。

11、分别用下列方法求方程4cosxex在x0数字。

(1)用牛顿法,取x0(2)用弦截法,取x04邻近的根,要求有三位有效

4;

4,x12;

(3)用快速弦截法,取x04,x12。

解:方程4cosxex变形为ex4cosx0, 则f(x)ex4cosx,f(x)ex4sinx。 牛顿法、弦截法、快速弦截法公式分别为 (1)牛顿法

f(xk)exk4cosxk; xk1xkxkxkf(xk)e4sinxk(2)弦截法

xk1xkf(xk)(xk0.785);

f(xk)1.81(3)快速弦截法

xk1xkf(xk)(xkxk1)。

f(xk)f(xk1)取3位有效数字,分别计算得

,.

xk k 牛顿法 0 1 2 3 4 5 6

补充题 (一)

1、确定方程x5+x-10=0的根的个数,找出隔根区间。

2、用二分法求方程f(x)=x3+2x-5=0在[2,3]的根的近似值,要求误差不超过0.005。

3、用二分法求方程f(x)=x3-2x-5=0在[2,3]的根的近似值,要求误差不超过0.05。

x24、用二分法求方程f(x)sinx0的非零实近似根,使误差不超过10

4-2。

弦截法 0.785 1.57 1.33 1.40 1.38 1.39 1.38 快速弦截法 0.785 1.57 1.33 1.38 1.40 1.39 1.39 0.785 1.59 1.41 1.39 1.39 5、分析方程f(x)sinx值,使误差不超过10-2。

x0的根的分布情况,并用二分法求正根的近似26、估计用二分法求方程f(x)=x3+4x2-10=0在[1,2]内的根的近似值,为使误差不超过10-5时所需要的二分次数。

分析与解答

1、令yx5x10,

y5x41,

,.

显然y0,而且函数没有不可导点, 所以,函数在区间(,)上是单调增的, 故方程最多有一个根。

因为y(0)100,y(2)240,

所以方程在(0,2)区间有一个根,(0,2)即为方程的隔根区间。 2、因为f(2)=7>0,f(3)=28>0,实际上本方程在指定范围内无根。但如果不加判定,也可以计算出一个值来。所以,用二分法求方程的根必须先行判定。要特别注意的是,完整的二分法的过程是,第一步代入初值,第二步判断是否有解,第三步在有解的前提下求出解来。不进行判断就形式地套用二分法的过程是不可以的,同样地,如果因为无解就放弃讨论也是不正确的。 3、因为f(2)=-1<0,f(3)=16>0,所以方程在区间上有解。 baba321x*xnnnnnn0.05,所以,2n>20,n=5。 2222x*≈2.10

x24、画出y=sinx和y的曲线,可以看出,

4两条曲线除了原点外,在第一象限有且只有一个

交点。交点的横坐标介于1.5与2之间(显然,

()2π/2≈1.5,sin(π/2)=1,21,所以在π/2点, 42x

f(x)>0,而当x=2时,1,sinx<1,所以在2点,

4

f(x)<0。

x

的曲线,可以看出,两条曲线除了原点外,在第一2

象限有且只有一个交点。交点的横坐标介于1.8与1.9之间(根据图像,用计算

x器计算估计,当sinx的值从大于的值变为小于时,隔根区间就找到了)。

2要求│x*-xn│≤0.01,可以求出用二分法计算的次数。

5、画出y=sinx和y

在区间[1.8,1.9]上,因为

baba1.91.80.1x*xnnnnn0.01

222n2所以,n=4。 具体计算过程如下

,.

n 1 2 3 4 an 1.8 1.85 1.875 1.8875 bn 1.9 1.9 1.9 1.9 xn 1.85 1.875 1.8875 1.89 f(xn)的符号 + + + + 所以,x*≈x4=1.89 指出:

确定求根区间和根的初始近似值,应用MATLAB工具,用交轨法是重要的途径,可以先确定大致范围,再缩小区间重新画图精细化。在用普通的手工画草图的方法画交轨图的时候,可以借助于计算器使得隔根区间更短,但这种方法只对简单问题有效。

2115 ,所以 2n≥105。 10nn22 因为215=32768,216=65537,217=131072,所以n=17。

6、│x*-xn│≤10-5,即

(二)

1、对于方程3x2-ex=0,为求最大正根与最小正根的近似值,试分别确定迭代函数g(x)及区间[a,b],使得当x0∈[a,b]时,相应的迭代过程xk+1=g(xk)收敛到要求的根。

2、证明:当x0=1.5时,迭代法 xk11013 和xk1 10xk24xk都收敛于方程f(x)=x3+4x2-10=0在区间[1,2]内的唯一实根x*,分别用上述迭代法求满足精度│xk+1-xk│≤10-5的近似根。

3、为求方程f(x)=x3-x2-1=0在x0=1.5附近的一个根,可将方程改写成下列等价形式,并建立相应的迭代公式

11[1]改写成x12,迭代公式为xk112;

xkx2[2]改写成x3=1+x2,迭代公式为xk131xk;

[3]改写成x21,迭代公式为xk1x11。 xk1试分析每一种迭代公式的收敛性。

,.

分析与解答

1、根据3x2和ex的图像可知,方程3x2-ex=0在实数域上有三个根,分别在区间(-1,0),(0,1),(3,4)内。其最大正根在[3,4]区间,最小正根在[0,1]区间。取迭代函数g(x)=ln3x2,可以得到最大正根,而取迭代函数

g(x)ex3,可以得到最小正根。

2、两种迭代法的迭代函数分别在区间[1,2]和[1,1.5]上满足定理2(不动点原理)的条件,故当x0=1.5时两种迭代法都收敛,且分别迭代9次和25,都可得到近似根1.36523。

我们讨论第一种迭代法,用定理2证明。它的迭代函数为g(x)10。 4x首先,g(x)是一个减函数,当x=1时,g(1)2,当x=2时,g(2)所以当x∈[1,2]时,1<g(2)≤g(x)≤g(1)<2,即g(x)∈[1,2]。

其次,g(x)值为 g(2)1021(42)35,所以,g/(x)< g/(2)<1。 4321021(4x)35。3,显然这是一个增函数,当x=2时,其函数

指出:只给出了含根区间,就只能用定理2证明。

3、[1]给出了初始近似值,也即知道了精确根的大致位置,可以用定理4(局部收敛性定理)证明。

由题意,方程有实根。下面证明g/(x)连续和g/(x*)<1(x*是方程的精确根)。

12方程g(x)12,g(x)3,可见g/(x)在1.5及其附近是连续减函数,因

xx为g(1.5)= -0.59,1.5又在x*的邻域内,由函数g/(x)的连续性,g/(x*)<1,所以此迭代法具有局部的收敛性。

指出:

一般地说,用定理2(不动点原理)证明只要利用函数的单调性与区间上的最值就可以讨论,而用定理4(局部收敛性定理)则需要用到函数的连续性。

因篇幅问题不能全部显示,请点此查看更多更全内容