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

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

ID:57069215

大小:338.00 KB

页数:8页

时间:2020-07-31

利用MATLAB求解无约束优化问题.ppt_第1页
利用MATLAB求解无约束优化问题.ppt_第2页
利用MATLAB求解无约束优化问题.ppt_第3页
利用MATLAB求解无约束优化问题.ppt_第4页
利用MATLAB求解无约束优化问题.ppt_第5页
资源描述:

《利用MATLAB求解无约束优化问题.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、命令格式为:[x,fval,exitflag,output]=fminunc(fun,x0,options);或[x,fval,exitflag,output]=fminsearch(fun,x0,options);标准型为:minF(X)matlab解多元函数无约束优化问题fminsearch是用单纯形法寻优.fminunc的算法见以下几点说明:使用fminunc和fminsearch.1[3]fminunc为中型优化算法的步长一维搜索提供了两种算法,由options中参数LineSearchType控制:LineSearchType=’quadcubic’(缺省值),混合的二

2、次和三次多项式插值;LineSearchType=’cubicpoly’,三次多项式插值说明:[1]fminunc为无约束优化提供了大型优化和中型优化算法。由options中的参数LargeScale控制:LargeScale=’on’(默认值),使用大型算法LargeScale=’off’(默认值),使用中型算法[2]fminunc为中型优化算法的搜索方向提供了3种算法,由options中的参数HessUpdate控制:HessUpdate=’bfgs’(默认值),拟牛顿法的BFGS公式;HessUpdate=’dfp’,拟牛顿法的DFP公式;HessUpdate=’steep

3、desc’,最速下降法2例1minf(x)=(4x12+2x22+4x1x2+2x2+1)*ex11、编写M-文件fun.m:functionf=fun(x)f=exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1);2、输入M文件wliti.m如下:x0=[-1,1];x=fminunc(‘fun’,x0);y=fun(x)3、运行结果:x=0.5000-1.0000y=1.3029e-1034用fminsearch函数求解输入命令:f='100*(x(2)-x(1)^2)^2+(1-x(1))^2';[x,fval,exitfla

4、g,output]=fminsearch(f,[-1.22])运行结果:x=1.00001.0000fval=1.9151e-010exitflag=1output=iterations:108funcCount:202algorithm:'Nelder-Meadsimplexdirectsearch'54.用fminunc函数(1)建立M-文件fun2.mfunctionf=fun2(x)f=100*(x(2)-x(1)^2)^2+(1-x(1))^2(2)简单计算[x,fval,exitflag,output]=fminunc('fun2',[-1.22])(3)比较各种算法

5、主程序compare.m6options11=optimset('HessUpdate','dfp')[x11,fval11,exitflag11,output11]=fminunc('fun2',[-1.22],options11)pauseoptions12=optimset('HessUpdate','dfp','LineSearchType','cubicpoly')[x12,fval12,exitflag12,output12]=fminunc('fun2',[-1.22],options12)pauseoptions21=optimset('HessUpdate','

6、bfgs')[x21,fval21,exitflag21,output21]=fminunc('fun2',[-1.22],options21)pauseoptions22=optimset('HessUpdate','bfgs','LineSearchType','cubicpoly')[x22,fval22,exitflag22,output22]=fminunc('fun2',[-1.22],options22)pauseoptions31=optimset('HessUpdate','steepdesc')[x31,fval31,exitflag31,output31]=

7、fminunc('fun2',[-1.22],options31)pauseoptions32=optimset(,'HessUpdate','steepdesc','MaxIter',8000,'MaxFunEvals',8000)[x32,fval32,exitflag32,output32]=fminunc('fun2',[-1.22],options32)pauseoptions33=optimset('HessUpdate','steepdesc','MaxIter',

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。