最优化实验报告代码.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
最优化实验报告代码

一维搜索进退法 ? function f=getvalue(t) f=t^3-2*t+1; ? function [a,b]=myfun(t,h,alpha) t0=t; k=0; fi0=getvalue(t0); for count=1:1:100 t1=t0+h; fi1=getvalue(t1); if(fi1fi0) h=alpha*h; t=t0; t0=t1; fi0=fi1; k=k+1; else if(k~=0) if(tt1) a=t1; b=t; else a=t; b=t1; end break; else h=-h; t=t1; end end end ? 结果: [a,b]=myfun(0,1,2) a=0,b=3 ? ? 黄金分割法 function [value,a,b]=myfun(m,n,alpha) tao=0.618; ephsilo=alpha; a=m; k=0; b=n; lamenda=a+(1-tao)*(b-a); miu=a+tao*(b-a); if(abs(lamenda-miu)ephsilo) value=(lamenda+miu)*0.5; else for count=1:1:100 if(getvalue(lamenda)getvalue(miu)) a=a; b=miu; miu=lamenda; lamenda=a+(1-tao)*(b-a); else a=lamenda; b=b; lamenda=miu; miu=a+tao*(b-a); end k=k+1; if(abs(b-a)ephsilo) value=(a+b)*0.5; break; end end end ? 结果: [value,a,b]=myfun(-3,5,0.3) value = -0.9736 a = -1.1114 b = -0.8358 ? 牛顿法 function f=getvalue(t) f=t^3-2*t+1; ? function dif1=diff1(t) dif1=3*t^2-2; ? function dif2=diff2(t) dif2=6*t; ? function [value,x]=myfun(t0,ephisilo) t=t0; while(abs(diff1(t))=ephisilo) t=t-diff1(t)/diff2(t); end x=t; value=getvalue(t); ? 结果 [value,x]=myfun(0.01,0.01) value =-0.0887 x =0.8165 ? ? function y1=fun(x) y1=(1-x(1))^2+2*(x(2)-x(1)^2)^2; ? function y2=gfun(x) y2(1,1)=2*x(1)-4*x(1)*x(2)+4*x(1)^3-2; y2(2,1)=2*x(2)-2*x(1)^2; ? function y3=Hess(x) y3(1,1)=12*x(1)^2-4*x(2)+2; y3(1,2)=-4*x(1); y3(2,1)=-4*x(1); y3(2,2)=2; 阻尼牛顿 ? function [x,val,k]=myfun(fun,gfun,Hess,x0) maxk=100; rho=0.55; sigma=0.4; k=0; epsilon=0.1; while(kmaxk) gk=feval(gfun,x0); Gk=feval(Hess,x0); dk=-Gk/gk; if(norm(gk)epsilon) break; end

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档