利用MATLAB求解无约束优化问题.pptVIP

  • 37
  • 0
  • 约1.68千字
  • 约 8页
  • 2021-10-10 发布于广东
  • 举报
命令格式为: [x,fval,exitflag,output]= fminunc(fun, x0 ,options); 或 [x,fval,exitflag,output]= fminsearch(fun, x0 ,options);;[3] fminunc为中型优化算法的步长一维搜索提供了两种算法, 由options中参数LineSearchType控制: LineSearchType=’quadcubic’(缺省值), 混合的二次和三次多项式插值;LineSearchType=’cubicpoly’,三次多项式插值 ;例1 min f(x)=(4x12+2x22+4x1x2+2x2+1)*ex1;4;用fminsearch函数求解;4. 用fminunc 函数; options11=optimset(HessUpdate,dfp) [x11,fval11,exitflag11,output11]=fminunc(fun2, [-1.2 2],options11) pause options12=optimset(HessUpdate,dfp,LineSearchType,cubicpoly) [x12,fval12,exitflag12,output12]=fminunc(fun2, [-1.2 2],options12) pause options21=optimset(HessUpdate,bfgs) [x21,fval21,exitflag21,output21]=fminunc(fun2, [-1.2 2],options21) pause options22=optimset(HessUpdate,bfgs,LineSearchType,cubicpoly) [x22,fval22,exitflag22,output22]=fminunc(fun2, [-1.2 2],options22) pause options31=optimset(HessUpdate,steepdesc) [x31,fval31,exitflag31,output31]=fminunc(fun2, [-1.2 2],options31) pause options32=optimset(,HessUpdate,steepdesc,MaxIter,8000,MaxFunEvals,8000) [x32,fval32,exitflag32,output32]=fminunc(fun2, [-1.2 2],options32) pause options33=optimset(HessUpdate,steepdesc,MaxIter,9000,MaxFunEvals,9000) [x33,fval33,exitflag33,output33]=fminunc(fun2, [-1.2 2],options33) ;(ii)编写M文件zuisu.m x=[2;2]; [f0,g]=detaf(x); while norm(g)0.001 d=-g/norm(g); t=1.0;f=detaf(x+t*d); while ff0 t=t/2;f=detaf(x+t*d); end x=x+t*d [f0,g]=detaf(x) end

文档评论(0)

1亿VIP精品文档

相关文档