diff --git a/matlab/subst_auxvar.m b/matlab/subst_auxvar.m index 5a65f5ef592249de666b0e481090480445530c6a..ec266e2f48fb5bcd707cb9e4a417716b1c51b1fd 100644 --- a/matlab/subst_auxvar.m +++ b/matlab/subst_auxvar.m @@ -44,10 +44,17 @@ if ~isempty(aux_index) orig_name = M_.endo_names{M_.aux_vars(aux_index).orig_index}; case 2 % exo leads >= 1 - orig_name = M_.exo_names{M_.aux_vars(aux_index).orig_index}; + str = sprintf('%s(+1)', M_.aux_vars(aux_index).orig_expr); + return case 3 % exo lags >= 1 orig_name = M_.exo_names{M_.aux_vars(aux_index).orig_index}; + if M_.aux_vars(aux_index).orig_lead_lag==0 + str = sprintf('%s(%d)', orig_name, M_.aux_vars(aux_index).orig_lead_lag+aux_lead_lag-1);%orig_lead_lag is actually -1 due to being a lagged exogenous + else + str = sprintf('%s(%d)', orig_name, M_.aux_vars(aux_index).orig_lead_lag+aux_lead_lag); + end + return; case 4 % Expectation operator str = sprintf('%s', M_.aux_vars(aux_index).orig_expr);