From 8eaa645800ae2779d7d1b7a4592d684fddfa2ab6 Mon Sep 17 00:00:00 2001 From: Johannes Pfeifer Date: Wed, 22 Apr 2015 11:08:32 +0200 Subject: [PATCH] Fix compatibility of mode_compute=7 Uses wrapper as for mode_compute=3 to restore to conform to Octave syntax --- matlab/optimization/dynare_minimize_objective.m | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/matlab/optimization/dynare_minimize_objective.m b/matlab/optimization/dynare_minimize_objective.m index 9e8761bd2..65e38e050 100644 --- a/matlab/optimization/dynare_minimize_objective.m +++ b/matlab/optimization/dynare_minimize_objective.m @@ -240,7 +240,13 @@ switch minimizer_algorithm if ~isempty(options_.optim_opt) eval(['optim_options = optimset(optim_options,' options_.optim_opt ');']); end - [opt_par_values,fval,exitflag] = fminsearch(objective_function,start_par_value,optim_options,varargin{:}); + if ~isoctave + [opt_par_values,fval,exitflag] = fminsearch(objective_function,start_par_value,optim_options,varargin{:}); + else + % Under Octave, use a wrapper, since fminsearch() does not have a 4th arg + func = @(x) objective_function(x,varargin{:}); + [opt_par_values,fval,exitflag] = fminsearch(func,start_par_value,optim_options); + end case 8 % Dynare implementation of the simplex algorithm. simplexOptions = options_.simplex;