最优化算法实验报告(附Matlab程序).docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
最优化方法(Matlab)实验报告 —— Fibonacci法 一、实验目的: 用MATLAB程序实现一维有哪些信誉好的足球投注网站中用Fibonacc法求解一元单峰函数的极小值问题。 二、实验原理: (一)、构造Fibonacci数列:设数列,满足条件: 1、 2、 则称数列为Fibonacci数列。 (二)、迭代过程: 首先由下面的迭代公式确定出迭代点: 易验证,用上述迭代公式进行迭代时,第k次迭代的区间长度缩短比率恰好为。故可设迭代次数为n,因此有 若设精度为L,则有第n次迭代得区间长度 ,即就是 ,由此便可确定出迭代次数n。 假设第k次迭代时已确定出区间 以及试探点并且。计算试探点处的函数值,有以下两种可能: 若,则令 计算 的值。 (2),则令 计算 的值。 又因为第一次迭代确定出了两个迭代点,以后每迭代一次,新增加一个迭代点,这样在迭代n-1后便计算完了n个迭代点。因此第n次迭代中,选用第n-1次的迭代点以及辨别常数构造和: 再用同样的方法进行判断: (1)、若 则令 (2)、若 =则令 这样便可确定出最优解的存在区间。 三、实验步骤: (1)给定初始区间和期望达到的精度L,求迭代次数n, 使得 置判别系数,计算试探点,其中 计算函数值,置k=1; (2)若,则转(3);若,则转(4); (3)令,计算试探点, 若k=n-2,则转步骤(5);否则,计算,置k=k+1,转步骤(2); (4)令,计算, 若k=n-2,则转步骤(5);否则,计算,置k=k+1,转步骤(2); (5)令,计算 若,则令 若,则令 停止计算,极小点含于。 四、算法流程图 五、用MATLAB程序实现,并计算一个例题。(程序见附录) 例题:用Fibonacci法求解问题 设初始区间,精度L=0.001,辨别常数 六、实验结果: 函数图像及迭代点变动图像如下图所示: 由运行结果看出,迭代进行18次便达到期望的精度,其迭代点序列向量如下: a=[-1.0000 -0.2361 0.2361 0.2361 0.4164 0.4164 0.4164 0.4590 0.4853 0.4853 0.4953 0.4953 0.4953 0.4977 0.4992 0.4992 0.4996 0.4996]; b=[1.0000 1.0000 1.0000 0.7082 0.7082 0.5967 0.5279 0.5279 0.5279 0.5116 0.5116 0.5054 0.5016 0.5016 0.5016 0.5006 0.5006 0.5001]; r=[-0.2361 0.2361 0.5279 0.4164 0.5279 0.4853 0.4590 0.4853 0.5016 0.4953 0.5016 0.4992 0.4977 0.4992 0.5001 0.4996 0.5001 0.5001]; u=[0.2361 0.5279 0.7082 0.5279 0.5967 0.5279 0.4853 0.5016 0.5116 0.5016 0.5054 0.5016 0.4992 0.5001 0.5006 0.5001 0.5001 0.5001]; 最优值存在区间为:[0.4996,0.5001]。 七、附录: 算法程序如下: 1、Fibonacci算法编程如下: function [a,b,r,u,fr,fu,n]=Fibonacci(f,a1,b1,L,e) %函数功能:用Fibonacci法进行一维有哪些信誉好的足球投注网站,求解单峰函数 f 的极小值问题; %初始条件:初始区间为[a1,b1],给定精度为L0,辨别常数e0; %下面构造Fibonacci数列 F=[]; t=(b1-a1)/L; F(1)=1;F(2)=1; i=1; while(F(i)t) F(i+2)=F(i+1)+F(i); i=i+1; end n=i; % n 为迭代次数 %下面进行迭代 a=[]; b=[]; a(1)=a1; b(1)=b1; r=[]; u=[]; r(1)=a(1)+

文档评论(0)

zilaiye + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档