MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   [求助]Matlab Optimization fmincon/fminunc 如何调用Hessian函数 (https://www.labfans.com/bbs/showthread.php?t=7249)

ggyyree 2009-04-01 18:23

[求助]Matlab Optimization fmincon/fminunc 如何调用Hessian函数
 
Matlab Optimization fmincon/fminunc 如何调用Hessian函数?

使用fmincon或者fminunc函数时可以直接使用Hessian矩阵。只要在function evaluate时返回函数值f,梯度g和Hessian矩阵H就可以了,如:

x = fmincon(@func,x0,A,b)

function [f, g, H] = func(x)

但是,同样fmincon和fminunc可以把Hessian矩阵定义成一个函数形式,@hessianfcn或者@HessMultFcn

options = optimset('Hessian','user-supplied','HessFcn',@hessianfcn);
或者,
options = optimset('Hessian','user-supplied', 'HessMult',@HessMultFcn);

请问如何定义函数@hessianfcn或者@HessMultFcn?

Matlab解释可以定义函数@HessMultFcn返回W = H*v,这样可以避免生成Hessian矩阵的内存开销,但是这里的向量v是什么呢?如果我不想生成Hessian矩阵,而我可以得到W = H*v中的W向量,请问怎么定义@HessMultFcn呢?谢谢


所有时间均为北京时间。现在的时间是 06:23

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.