dynare_minimize_objective: fix analytic derivatives in mode_compute=13 for Octave and MATLAB < R2016a

time-shift
Sébastien Villemot 2021-01-29 10:46:19 +01:00
parent a5d7078581
commit 20c00d5a02
No known key found for this signature in database
GPG Key ID: 2CECE9350ECEBE4A
1 changed files with 5 additions and 1 deletions

View File

@ -552,7 +552,11 @@ switch minimizer_algorithm
optim_options.Display='off';
end
if options_.analytic_derivation || (isfield(options_,'mom') && options_.mom.analytic_jacobian==1)
optim_options.SpecifyObjectiveGradient=true;
if isoctave || matlab_ver_less_than('9.0') % Option names changed in MATLAB R2016a
optim_options.Jacobian = 'on';
else
optim_options.SpecifyObjectiveGradient = true;
end
func = @(x) analytic_gradient_wrapper(x,objective_function,varargin{:});
[opt_par_values,Resnorm,fval,exitflag,OUTPUT,LAMBDA,JACOB] = ...
lsqnonlin(func,start_par_value,bounds(:,1),bounds(:,2),optim_options);