From fe98a0875dae6edb78973aa759a3fe1bc2ad4ccc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Adjemian=20=28Charybdis=29?= Date: Fri, 24 Aug 2012 15:03:35 +0200 Subject: [PATCH] Added the possibility to save the plots generated by the shock_decomposition command. --- matlab/graph_decomp.m | 10 ++++++---- matlab/shock_decomposition.m | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/matlab/graph_decomp.m b/matlab/graph_decomp.m index c9572a036..97d3b245c 100644 --- a/matlab/graph_decomp.m +++ b/matlab/graph_decomp.m @@ -1,4 +1,4 @@ -function []=graph_decomp(z,shock_names,endo_names,i_var,initial_date) +function []=graph_decomp(z,shock_names,endo_names,i_var,initial_date,DynareModel,DynareOptions) %function []=graph_decomp(z,varlist,initial_period,freq) % Copyright (C) 2010-2011 Dynare Team @@ -39,7 +39,7 @@ for j=1:nvar if ymax-ymin < 1e-6 continue end - figure('Name',endo_names(i_var(j),:)); + fhandle = dyn_figure(DynareOptions,'Name',endo_names(i_var(j),:)); ax=axes('Position',[0.1 0.1 0.6 0.8]); axis(ax,[xmin xmax ymin ymax]); plot(ax,x(2:end),z1(end,:),'k-','LineWidth',2) @@ -48,7 +48,7 @@ for j=1:nvar i_1 = i-1; yp = 0; ym = 0; - for k = 1:comp_nbr + for k = 1:comp_nbr zz = z1(k,i); if zz > 0 fill([x(i) x(i) x(i+1) x(i+1)],[yp yp+zz yp+zz yp],k); @@ -70,7 +70,7 @@ for j=1:nvar y1 = 0; height = 1/comp_nbr; labels = char(shock_names,'Initial values'); - + for i=1:comp_nbr fill([0 0 0.2 0.2],[y1 y1+0.7*height y1+0.7*height y1],i); hold on @@ -78,5 +78,7 @@ for j=1:nvar hold on y1 = y1 + height; end + + dyn_saveas(fhandle,[DynareModel.fname '_shock_decomposition_' endo_names(i_var(j),:)],DynareOptions); hold off end \ No newline at end of file diff --git a/matlab/shock_decomposition.m b/matlab/shock_decomposition.m index 2b78c0648..5ec938978 100644 --- a/matlab/shock_decomposition.m +++ b/matlab/shock_decomposition.m @@ -107,4 +107,4 @@ end oo_.shock_decomposition = z; -graph_decomp(z,M_.exo_names,M_.endo_names,i_var,options_.initial_date) +graph_decomp(z,M_.exo_names,M_.endo_names,i_var,options_.initial_date,M_,options_)