最优化方法 | 【线搜索:斐波那契法Fibonacci】的Matlab实现
2020-07-25 11:55
411 查看
最优化方法 | 【线搜索:斐波那契法Fibonacci】的Matlab实现
MATLAB代码实现:
function [num,temp,alpha] = method_Fibonacci(a0,b0,L,epsilon) % epsilon = 1e-9; ak =a0; bk =b0; %% 找到 满足 >= temp的第一个 斐波那契数 temp = (bk-ak)/L; f = [1 1]; n = 1; while f(n)< temp f(n+2)=f(n)+f(n+1); n = n+1; end %% k = 0; num=1; temp(1) = phi(0.5*(ak+bk)); i = 2; while bk-ak>= L lamudak = ak +(bk-ak)* (f(n-k-1)/f(n-k+1)); muk = ak +(bk-ak)* (f(n-k)/f(n-k+1)); if phi(lamudak)<phi(muk) ak = ak; bk = muk; else ak = lamudak; bk = bk; end k=k+1; num = num+1; temp(i) = phi(0.5*(ak+bk)); disp(['这是Fibonacci--->第', num2str(num),'次迭代,当前目标函数最优值为',num2str(temp(i))]) i=i+1; end alpha = (ak+bk)/2; end
相关文章推荐
- 最优化方法的Matlab实现
- 最优化方法matlab实现
- 最优化方法的Matlab实现
- 最优化方法的Matlab实现
- asp 多关键词搜索的简单实现方法
- php启用sphinx全文搜索的实现方法
- 计算方法单点截弦matlab实现
- VB与MATLAB接口实现方法
- [搜索]一种分词方法的实现
- php实现搜索一维数组元素并删除二维数组对应元素的方法
- asp 多关键词搜索的简单实现方法
- 分水岭算法 matlab的三种实现方法
- 在SQL Server中实现最短路径搜索的解决方法
- 迷宫问题解决方法:分别基于深度搜索和广度搜索的思想来实现
- php利用scws实现mysql全文搜索功能的方法
- 在MySQL中使用Sphinx实现多线程搜索的方法
- matlab实现高斯牛顿法、Levenberg–Marquardt方法
- 64位系统vs2010平台下实现C++与matlab R2014混合编程方法示例
- jQuery实现搜索关键字自动匹配提示方法
- 用牛顿方法解一元非线性方程的根(Matlab实现)