(*参数说明:f为函数,a为区间下界,b为区间上界,e为精度*)
(*输出说明:输出为一个列表{a,b,n},其中[a,b]代表最后求得的解区间,n代表迭代次数*)
goldenSearch[f_, a_, b_, e_] :=
Module[{n = 2, d = b - a, a0 = a, b0 = b},
While[d > e,
d = Fibonacci[n]/Fibonacci[n + 1]*d;
u = a0 + d;
l = b0 - d;
If[f[u] < f[l], a0 = l, b0 = u];
n = n + 1];
{a0, b0, n - 2}]
Mathematica斐波那契线搜索代码
本文介绍了一种基于黄金分割比例的搜索算法,该算法用于在一维连续区间内寻找函数的极小值点。通过递归地缩小搜索区间,算法能够以较高的效率逼近最优解。文章详细解释了算法的工作原理,并提供了具体的实现代码。

被折叠的 条评论
为什么被折叠?



