diff --git a/matlab/dynare_identification.m b/matlab/dynare_identification.m index ea0047abfe7dfb613306f559defde1191932dbc4..e48b7c1c67b7efbce0346ae55efe34cadc5626b0 100644 --- a/matlab/dynare_identification.m +++ b/matlab/dynare_identification.m @@ -178,7 +178,9 @@ if iload <=0, oo0=oo_; tau=[oo_.dr.ys(oo_.dr.order_var); vec(A); dyn_vech(B*M_.Sigma_e*B')]; yy0=oo_.dr.ys(I); - [residual, g1 ] = feval([M_.fname,'_dynamic'],yy0, oo_.exo_steady_state', M_.params,1); + [residual, g1 ] = feval([M_.fname,'_dynamic'],yy0, ... + oo_.exo_steady_state', M_.params, ... + oo_.dr.ys, 1); if burnin_iteration<BurninSampleSize, burnin_iteration = burnin_iteration + 1; diff --git a/matlab/getH.m b/matlab/getH.m index 05b163a0192f32e1018d1a208cc7a4672ab35561..58d514c77a6d439f040eac7e463510b5aedf150a 100644 --- a/matlab/getH.m +++ b/matlab/getH.m @@ -30,10 +30,13 @@ yy0=oo_.dr.ys(I); % for j=1:size(M_.lead_lag_incidence,1); % yy0 = [ yy0; oo_.dr.ys(find(M_.lead_lag_incidence(j,:)))]; % end -[df, gp] = feval([M_.fname,'_params_derivs'],yy0, oo_.exo_steady_state', M_.params, 1); -[residual, g1 ] = feval([M_.fname,'_dynamic'],yy0, oo_.exo_steady_state', M_.params,1); +[df, gp] = feval([M_.fname,'_params_derivs'],yy0, oo_.exo_steady_state', ... + M_.params, oo_.dr.ys, 1); +[residual, g1 ] = feval([M_.fname,'_dynamic'],yy0, oo_.exo_steady_state', ... + M_.params, oo_.dr.ys, 1); -[residual, g1, g2 ] = feval([M_.fname,'_dynamic'],yy0, oo_.exo_steady_state', M_.params,1); +[residual, g1, g2 ] = feval([M_.fname,'_dynamic'],yy0, oo_.exo_steady_state', ... + M_.params, oo_.dr.ys, 1); [residual, gg1] = feval([M_.fname,'_static'],oo_.dr.ys, oo_.exo_steady_state', M_.params); % df = feval([M_.fname,'_model_derivs'],yy0, oo_.exo_steady_state', M_.params, 1); dyssdtheta = -gg1\df; diff --git a/preprocessor/DynamicModel.cc b/preprocessor/DynamicModel.cc index ef3773d789d2260e53f316095323c2e3b16faf01..47cec105d01812d35cc352d9ff19e413961963ef 100644 --- a/preprocessor/DynamicModel.cc +++ b/preprocessor/DynamicModel.cc @@ -3333,14 +3333,11 @@ DynamicModel::writeParamsDerivativesFile(const string &basename) const cerr << "ERROR: Can't open file " << filename << " for writing" << endl; exit(EXIT_FAILURE); } - paramsDerivsFile << "function [rp, gp, rpp, gpp, hp] = " << basename << "_params_derivs(y, x, params, it_, ss_param_deriv, ss_param_2nd_deriv)" << endl + paramsDerivsFile << "function [rp, gp, rpp, gpp, hp] = " << basename << "_params_derivs(y, x, params, steady_state, it_, ss_param_deriv, ss_param_2nd_deriv)" << endl << "%" << endl << "% Warning : this file is generated automatically by Dynare" << endl << "% from model file (.mod)" << endl << endl; - if (isUnaryOpUsed(oSteadyState)) - paramsDerivsFile << "global oo_;" << endl << endl; - writeModelLocalVariables(paramsDerivsFile, oMatlabDynamicModel); writeTemporaryTerms(params_derivs_temporary_terms, paramsDerivsFile, oMatlabDynamicModel);