From ac5fcbe23118f47aae579cd925ec7659b05c4a0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Adjemian=28Charybdis=29?= Date: Sun, 4 Mar 2018 19:15:43 +0100 Subject: [PATCH] Use new approach for setting aux variables in model inversion routine. (cherry picked from commit f1ed81aae27c2e7e835fd05ea0c3ef1be5f2a299) --- matlab/model_inversion.m | 24 +----------------------- 1 file changed, 1 insertion(+), 23 deletions(-) diff --git a/matlab/model_inversion.m b/matlab/model_inversion.m index bfef2ac59..8a940f254 100644 --- a/matlab/model_inversion.m +++ b/matlab/model_inversion.m @@ -69,29 +69,7 @@ if exogenousvariables.vobs>constraints.vobs end % Add auxiliary variables in initialconditions object. -for i=1:length(DynareModel.aux_vars) - if ~ismember(DynareModel.endo_names{DynareModel.aux_vars(i).endo_index}, initialconditions.name) - switch DynareModel.aux_vars(i).type - case 1 % lag on endogenous variable. - initialconditions{DynareModel.endo_names{DynareModel.aux_vars(i).endo_index}} = ... - initialconditions{DynareModel.endo_names{DynareModel.aux_vars(i).orig_index}}.lag(abs(DynareModel.aux_vars(i).orig_lead_lag)); - case 8 % diff on endogenous variable. - initialconditions{DynareModel.endo_names{DynareModel.aux_vars(i).endo_index}} = ... - initialconditions{DynareModel.endo_names{DynareModel.aux_vars(i).orig_index}}.diff.lag(abs(DynareModel.aux_vars(i).orig_lead_lag)); - case 3 % lag on exogenous variable. - initialconditions{DynareModel.endo_names{DynareModel.aux_vars(i).endo_index}} = ... - initialconditions{DynareModel.exo_names{DynareModel.aux_vars(i).orig_index}}.lag(abs(DynareModel.aux_vars(i).orig_lead_lag)); - case 0 % lead on endogenous variable. - initialconditions{DynareModel.endo_names{DynareModel.aux_vars(i).endo_index}} = ... - initialconditions{DynareModel.endo_names{DynareModel.aux_vars(i).orig_index}}.lead(abs(DynareModel.aux_vars(i).orig_lead_lag)); - case 2 % lead on exogenous variable. - initialconditions{DynareModel.endo_names{DynareModel.aux_vars(i).endo_index}} = ... - initialconditions{DynareModel.exo_names{DynareModel.aux_vars(i).orig_index}}.lead(abs(DynareModel.aux_vars(i).orig_lead_lag)); - otherwise - error("This is a bug! PLease report to Dynare developpers.") - end - end -end +[initialconditions, info] = checkdatabase(initialconditions, DynareModel, true, false); % Get the list of endogenous and exogenous variables. endo_names = DynareModel.endo_names;