From 4b4c3db3b94f801391a707ea634da1f7e8538f31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Adjemian=28Charybdis=29?= Date: Sat, 14 Oct 2017 16:35:01 +0200 Subject: [PATCH] Allow shocks over multiple periods in backward model routine. --- matlab/backward/backward_model_irf.m | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/matlab/backward/backward_model_irf.m b/matlab/backward/backward_model_irf.m index 47753d6c5..79251ade8 100644 --- a/matlab/backward/backward_model_irf.m +++ b/matlab/backward/backward_model_irf.m @@ -85,9 +85,6 @@ else if initialconditionperiod>=shock.dates(1) error('In experiment n°%s, the shock period must follow %s!', string(initialconditionperiod)) end - if shock.nobs>1 - error('Shocks over multiple periods not implemented yet!') - end end end end @@ -160,10 +157,12 @@ for i=1:length(listofshocks) % Add the shock. if deterministicshockflag shock = listofshocks{i}; - timid = shock.dates(1)-initialconditionperiod; + timid = shock.dates-initialconditionperiod; for j=1:shock.vobs k = find(strcmp(shock.name{i}, exonames)); - innovations(timid,k) = innovations(timid,k) + shock.data(1,j); + for l=1:length(timid) + innovations(timid(l),k) = innovations(timid(l),k) + shock.data(l,j); + end end else j = find(strcmp(listofshocks{i}, exonames));