我是Matlab新手,请问matlab一维搜索中的黄金分割法如何确定目标函数 5
1个回答
展开全部
黄金分割法适用于[a,b]区间上的任何单谷函数求极小值问题,对函数除要求“单谷”外不做其他要求,甚至可以不连续。因此,这种方法的适应面非常广。黄金分割法也是建立在区间消去法原理基础上的试探方法,即在搜索区间[a,b]内适当插入两点a1,a2,并计算其函数值。a1,a2将区间分成三段,应用函数的单谷性质,通过函数值大小的比较,删去其中一段,是搜索区间得以缩小。然后再在保留下来的区间上作同样的处理,如此迭代下去,是搜索区间无限缩小,得到极小点的数值近似解。
以下是函数输入输出参数表:
function xmin = goldSearch(fun,a,b,eps)
% ---input
% fun 所求的目标函数
% a 区间的下界
% b 区间的上界
%eps 区间的最小阀值长度
% ---output
% xmin 函数取极小值时自变量的值
详细参考http://wenku.baidu.com/link?url=7Cgr4a55ulnoe8gpIo5GLyC8vtA1NQYzE480lYzfvZCTFZYler-M089sVsTiZjcPZdDZH6XUCMjXUAHpY6jRacrBp8hm-sROGCDZO3tNaGe
黄金分割法是用于一元函数f(x)在给定初始区间[a,b]搜索极小点xmin的一种方法。它是优化计算中的经典算法,以算法简单、收敛速度均匀、效果较好而著称,是许多优化算法的基础,它只适用于一维区间上的凸函数,即只在单峰区间内才能进行一维寻优,其收敛效率较低。其基本原理是:依照“去劣存优”原则、对称原则、以及等比收缩原则来逐步缩小搜索区间。
以下是函数输入输出参数表:
function xmin = goldSearch(fun,a,b,eps)
% ---input
% fun 所求的目标函数
% a 区间的下界
% b 区间的上界
%eps 区间的最小阀值长度
% ---output
% xmin 函数取极小值时自变量的值
详细参考http://wenku.baidu.com/link?url=7Cgr4a55ulnoe8gpIo5GLyC8vtA1NQYzE480lYzfvZCTFZYler-M089sVsTiZjcPZdDZH6XUCMjXUAHpY6jRacrBp8hm-sROGCDZO3tNaGe
黄金分割法是用于一元函数f(x)在给定初始区间[a,b]搜索极小点xmin的一种方法。它是优化计算中的经典算法,以算法简单、收敛速度均匀、效果较好而著称,是许多优化算法的基础,它只适用于一维区间上的凸函数,即只在单峰区间内才能进行一维寻优,其收敛效率较低。其基本原理是:依照“去劣存优”原则、对称原则、以及等比收缩原则来逐步缩小搜索区间。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询