MATLAB优化工具箱无约束优化.pptVIP

  • 1
  • 0
  • 约1.3千字
  • 约 12页
  • 2019-08-11 发布于湖北
  • 举报
Matlab无约束优化函数 1 fminbnd求单变量函数最小值点 2 fminsearch求多变量函数最小值点 3 fminunc求多变量函数最小值点 1 fminbnd求单变量函数最小值点 x = fminbnd(fun,x1,x2) x = fminbnd(fun,x1,x2,options) x = fminbnd(fun,x1,x2,options,P1,P2,...) [x,fval] = fminbnd(...) [x,fval,exitflag] = fminbnd(...) [x,fval,exitflag,output] = fminbnd(...) 采用黄金分割查找和抛物线插值算法 必须参数:fun,x1,x2 说明: fun 为目标函数,用M文件或Inline定义 x1,x2为目标函数的自变量的取值范围 options是一个结构型的变量,用于指定优化参数,可通过optimset函数设置 help optimset 例子1:求解 [x,fval]=fminbnd(cos(4*x+5),0,pi/2) 结果: x = 1.1062 fval = -1.0000 表示当x=1.1062时,函数取得最小值-1。 例子2:求解模型 该模型的最小值点,也就是原模型的最大值点。 分析: 1、先建立目标函数文件 2、调用fminbnd 方法1: 1、定义目标函数 function f=funmin1(x) f=-x.*(x.*x-8-15*x); 方法2:采用内联函数 定义内联函数用inline。 输入命令: f = inline(-x*(x.*x -15*x-8*x)) [x,fval] = fminbnd(f,-10,10) 2 fminsearch函数 用于求多变量函数的最小值点,它采用Neder-Mead单纯形算法。 调用格式: [x,fval,exitflag,output] = fminsearch (fun,x0,options,p1,p2,...) 例子: 1、编写函数: function f=fun1search(x) %通过fminsearch求极小值的函数 f=2*(x(1)-1)^2+3*(x(2)-3)^2; 2、输入命令求解: [x,fval,exitflag]=fminsearch(fun1search,[0 0]) 结果: x = 1.0000 3.0000 fval = 3.1076e-009 exitflag = 1 Matlab求解函数列表 fminbnd fminsearch fminunc 其他: linprog求解线性规划 fmincon非线性规划 quadprog 二次规划 其他针对特殊非线性规划(略) 首先转化为 2、输入命令求解 [x,fval]=fminbnd(funmin1,-10,10) x = -0.2599 fval = -1.0484 即当x=-0.2599时,取得最大值1.0484。

文档评论(0)

1亿VIP精品文档

相关文档