From 00a87039c60f81d55f34b3fa371d8279615103c9 Mon Sep 17 00:00:00 2001 From: Houtan Bastani <houtan@dynare.org> Date: Wed, 1 Jul 2015 15:05:17 +0200 Subject: [PATCH] update irf macro --- macros/make_report_irfs.m | 51 +++++++++++++++++++++++++-------------- 1 file changed, 33 insertions(+), 18 deletions(-) diff --git a/macros/make_report_irfs.m b/macros/make_report_irfs.m index 691713b..d457f07 100644 --- a/macros/make_report_irfs.m +++ b/macros/make_report_irfs.m @@ -1,4 +1,4 @@ -function make_report_irfs(oo) +function make_report_irfs(M, oo) % Builds posterior IRFs after the MH algorithm. % % INPUTS @@ -28,29 +28,44 @@ function make_report_irfs(oo) % along with Dynare. If not, see <http://www.gnu.org/licenses/>. if ~isfield(oo, 'irfs') - disp('make_report_irfs: oo_.irfs does not exist'); - return + disp('make_report_irfs: oo_.irfs does not exist'); + return end fields = fieldnames(oo.irfs); if isempty(fields) - disp('make_report_irfs: oo_.irfs is empty'); - return + disp('make_report_irfs: oo_.irfs is empty'); + return + end + if ~isfield(M, 'exo_names') + disp('make_report_irfs: M_.exo_names does not exist'); + return + end + if ~isfield(M, 'endo_names') + disp('make_report_irfs: M_.endo_names does not exist'); + return end - + n6 = 1; r = report(); - for i = 1:length(fields) - if mod(i-1, 6) == 0 - r = r.addPage('title', {'Canned Irf Report'}); - r = r.addSection('cols', 2); - end - r = r.addGraph('data', dseries(oo.irfs.(fields{i})'), ... - 'title', strrep(fields{i}, '_', '\_'), ... - 'titleFormat', '\Huge', ... - 'showGrid', false, ... - 'yTickLabelZeroFill', false, ... - 'showZeroLine', true, ... - 'zeroLineColor', 'red'); + for i = 1:length(M.exo_names) + for j = 1:length(M.endo_names) + if mod(n6 - 1, 6) == 0 + r = r.addPage('title', {'Canned Irf Report'; ['shock ' M.exo_names(i)]}); + r = r.addSection('cols', 2); + n6 = 1; + end + idx = ismember(fields,[M.endo_names(j) '_' M.exo_names(i)]); + if any(idx) + r = r.addGraph('data', dseries(oo.irfs.(fields{idx})'), ... + 'title', strrep(fields{idx}, '_', '\_'), ... + 'titleFormat', '\Huge', ... + 'showGrid', false, ... + 'yTickLabelZeroFill', false, ... + 'showZeroLine', true, ... + 'zeroLineColor', 'red'); + n6 = n6 + 1; + end + end end r.write(); r.compile(); -- GitLab