MATLAB之斐波那契法

您所在的位置:网站首页 求函数值matlab MATLAB之斐波那契法

MATLAB之斐波那契法

2024-07-13 19:48| 来源: 网络整理| 查看: 265

MATLAB之斐波那契

之前在网上看到过很多关于斐波那契算法的文章,我从中吸收了一些知识,觉得对初学者来说很容易理解,再此分享给大家。

一、算法原理

1、引入 我的上一篇博客讲解了黄金分割法,我们以此为突破点,来了解它。 假设函数f(x)的极值坐在区间为(a,b),利用黄金分割点 在区间(a,b)内插入两点: x1=a+0.382*(b-a); x2=a+0.618*(b-a); 其中0.382=3/8,0.618=5/8。这两个数就是斐波那契数列中的数。 2、概念 对于这样的一个数列: 1 1 2 3 5 8…,我们可以发现,2=1+1,3=1+2,5=2+3,8=3+5… 后一个数的值总是前两个数值的和。这样一个数列,我们就称它为斐波那契数列。 3.斐波那契算法 那什么时斐波那契算法呢,我们还是用黄金分割法这个例子来分析, 1、假设函数f(x)的极值坐在区间为(a,b),利用黄金分割点 在区间(a,b)内插入两点: x1=a+0.382*(b-a); x2=a+0.618*(b-a); 2、x1、x2将搜索区间分为三段: 比较f(x1)f(x2)的大小, 若 f(x1) f(x2) n=n-1; %执行一次,斐波那契数列向前推一个数 x0=x1; x1=x2; x2=x0+F(n-1)/F(n)*(x3-x0); else n=n-1; x3=x2; x2=x1; x1=x0+F(n-2)/F(n)*(x3-x0); end end x=(x0+x3)/2; result=f(x); end



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3