用黄金分割法求 f(x) = 8 * x ^ 3 - 2 * x ^ 2 - 7 * x + 3 的最优解(VB),在线等.初始单峰区间【0,2】,迭选精度0.01
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/17 09:36:00
用黄金分割法求 f(x) = 8 * x ^ 3 - 2 * x ^ 2 - 7 * x + 3 的最优解(VB),在线等.初始单峰区间【0,2】,迭选精度0.01
用黄金分割法求 f(x) = 8 * x ^ 3 - 2 * x ^ 2 - 7 * x + 3 的最优解(VB),在线等.
初始单峰区间【0,2】,迭选精度0.01
用黄金分割法求 f(x) = 8 * x ^ 3 - 2 * x ^ 2 - 7 * x + 3 的最优解(VB),在线等.初始单峰区间【0,2】,迭选精度0.01
黄金分割法(又称0.618法)是用来求单峰函数的最大值(或最小值)的算法.
这是一种搜索法,不需要利用函数的导数值.
0.618法是根据黄金分割原理设计的,所以又称之为黄金分割法.
优选法是一种求最优化问题的方法.如在炼钢时需要加入某种化学元素来增加钢材的强度,假设已知在每吨钢中需加某化学元素的量在1000—2000克之间,为了求得最恰当的加入量,需要在1000克与2000克这个区间中进行试验.通常是取区间的中点(即1500克)作试验.然后将试验结果分别与1000克和2000克时的实验结果作比较,从中选取强度较高的两点作为新的区间,再取新区间的中点做试验,再比较端点,依次下去,直到取得最理想的结果.这种实验法称为对分法.但这种方法并不是最快的实验方法,如果将实验点取在区间的0.618处,那么实验的次数将大大减少.这种取区间的0.618处作为试验点的方法就是一维的优选法,也称0.618法.实践证明,对于一个因素的问题,用“0.618法”做16次试验就可以完成“对分法”做2500次试验所达到的效果.
所用到的 0.618 是黄金分割比的近似值.
黄金分割比 = (sqrt(5)-1)/2 = 0.61803398874989484820...
黄金分割比 又等于 斐波那契数列的 a(n)/a(n+1),n->∞
Private Sub Form_Activate()
Dim x As Double
Dim f As Double
Dim MM
MM = 0.1 '省略小数
For x = 0 To 2 Step 0.01
f = 8 * x * x * x - 2 * x * x - 7 * x + 3
If Abs(f - 0.618) < 0.1 Then
Print x
End If
Next
End Sub
有问题 ,思路是这样的,程序有问题