Revert "More fixings around objective_function"

This reverts commit 05cd51111c.
time-shift
Michel Juillard 2015-10-09 14:19:34 +02:00
parent 9be5c31761
commit 1a9aa17c9e
3 changed files with 11 additions and 11 deletions

View File

@ -194,7 +194,7 @@ while fpar<B
end
if MAX_nirfs_dsgevar
IRUN = IRUN+1;
[fval,info,cost_flag,junk1,junk2,SteadyState,junk3,PHI,SIGMAu,iXX] = dsge_var_likelihood_1(deep',dataset_,dataset_info,options_,M_,estim_params_,bayestopt_,bounds,oo_);
[fval,junk1,junk2,cost_flag,SteadyState,junk3,info,PHI,SIGMAu,iXX] = dsge_var_likelihood(deep',dataset_,dataset_info,options_,M_,estim_params_,bayestopt_,bounds,oo_);
dsge_prior_weight = M_.params(strmatch('dsge_prior_weight',M_.param_names));
DSGE_PRIOR_WEIGHT = floor(dataset_.nobs*(1+dsge_prior_weight));
SIGMA_inv_upper_chol = chol(inv(SIGMAu*dataset_.nobs*(dsge_prior_weight+1)));

View File

@ -117,9 +117,9 @@ ana_deriv = DynareOptions.analytic_derivation;
DynareOptions.analytic_derivation=0;
if ~isequal(DynareOptions.mode_compute,11) || ...
(isequal(DynareOptions.mode_compute,11) && isequal(DynareOptions.order,1))
[fval,a,b,c,d] = objective_function(xparam1,DynareDataset,DatasetInfo,DynareOptions,Model,EstimatedParameters,BayesInfo,BoundsInfo,DynareResults);
[fval,junk1,junk2,a,b,c,d] = feval(objective_function,xparam1,DynareDataset,DatasetInfo,DynareOptions,Model,EstimatedParameters,BayesInfo,BoundsInfo,DynareResults);
else
a=0;
b=0;
fval = 0;
end
if DynareOptions.debug
@ -127,10 +127,10 @@ if DynareOptions.debug
end
DynareOptions.analytic_derivation=ana_deriv;
if strcmp(func2str(objective_function),'non_linear_dsge_likelihood')
info = d;
if DynareOptions.dsge_var || strcmp(func2str(objective_function),'non_linear_dsge_likelihood')
info = b;
else
info = a;
info = d;
end
% if DynareOptions.mode_compute==5

View File

@ -1,4 +1,4 @@
function [g, badg] = numgrad5_(fcn,f0,x,penalty,epsilon,varargin)
function [g, badg] = numgrad5(fcn,f0,x,epsilon,varargin)
% Computes the gradient of the objective function fcn using a five points
% formula if possible.
%
@ -48,13 +48,13 @@ for i=1:n
xiold = x(i);
h = step_length_correction(xiold,scale,i)*delta;
x(i) = xiold+h;
[f1,junk1,junk2,cost_flag1] = penalty_objective_function(x, fcn, penalty, varargin{:});
[f1,junk1,junk2,cost_flag1] = feval(fcn, x, penalty, varargin{:});
x(i) = xiold-h;
[f2,junk1,junk2,cost_flag2] = penalty_objective_function(x, fcn, penalty, varargin{:});
[f2,junk1,junk2,cost_flag2] = feval(fcn, x, penalty, varargin{:});
x(i) = xiold+2*h;
[f3,junk1,junk2,cost_flag3] = penalty_objective_function(x, fcn, penalty, varargin{:});
[f3,junk1,junk2,cost_flag3] = feval(fcn, x, penalty, varargin{:});
x(i) = xiold-2*h;
[f4,junk1,junk2,cost_flag4] = penalty_objective_function(x, fcn, penalty, varargin{:});
[f4,junk1,junk2,cost_flag4] = feval(fcn, x, penalty, varargin{:});
if f0<f1 && f1<f3 && f0<f2 && f2<f4
g0 = 0;
else