From 6abfc52ab1c79b7b8ae790cac3a39b52df044c2d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Adjemian=20=28Ry=C3=BBk=29?=
 <stepan@adjemian.eu>
Date: Mon, 6 Sep 2021 23:46:46 +0200
Subject: [PATCH] Fix var expectation weights when auxiliary model has a
 constant.

Increment index variables_id_in_var if constant is present in VAR model (first position in the Companion representation)..

(cherry picked from commit d440b708200354c0e381c78b6b73dcca8dd2ae68)
---
 matlab/+var_expectation/update_parameters.m | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/matlab/+var_expectation/update_parameters.m b/matlab/+var_expectation/update_parameters.m
index 7b5b08fef9..f6f638b805 100644
--- a/matlab/+var_expectation/update_parameters.m
+++ b/matlab/+var_expectation/update_parameters.m
@@ -108,6 +108,10 @@ for i = 1:m
     end
 end
 
+if isfield(auxmodel, 'isconstant') && auxmodel.isconstant
+    variables_id_in_var = variables_id_in_var+1;
+end
+
 % Get the horizon parameter.
 horizon = varexpectationmodel.horizon;
 
@@ -214,4 +218,4 @@ if isequal(varexpectationmodel.auxiliary_model_type, 'var')
     end
 else
     DynareModel.params(varexpectationmodel.param_indices) = parameters;
-end
+end
\ No newline at end of file
-- 
GitLab