首页 理论教育 迭代过程及算法框图分析

迭代过程及算法框图分析

时间:2023-06-25 理论教育 版权反馈
【摘要】:黄金分割法的迭代过程和程序框图如图3-8所示。令x3=x0+2h=0+2=2,f3=f=18由于f2<f3可知初始区间已经找到,即[a,b]=[0,2]用黄金分割法缩小区间1)第一次缩小区间:图3-8 黄金分割法的程序框图x1=0+0.382(2-0)=0.764,f1=0.282由于f1<f2,故新区间[a,b]=[a,x2]=[0,1.236]因为b-a=1.236>0.2所以应继续缩小区间。

迭代过程及算法框图分析

综上所述,黄金分割法的计算步骤如下:

1)给定初始区间[a,b]和收敛精度ε。

2)产生中间插入点并计算其函数值:

x1=a+0.382(b-a),f1=fx1

x2=a+0.618(b-a),f2=fx2

3)比较函数值f1和f2,确定区间的取舍:

f1f2,则新区间[a,b]=[ax2],令b=x2x2=x1,f2=f1,记N0=0;

f1f2,则新区间[a,b]=[x1b],令a=x1,x1=x2,f1=f2,记N0=1,如图3-7所示。

978-7-111-53920-9-Chapter03-11.jpg

图3-7 区间取舍

4)收敛判断:若区间的长度足够小,即满足|b-a|≤ε,则将区间中点作为一维极小点,即令978-7-111-53920-9-Chapter03-12.jpg,结束一维搜索;否则,转5)。

5)产生新的插入点:若N0=0,则取x1=a+0.382(b-a),f1=fx1);若N0=1,则取x2=a+0.618(b-a),f2=f(x2)。转3)迸行新的区间缩小。

黄金分割法的迭代过程和程序框图如图3-8所示。

例3-1 用黄金分割法求函数fx)=3x3-4x+2的极小点,给定x0=0,h=1,ε=0.2。

解:(1)确定初始区间

x1=x0=0,f1=fx1)=2

x2=x0+h=0+1=1,f2=fx2)=1

由于f1>f2应加大步长继续向前探测。令

x3=x0+2h=0+2=2,f3=fx3)=18

由于f2f3可知初始区间已经找到,即[ab]=[0,2]

(2)用黄金分割法缩小区间

1)第一次缩小区间:

978-7-111-53920-9-Chapter03-13.jpg

图3-8 黄金分割法的程序框图

x1=0+0.382(2-0)=0.764,f1=0.282

由于f1f2,故新区间[ab]=[ax2]=[0,1.236](www.xing528.com)

因为b-a=1.236>0.2所以应继续缩小区间。

2)第二次缩小区间:

x2=x1=0.764,f2=f1=0.282

x1=0+0.382(1.236-0)=0.472,f1=0.317

由于f1f2,故新区间为[ab]=[x1b]=[0.472,1.236]

3)第三次缩小区间:

x1=x2=0.764,f1=f2=0.282

x2=0.472+0.618×(1.236-0.472)=0.944,f2=0.747

由于f1f2,故新区间为[ab]=[ax2]=[0.472,0.944]

4)第四次缩小区间:

x2=x1=0.764,f2=f1=0.282

x1=0.472+0.382(0.944-0.472)=0.652,f1=0.223

由于f1f2,故新区间为[ab]=[ax2]=[0.472,0.764]

因为b-a=0.764-0.472=0.292>0.2,所以应继续缩小区间。

5)第五次缩小区间

x2=x1=0.652,f2=f1=0.223

x1=0.472+0.382(0.764-0.472)=0.584,f1=0.262

由于f1f2,故新区间为[ab]=[x1b]=[0.584,0.764]

因为b-a=0.764-0.584=0.18<0.2

所以得到极小点和极小值分别为

x*=0.5×(0.584+0.764)=0.674,f*=0.222

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈