法和分法的MATLAB程序及实验比较最优化.docVIP

法和分法的MATLAB程序及实验比较最优化.doc

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
法和分法的MATLAB程序及实验比较最优化

最优化 实验报告一 学号:1186320… 姓名: 实验目的 能够对具体的问题用适合的最优化方法进行求解。 对同一个问题用不同的进行求解并比较优劣。 实验方法 利用MATLAB软件,用0.618法和二分法求解问题。 实验题目 书本p27 求解minf(x)=x^2-x-1. 初始区间为[-1,1],区间精度为0.05. 求minf(x)=x^3-2x+1的近似解,初始有哪些信誉好的足球投注网站区间为[0,3],区间精度为0.15. minf(x)=x^3-3*x+1,初始区间为[0,1],区间精度为0.10 minf(x)=x^4+2*x+4;初始区间为[0,2],区间精度为0.05 minf(x)=3*x^4-4*x^3+12*x^2,初始区间为[-1,2],区间精度为0.02 解答 结果 0.618法 0.5016 5 0.8115 0.9656 0.7902 -4.5310e-004 二分法 0.5313 0.8438 0.9375 0.7813 -0.0039 迭代次数 0.618法 9 8 6 9 12 二分法 6 5 4 6 8 用时 0.618法 0.032152 0.012183 0.011711 0.006397 0.019052 二分法 0.180771 0.168319 0153924 0.189740 0.311732 从中可以看出在相同的精度下0.618法的迭代次数要比二分法的多,计算结果比较准确,而且计算的用时比二分法的少。 此外程序的运行时间与电脑的负载有一定的联系。在进行比较复杂的运算时,电脑空闲空间大,就能更快的输出结果。 实验程序 ①用0.618程序 function [s,phis,k,G,E]=golds(phi,a,b,delta,epsilon) t=(sqrt(5)-1)/2; h=b-a; phia=feval(phi,a); phib=feval(phi,b); p=a+(1-t)*h; q=a+t*h; phip=feval(phi,p); phiq=feval(phi,q); k=1; G(k,:)=[a, p, q, b]; while(abs(phib-phia)epsilon)|(hdelta) if(phipphiq) b=q; phib=phiq; q=p; phiq=phip; h=b-a; p=a+(1-t)*h; phip=feval(phi,p); else a=p; phia=phip; p=q; phip=phiq; h=b-a; q=a+t*h; phiq=feval(phi,q); end k=k+1; G(k,:)=[a, p, q, b]; end ds=abs(b-a); dphi=abs(phib-phia); if(phip=phiq) s=p; phis=phip; else s=q; phis=phiq; end E=[ds,dphi]; tic [s,phis,k,G,E]=golds(inline(s^2-s-1),-1,1,5e-2,5e-2) toc 二分法: fdff.m: function dy=fdiff(x) syms x; f=x^2-x-1; dy=fdiff(f); eff.m: function [k,s,G]=eff(phi,a,b,delta,epsilon) h=0.5*(b-a); phia=feval(phi,a);phib=feval(phi,b); p=a+h; phip=feval(phi,p); k=1;G(k,:)=[k,a,b,p,phip]; dphip=subs(fdiff,p); dphia=subs(fdiff,a); dphib=subs(fdiff,b); while(abs(phib-phia)epsilon)|(hdelta) if(dphip*dphib0) b=p;phib=phip; else a=p;phia=phip; end h=0.5*(b-a);p=a+h;phip=feval(phi,p); dphip=subs(fdiff,p);dphia=subs(fdiff,a);dphib=subs(fdiff,b); s=p; k=k+1;G(k,:)=[k,a,b,p,phip]; end tic [k,s,G]=eff(inline(x^

文档评论(0)

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

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

1亿VIP精品文档

相关文档