matlab无约束优化算法,20.2.2 多元函数无约束优化

20.2.2  多元函数无约束优化

在MATLAB中,对形如 的多元函数无约束优化问题提供了下列求解函数。

(1)x= fminunc(fun, X0),或x=fminsearch(fun, X0)。

(2)x= fminunc(fun, X0, options),或x=fminsearch(fun,X0, options)。

(3)[x,fval]= fminunc(…),或[x,fval]= fminsearch(…)。

(4)[x,fval,exitflag]= fminunc(…),或[x,fval,exitflag]= fminsearch。

(5)[x,fval,exitflag,output]= fminunc(…),或[x,fval,exitflag,output]= fminsearch(…)。

其中,fminsearch是用单纯型法寻优,对fminunc的算法有如下几点说明。

(1)fminunc为无约束优化提供了大型优化和中型优化算法,由options中的参数LargeScale控制:LargeScale='on'(默认值),使用大型算法;LargeScale='off'(默认值),使用中型算法。

(2)fminunc为中型优化算法的搜索方向提供了4种算法,由options中的参数HessUpdate控制:HessUpdate='bfgs'(默认值),拟牛顿法的BFGS公式;HessUpdate='dfp',拟牛顿法的DFP公式;HessUpdate='steepdesc',最速下降法。

(3)fminunc为中型优化算法的步长一维搜索提供了两种算法,由options中参数LineSearchType控制:LineSearchType='quadcubic'(默认值),混合的二次和三次多项式插值;LineSearchType='cubicpoly',三次多项式插值使用fminunc和 fminsearch可能会得到局部最优解。

例20-2  求函数 在点[ 1,1]附近的局部最小点。>>f= @(x)exp(x(2))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1);

>>x0= [-1, 1];

>>x=fminunc(f,x0);

>>y=f(x)

y=1.3919e-013

x=0.5000   -1.0000

可知,函数在点[ 1,1]附近的点[0.5, 1]处取得局部最小点,极小值为1.3919e 013。

【责任编辑:book TEL:(010)68476606】

点赞 0

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值