计算机二分法的算法步骤,二分法的具体计算过程.doc

§1. 二分法

一、二分法的具体计算过程

第一步,取区间中点(a+b)/2,计算区间中点的函数值f((a+b)/2),

③ 如果,则在区间上,f(x)在两个端点的函数值异号,于是原方程在区间内有根,记,下一步在区间内继续进行。

第二步, 求f(x)在区间[a1,b1]的中点的函数值,并检验其正负号,

①如果, 则原方程在区间内有根,并记;

② 如果,则在区间上,原方程有根,记。

于是,我们得到,其区间宽度为:

象这样,继续进行第三步、第四步、...... , 区间宽度每次缩小一半,得到一个区间序列:此时,f(an). f(bn)<0,即原方程在区间[an,bn]内有根,区间宽度为:

当n足够大时,如果此时的区间宽度已达到精度要求,则以区间的中点作为x*的近似值,即;

此时,近似值的误差小于该区间宽度的一半,即。如果精度要求,则要求

两边取自然对数,得: ln(b-a)-(n+1)ln2≤lnε则 注意到 , ,有

如精度要求提高,则上式的关键项ln(1/ε), 由于210=1024,如要求误差缩小0.1000,则要求多计算10次。

二、计算流程

根据精度要求可以事先计算出需执行步骤数n。

初态:。 对于n=1,2,...n做 计算 如果,输出 如果,则 否则 输出

Y

Y

X

a

b

b1=(a+b)/2

b2=(a+b1)/2

b3=(a+b2)/2

a1=(a+b2)/2

x*

其几何意义如图:

例: 求方程x3-2x-5=0的近似解,精确到0.001。

解: f(x)= x3-2x-5, ε=0.001,因为f(2)=-1<0,f(3)=16>0,故

方程在区间[2,3]上有根。又 ,取n=9,将计算结果列表如下:

所以x*≈x9=2.0947265,而精确值为 2.0945515...,误差为0

三、二分法的特点

二分法的优点是计算简便,对函数f(x)的要求不高,只要求连续即可,且误差估计容易。二分法的缺点是收敛速度很慢,每计算一步,误差减小一半。§2.迭代法

一.简单迭代法

设方程在区间上有唯一的实根,将方程变形为与其同解方程:

要求函数在区间上满足:

则可以在区间上任取一点作为迭代法的初始值,建立迭代关系(递推关系式):

,

从而得到一个数列,如果当时,这个数列收敛到,即,则,

则满足方程,由于方程和是同解方程,所以满足方程。在实际计算中,取足够大,则有,我们把作为原方程的近似解。

计算流程:

选取初值

如果,跳出循环

否则,置,继续循环

输出

例1:用迭代法求方程的根,精确到0.001。

解:设,,,在区间内有根。

将方程变形为,这儿,

,在内,所以迭代是收敛的。

取,则

,迭代结束。

几何意义:

p2p

p2

p3

p1

p1

p0

p0

xx3x*x1

x

x3

x*

x1

x0

x2

y

y

取作y轴平行线,交于,作x轴下平行线交于,即;再作y轴平行线交于,再作y轴的平行线交于

,即;再作y轴的平行线交于,…,一直下去。越来越接近于,就是与的交点的x坐标,即。

y

y

x

x

yx

y

x

二.收敛定理:

定理1:在迭代方程中设满足:

(1)当时,;(即在内有界。)

(2)存在正数,使得对任意,有,则

(1)方程在内有唯一解,且(2)对任意初值,迭代格式得到的数列,收敛到方程的解,且满足误差估计。

证明:

(1)存在性:

因,,

由连续函数的性质,存在,

使。

唯一性:设,均是方程的根则

,

又,,只有,。

(2)迭代的收敛性:

因,

反复用此式

,即,

迭代收敛。

误差估计:

,而

同理

从而得:

要使,只要,两边取对数

,即

说明:

(1)要求,不能放松为;

(2)一个方程变形为有许多形式可以变换,有的可能不收敛,有的可能收敛,且的越小,收敛的越快。

例如:解方程。

如构造,,,

在有限区间为(2,3),;

如取,则

是发散数列。

如取,则

如构造,

,是收敛的。

取,

精度已达小数点第四位。精度已达小数点第五位,收敛速度很快,因很小,故收敛很快。

如将变形为:

在有根区间内,因而也是不收敛的。

取,

是不收敛的。

三、加速收敛(Aitken方法)

设是的某个预测值,适用一次迭代得到校正值,用微分中值定理,如果变化不大,记其近似值为则:

,解得:

利用上式总认为上式比更接近于。

,在的基础上再调整一个量,使其更接近,称此为改进值,如每步均如此计算,则得公式校正值:;

改进值:。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值