From f1ed81aae27c2e7e835fd05ea0c3ef1be5f2a299 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Adjemian=28Charybdis=29?=
 <stephane.adjemian@univ-lemans.fr>
Date: Sun, 4 Mar 2018 19:15:43 +0100
Subject: [PATCH] Use new approach for setting aux variables in model inversion
 routine.

---
 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 7035411ce5..8560568b06 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;
-- 
GitLab