2支棒棒糖 发表于 2018-8-22 11:20:49

非线性规划--约束优化

约束优化也是求解f (x )的最小值,但x被限制在定义域内。MATLAB提供用于无约束规划的函数包括fminbnd、fmincon和fseminf。

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

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

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

该函数的调用格式如下:
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,beq,lb,ub,nonlcon,options)
x = fmincon(problem)
= fmincon(...)
= fmincon(...)
= fmincon(...)
= fmincon(...)
= fmincon(...)
= fmincon(...)其中,nonlcon用于提供非线性c(x)或ceq(x)。其余参数可参考linprog函数和fminunc函数。


页: [1]
查看完整版本: 非线性规划--约束优化