网站大量收购独家精品文档,联系QQ:2885784924

matlab优化函数详解.pdf

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

1 .fminbnd 进行有约束的一元函数最小值求解。它的求解命令是 : X = FMINBND(FUN,x1,x2) ,FUN 是目标函数 ,可以为表达式字符串或 MATLAB 自定义函数的函数柄 ,要求解在约束 x1 = X = x2 下的最优解X*。 还有其他一些求解命令是 : x = fminbnd(fun,x1,x2,options) % options 为指定优化参数选项 ,由OPTIMSET 设定 [x,fval] = fminbnd(…) % fval 为目标函数的最小值 [x,fval,exitflag] = fminbnd(…) %exitflag 为终止迭代的原因 [x,fval,exitflag,output] = fminbnd(…) % output 为优化信息 说明 :若参数 exitflag0 ,表示函数收敛于 x ,若 exitflag=0 ,表示达到了最大迭 代次数 ,exitflag0 表示函数不收敛于 x ;若参数 output=iterations 表示迭代次 数 ,output=funccount 表示函数赋值次数 ,output=algorithm 表示所使用的算法。 例子 :要求解 f(x)=x3-2x-5 在 (0 ,2 )之间最优解 ,求解命令如下 : f = @(x)x.^3-2*x-5; x = fminbnd(f, 0, 2) ; 2 .fminsearch 进行多变量函数的无约束优化。 格式主要有 : x = fminsearch(fun,x0) ;%对函数 fun ,从 x0 开始搜索最优值 ,返回最优变量 x x = fminsearch(fun,x0,options) ;%可以用 optimset 设置一些优化选项 ; [x,fval] = fminsearch(...) ;%返回 f 为最优函数值 ; [x,fval,exitflag] = fminsearch(...) ;%exitflag 与 fminbnd 类似 ; [x,fval,exitflag,output] = fminsearch(...) ;%output 与 fminbnd 类似 ; 例子 :要求函数 f (x)= 100*(x(2)-x(1)^2)^2+(1-x(1))^2 的最小值 ,用 fminsearch 求解如下 : fun = @(x)100*(x(2)-x(1)^2)^2+(1-x(1))^2; [x,fval] = fminsearch(fun,[-1.2, 1]) ; 3 .fminunc 与 fminsearch 一样 ,也是对多变量无约束函数优化。 指令格式 : x = fminunc(fun,x0) x = fminunc(fun,x0,options) [x,fval] = fminunc(...) [x,fval,exitflag] = fminunc(...) [x,fval,exitflag,output] = fminunc(...) [x,fval,exitflag,output,grad] = fminunc(...) ;%grad 为解 x 处的梯度值 ; [x,fval,exitflag,output,grad,hessian] = fminunc(...) ;% 目标函数在解x 处的海赛 (Hessian )值。 从算法上来讲 ,当函数的阶数大于2 时 ,fminunc 比 fminsearch 更有效 ,因为它 采用了基于梯度的优化算法 ,而 fminsearch 采用的是 Nelder-Mead 型简单搜寻 法 ,但是 ,正因为这样 ,当函数不连续时 ,fminsearch 的效果反而更好。 4 .fmincon 对有约束的多变量函数巡优。 格式 : x = fmincon(fun,x0,A,b) x = fmincon(fun,x0,A,b,Aeq,beq) x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub) x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon) x = fmincon(fun,x0,A,b,Aeq

文档评论(0)

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

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

1亿VIP精品文档

相关文档