- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Matlab优化工具箱的使用 MATLAB优化工具箱能求解的优化模型 无约束优化问题 无约束优化问题 [x,fval,exitflag,output,grad,hessian] = fminunc(fun,x0,options) 输入参数: fun: 目标函数,以函数句柄的形式给出。函数句柄的构造: 函数首先用m文件定义好,然后采用下列方式构造函数句柄: fhandle=@ function_name 如: f_h=@sin; f_h=@cos 匿名函数的形式(Anonymous function),函数的表达式直接给出: fhandle=@ (var_list) expression(var_list),如: f_h=@(x) sin(x); f_h=@(x) cos(x); 采用函数句柄的方式调用函数:把函数的名称用函数句柄直接替换。比如定义: f_h=@sin, 则使用sin函数的时候有两种方式: sin(10), f_h(10),返回同样的结果。 无约束优化问题 [x,fval,exitflag,output,grad,hessian] = fminunc(fun,x0,options) 输入参数: x0: 初始点的值。 Options: 提供和函数本身有关的一些细节控制,如采用的算法,是否采用梯度等信息。本身是一个结构数组,其中每一个属性值的改变或设定可用函数optimset完成,如: options = optimset(‘Display’,‘iter’,‘TolFun’,1e-8); options = optimset(optimfun): 返回优化函数“optimfun”所有的options属性的名称和属性值。如: options = optimset(‘fminunc’): 观察结果。Options各个属性的含义请参考帮助文件。 无约束优化问题 [x,fval,exitflag,output,grad,hessian] = fminunc(fun,x0,options) 输出参数: X, fval: 算法终止时函数的最优解和最优值。 exitflag: 整数标志,算法终止的原因,返回值大于0表示找到局部最优点,否则没有找到局部最优点。具体的返回请参照函数“fminunc”的帮助。 Output:Structure containing information about the optimization. The fields of the structure are: iterations: Number of iterations taken; funcCount:Number of function evaluations; algorithm:Algorithm used; Cgiterations:Number of PCG iterations (large-scale algorithm only);stepsize:Final step size taken (medium-scale algorithm only); grad,hessian:最优解X点处的剃度和Hessian矩阵 无约束优化问题 [x,fval,exitflag,output,grad,hessian] = fminunc(fun,x0,options) 例子: 求目标函数 mypeaks的局部最小值。 mypeaks=3*(1-x(:,1)).^2.*exp(-(x(:,1).^2) - (x(:,2)+1).^2) ... - 10*(x(:,1)/5 - x(:,1).^3 - x(:,2).^5).*exp(-x(:,1).^2-x(:,2).^2) ... - 1/3*exp(-(x(:,1)+1).^2 - x(:,2).^2); fminsearch与fminunc有相同的输入和输出参数,但是它使用单纯形法来找到局部最优。 分别用fminsearch和fminunc函数求上述目标函数的极小值点,可发现在利用了梯度信息的时候,迭代的次数大大减小。 约束优化问题 1。单变量(标量)、上下界约束优化问题。 [x,fval,exitflag,output] = fminbnd(fun,x1,x2,options) 目标函数必须是连续的,只能求出局部最优值,所用算法:黄金分割和二次插值方法。 例子: 求函数 f(x)=x^(2/3)-(x^2+1)^(1/3), 约束优化问题 2。线性规划问题。 [x,fval,exitflag,output,lambda] =
文档评论(0)