From 584e661fff12714c8e5d60f0e91323381f71b565 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Adjemian=20=28Charybdis=29?=
 <stepan@adjemian.eu>
Date: Fri, 17 Jun 2022 17:48:00 +0200
Subject: [PATCH] Ensure that the ordering of the exogenous variables is
 correct...

in model inversion routines.
---
 matlab/backward/backward_model_inversion.m | 2 +-
 matlab/model_inversion.m                   | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/matlab/backward/backward_model_inversion.m b/matlab/backward/backward_model_inversion.m
index 8eb7c6f88f..3643c9aa90 100644
--- a/matlab/backward/backward_model_inversion.m
+++ b/matlab/backward/backward_model_inversion.m
@@ -93,7 +93,7 @@ for i=1:nyctrl
 end
 
 % Exogenous variables.
-X = exogenousvariables.data;
+X = exogenousvariables{exo_names{:}}.data;
 
 % Inversion of the model, solvers for the free endogenous and exogenous variables (call a Newton-like algorithm in each period).
 ity = 2;
diff --git a/matlab/model_inversion.m b/matlab/model_inversion.m
index 7f694cd587..865d21c4f6 100644
--- a/matlab/model_inversion.m
+++ b/matlab/model_inversion.m
@@ -77,6 +77,8 @@ end
 endo_names = DynareModel.endo_names;
 exo_names = DynareModel.exo_names;
 
+exogenousvariables = exogenousvariables{exo_names{:}};
+
 % Use specidalized routine if the model is backward looking.
 if ~DynareModel.maximum_lead
     if DynareModel.maximum_lag
-- 
GitLab