From a070f5cb2627d5c4b9f7faac0d3322bd6f73ae9a Mon Sep 17 00:00:00 2001
From: Marco Ratto <marco.ratto@jrc.ec.europa.eu>
Date: Wed, 30 May 2012 11:24:35 +0200
Subject: [PATCH] Fixed initialization of matrices for posterior irfs.

---
 matlab/PosteriorIRF.m       |  1 +
 matlab/PosteriorIRF_core1.m | 24 ++++++++++++++----------
 2 files changed, 15 insertions(+), 10 deletions(-)

diff --git a/matlab/PosteriorIRF.m b/matlab/PosteriorIRF.m
index c70b05f82a..ec7cdf1737 100644
--- a/matlab/PosteriorIRF.m
+++ b/matlab/PosteriorIRF.m
@@ -172,6 +172,7 @@ localVars.IRUN = IRUN;
 localVars.irun = irun;
 localVars.irun2=irun2;
 localVars.nosaddle=nosaddle;
+localVars.npar = npar;
 
 localVars.type=type;
 if strcmpi(type,'posterior')
diff --git a/matlab/PosteriorIRF_core1.m b/matlab/PosteriorIRF_core1.m
index 55beeafcd7..d89308db9b 100644
--- a/matlab/PosteriorIRF_core1.m
+++ b/matlab/PosteriorIRF_core1.m
@@ -53,20 +53,12 @@ IRUN = myinputs.IRUN;
 irun =myinputs.irun;
 irun2=myinputs.irun2;
 nosaddle=myinputs.nosaddle;
+npar=myinputs.npar;
 type=myinputs.type;
 if ~strcmpi(type,'prior'),
     x=myinputs.x;
 end
 
-if options_.dsge_var
-    gend=myinputs.gend;
-    nvobs=myinputs.nvobs;
-    NumberOfParametersPerEquation = myinputs.NumberOfParametersPerEquation;
-    NumberOfLags = myinputs.NumberOfLags;
-    NumberOfLagsTimesNvobs = myinputs.NumberOfLagsTimesNvobs;
-    Companion_matrix = myinputs.Companion_matrix;
-end
-
 nvar=myinputs.nvar;
 IndxVariables=myinputs.IndxVariables;
 MAX_nirfs_dsgevar=myinputs.MAX_nirfs_dsgevar;
@@ -77,6 +69,17 @@ NumberOfIRFfiles_dsge=myinputs.NumberOfIRFfiles_dsge;
 NumberOfIRFfiles_dsgevar=myinputs.NumberOfIRFfiles_dsgevar;
 ifil2=myinputs.ifil2;
 
+if options_.dsge_var
+    gend=myinputs.gend;
+    nvobs=myinputs.nvobs;
+    NumberOfParametersPerEquation = myinputs.NumberOfParametersPerEquation;
+    NumberOfLags = myinputs.NumberOfLags;
+    NumberOfLagsTimesNvobs = myinputs.NumberOfLagsTimesNvobs;
+    Companion_matrix = myinputs.Companion_matrix;
+    stock_irf_bvardsge = zeros(options_.irf,nvobs,M_.exo_nbr,MAX_nirfs_dsgevar);
+end
+
+
 if whoiam
     Parallel=myinputs.Parallel;
 end
@@ -129,7 +132,8 @@ if whoiam
 end
 
 % Parallel 'while' very good!!!
-
+stock_param=zeros(MAX_nruns,npar);
+stock_irf_dsge=zeros(options_.irf,nvar,M_.exo_nbr,MAX_nirfs_dsge);
 while fpar<npar
     fpar = fpar + 1;
     irun = irun+1;
-- 
GitLab