设为首页收藏本站

EPS数据狗论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1232|回复: 0

非线性规划--约束优化

[复制链接]

13

主题

152

金钱

235

积分

入门用户

发表于 2018-8-22 11:20:49 | 显示全部楼层 |阅读模式
约束优化也是求解f (x )的最小值,但x被限制在定义域内。MATLAB提供用于无约束规划的函数包括fminbnd、fmincon和fseminf。

fminbnd函数用于求解单变量函数的最小值,即求f (x )最小值,且满足x 1 < x < x 2 。该函数的调用格式如下:
  1. x = fminbnd(fun,x1,x2)
  2. x = fminbnd(fun,x1,x2,options)
  3. x = fminbnd(problem)
  4. [x,fval] = fminbnd(...)
  5. [x,fval,exitflag] = fminbnd(...)
  6. [x,fval,exitflag,output] = fminbnd(...)
复制代码
其中,x1、x2分别为下、上限;其余参数可参考fminsearch函数。

例:求sin(x)在(0, 2pi)上的最小值。

在命令行窗口输入:
  1. fun=@sin
  2. [x,fval,exitflag] = fminbnd(fun,0,2*pi)
复制代码
输出结果如下:
  1. fun =     @sin
  2. x = 4.7124
  3. fval =    -1.0000
  4. exitflag =     1
复制代码
fmincon函数用于求解函数的最小值,即求f (x )最小值,且满足:

该函数的调用格式如下:
  1. x = fmincon(fun,x0,A,b)
  2. x = fmincon(fun,x0,A,b,Aeq,beq)
  3. x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub)
  4. x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)
  5. x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)
  6. x = fmincon(problem)
  7. [x,fval] = fmincon(...)
  8. [x,fval,exitflag] = fmincon(...)
  9. [x,fval,exitflag,output] = fmincon(...)
  10. [x,fval,exitflag,output,lambda] = fmincon(...)
  11. [x,fval,exitflag,output,lambda,grad]= fmincon(...)
  12. [x,fval,exitflag,output,lambda,grad,hessian]= fmincon(...)
复制代码
其中,nonlcon用于提供非线性c(x)或ceq(x)。其余参数可参考linprog函数和fminunc函数。


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

客服中心
关闭
在线时间:
周一~周五
8:30-17:30
QQ群:
653541906
联系电话:
010-85786021-8017
在线咨询
客服中心

意见反馈|网站地图|手机版|小黑屋|EPS数据狗论坛 ( 京ICP备09019565号-3 )   

Powered by BFIT! X3.4

© 2008-2028 BFIT Inc.

快速回复 返回顶部 返回列表