MATLAB: Fminunc: get Hessian approximation after each iteration

fminuncOptimization Toolboxquasi-newton

I am using fminunc with quasi-Newton algorithms (BFGS and DFP). Is there is a way to record the approximation of the Hessian after each iteration? I looked at using the Outputfcn field, but the optimValues structure doesn't seem to include the Hessian updates.

Best Answer

You could try running fminunc 1 iteration at a time in a for-loop and saving the 6th output arguments,
options.MaxIter=1;
for i=1:N
[x,~,~,~,~,hessian{i}] = fminunc(fun,x,options);
end