From 922536e4ea6db181f738a403bd426efbd374736b Mon Sep 17 00:00:00 2001 From: Houtan Bastani Date: Thu, 7 Feb 2019 15:57:53 +0100 Subject: [PATCH] gui: rework transitory shocks --- matlab/+gui/+perfect_foresight/run.m | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/matlab/+gui/+perfect_foresight/run.m b/matlab/+gui/+perfect_foresight/run.m index 54a7b1892..ec621928f 100644 --- a/matlab/+gui/+perfect_foresight/run.m +++ b/matlab/+gui/+perfect_foresight/run.m @@ -93,10 +93,16 @@ if nargout == 1 end %% SHOCKS instructions (for transitory shocks) -if jm.transitoryshockexist == 1 - for exotriter = 1:length(jm.shocksdescription) - currenttrshock = jm.shocksdescription(exotriter); - M_.det_shocks = [ M_.det_shocks;struct('exo_det',0,'exo_id',(currenttrshock{1}.shockindex+1),'multiplicative',0,'periods',currenttrshock{1}.shockstartperiod:currenttrshock{1}.shockendperiod,'value',currenttrshock{1}.shockvalue) ]; +if isfield(jm, 'transitory_shocks') && ~isempty(jm.transitory_shocks) + for i = 1:length(jm.transitory_shocks) + s = jm.transitory_shocks(i); + M_.det_shocks = [ ... + M_.det_shocks; ... + struct('exo_det', 0, ... + 'exo_id', s.index, ... + 'multiplicative', 0, ... + 'periods', s.start_period:s.end_period, ... + 'value', s.value)]; end M_.exo_det_length = 0; end