From c848b3337a56609b22e5d3a600587e6c31ede1e2 Mon Sep 17 00:00:00 2001 From: Marco Ratto Date: Mon, 13 Feb 2012 11:58:28 +0100 Subject: [PATCH] added nodisplay and graph_format options and applied to prior plots and graphs in estimstion routine. Tex tables also splitted when more than 50 params are estimated. nograph: no figure is done nodisplay: plots are done behind the scenes graph_format: default only eps figs are saved. it accepts cell vector like {'eps','pdf','fig'} --- matlab/dynare_estimation_1.m | 468 +++++++++------------------------ matlab/global_initialization.m | 2 + matlab/plot_priors.m | 128 ++------- 3 files changed, 137 insertions(+), 461 deletions(-) diff --git a/matlab/dynare_estimation_1.m b/matlab/dynare_estimation_1.m index 5d5eb01bc..8164f8f34 100644 --- a/matlab/dynare_estimation_1.m +++ b/matlab/dynare_estimation_1.m @@ -581,6 +581,8 @@ if any(bayestopt_.pshape > 0) && options_.TeX %% Bayesian estimation (posterior fprintf(fidTeX,'{\\tiny \n'); fprintf(fidTeX,'\\begin{table}\n'); fprintf(fidTeX,'\\centering\n'); + fprintf(fidTeX,'\\caption{Results from posterior maximization (parameters)}\n '); + fprintf(fidTeX,'\\label{Table:Posterior:1}\n'); fprintf(fidTeX,'\\begin{tabular}{l|lcccc} \n'); fprintf(fidTeX,'\\hline\\hline \\\\ \n'); fprintf(fidTeX,' & Prior distribution & Prior mean & Prior s.d. & Posterior mode & s.d. \\\\ \n'); @@ -595,11 +597,22 @@ if any(bayestopt_.pshape > 0) && options_.TeX %% Bayesian estimation (posterior xparam1(ip),... stdh(ip)); ip = ip + 1; + if ~mod(i,50) && i 0) && options_.TeX %% Bayesian estimation (posterior fprintf(fidTeX,'{\\tiny \n'); fprintf(fidTeX,'\\begin{table}\n'); fprintf(fidTeX,'\\centering\n'); + fprintf(fidTeX,'\\caption{Results from posterior maximization (standard deviation of structural shocks)}\n '); + fprintf(fidTeX,'\\label{Table:Posterior:2}\n'); fprintf(fidTeX,'\\begin{tabular}{l|lcccc} \n'); fprintf(fidTeX,'\\hline\\hline \\\\ \n'); fprintf(fidTeX,' & Prior distribution & Prior mean & Prior s.d. & Posterior mode & s.d. \\\\ \n'); @@ -631,11 +646,22 @@ if any(bayestopt_.pshape > 0) && options_.TeX %% Bayesian estimation (posterior xparam1(ip), ... stdh(ip)); ip = ip+1; + if ~mod(i,50) && i 0) && options_.TeX %% Bayesian estimation (posterior fprintf(fidTeX,' \n'); fprintf(fidTeX,'\\begin{table}\n'); fprintf(fidTeX,'\\centering\n'); + fprintf(fidTeX,'\\caption{Results from posterior maximization (standard deviation of measurement errors)}\n '); + fprintf(fidTeX,'\\label{Table:Posterior:3}\n'); fprintf(fidTeX,'\\begin{tabular}{l|lcccc} \n'); fprintf(fidTeX,'\\hline\\hline \\\\ \n'); fprintf(fidTeX,' & Prior distribution & Prior mean & Prior s.d. & Posterior mode & s.d. \\\\ \n') @@ -666,11 +694,22 @@ if any(bayestopt_.pshape > 0) && options_.TeX %% Bayesian estimation (posterior xparam1(ip),... stdh(ip)); ip = ip+1; + if ~mod(i,50) && i 0) && options_.TeX %% Bayesian estimation (posterior fprintf(fidTeX,' \n'); fprintf(fidTeX,'\\begin{table}\n'); fprintf(fidTeX,'\\centering\n'); + fprintf(fidTeX,'\\caption{Results from posterior parameters (correlation of structural shocks)}\n '); + fprintf(fidTeX,'\\label{Table:Posterior:4}\n'); fprintf(fidTeX,'\\begin{tabular}{l|lcccc} \n'); fprintf(fidTeX,'\\hline\\hline \\\\ \n'); fprintf(fidTeX,' & Prior distribution & Prior mean & Prior s.d. & Posterior mode & s.d. \\\\ \n') @@ -701,11 +742,22 @@ if any(bayestopt_.pshape > 0) && options_.TeX %% Bayesian estimation (posterior xparam1(ip), ... stdh(ip)); ip = ip+1; + if ~mod(i,50) && i 0) && options_.TeX %% Bayesian estimation (posterior fprintf(fidTeX,' \n'); fprintf(fidTeX,'\\begin{table}\n'); fprintf(fidTeX,'\\centering\n'); + fprintf(fidTeX,'\\caption{Results from posterior parameters (correlation of measurement errors)}\n '); + fprintf(fidTeX,'\\label{Table:Posterior:5}\n'); fprintf(fidTeX,'\\begin{tabular}{l|lcccc} \n'); fprintf(fidTeX,'\\hline\\hline \\\\ \n'); fprintf(fidTeX,' & Prior distribution & Prior mean & Prior s.d. & Posterior mode & s.d. \\\\ \n') @@ -736,11 +790,22 @@ if any(bayestopt_.pshape > 0) && options_.TeX %% Bayesian estimation (posterior xparam1(ip), ... stdh(ip)); ip = ip+1; + if ~mod(i,50) && i 0) && options_.mh_replic) || (any(bayestopt_.psha eval(['oo_.UpdatedVariables.' deblank(M_.endo_names(i1,:)) ... ' = updated_variables(i,:)'';']); end - [nbplt,nr,nc,lr,lc,nstar] = pltorg(M_.exo_nbr); - if options_.TeX - fidTeX = fopen([M_.fname '_SmoothedShocks.TeX'],'w'); - fprintf(fidTeX,'%% TeX eps-loader file generated by dynare_estimation.m (Dynare).\n'); - fprintf(fidTeX,['%% ' datestr(now,0) '\n']); - fprintf(fidTeX,' \n'); - end - if nbplt == 1 - if options_.nograph - hh = figure('Name','Smoothed shocks','Visible','off'); - else - hh = figure('Name','Smoothed shocks'); - end - NAMES = []; - if options_.TeX, TeXNAMES = []; end - for i=1:M_.exo_nbr - subplot(nr,nc,i); - plot(1:gend,innov(i,:),'-k','linewidth',1) - hold on - plot([1 gend],[0 0],'-r','linewidth',.5) - hold off - xlim([1 gend]) - name = deblank(M_.exo_names(i,:)); - if isempty(NAMES) - NAMES = name; - else - NAMES = char(NAMES,name); - end - if ~isempty(options_.XTick) - set(gca,'XTick',options_.XTick) - set(gca,'XTickLabel',options_.XTickLabel) - end - if options_.TeX - texname = M_.exo_names_tex(i,1); - if isempty(TeXNAMES) - TeXNAMES = ['$ ' deblank(texname) ' $']; - else - TeXNAMES = char(TeXNAMES,['$ ' deblank(texname) ' $']); - end - end - title(name,'Interpreter','none') - eval(['oo_.SmoothedShocks.' deblank(M_.exo_names(i,:)) ' = innov(i,:)'';']); - end - eval(['print -depsc2 ' M_.fname '_SmoothedShocks' int2str(1) '.eps']); - if ~exist('OCTAVE_VERSION') - eval(['print -dpdf ' M_.fname '_SmoothedShocks' int2str(1)]); - saveas(hh,[M_.fname '_SmoothedShocks' int2str(1) '.fig']); - end + if ~options_.nograph, + [nbplt,nr,nc,lr,lc,nstar] = pltorg(M_.exo_nbr); if options_.TeX - fprintf(fidTeX,'\\begin{figure}[H]\n'); - for jj = 1:M_.exo_nbr - fprintf(fidTeX,'\\psfrag{%s}[1][][0.5][0]{%s}\n',deblank(NAMES(jj,:)),deblank(TeXNAMES(jj,:))); - end - fprintf(fidTeX,'\\centering \n'); - fprintf(fidTeX,'\\includegraphics[scale=0.5]{%s_SmoothedShocks%s}\n',M_.fname,int2str(1)); - fprintf(fidTeX,'\\caption{Smoothed shocks.}'); - fprintf(fidTeX,'\\label{Fig:SmoothedShocks:%s}\n',int2str(1)); - fprintf(fidTeX,'\\end{figure}\n'); - fprintf(fidTeX,'\n'); - fprintf(fidTeX,'%% End of TeX file.\n'); - fclose(fidTeX); + fidTeX = fopen([M_.fname '_SmoothedShocks.TeX'],'w'); + fprintf(fidTeX,'%% TeX eps-loader file generated by dynare_estimation.m (Dynare).\n'); + fprintf(fidTeX,['%% ' datestr(now,0) '\n']); + fprintf(fidTeX,' \n'); end - else - for plt = 1:nbplt-1 - if options_.nograph - hh = figure('Name','Smoothed shocks','Visible','off'); - else - hh = figure('Name','Smoothed shocks'); - end - set(0,'CurrentFigure',hh) + for plt = 1:nbplt, + hh = dyn_figure(options_,'Name','Smoothed shocks'); NAMES = []; if options_.TeX, TeXNAMES = []; end - for i=1:nstar + nstar0=min(nstar,M_.exo_nbr-(plt-1)*nstar); + for i=1:nstar0, k = (plt-1)*nstar+i; subplot(nr,nc,i); plot([1 gend],[0 0],'-r','linewidth',.5) @@ -942,14 +948,10 @@ if (~((any(bayestopt_.pshape > 0) && options_.mh_replic) || (any(bayestopt_.psha title(name,'Interpreter','none') eval(['oo_.SmoothedShocks.' deblank(name) ' = innov(k,:)'';']); end - eval(['print -depsc2 ' M_.fname '_SmoothedShocks' int2str(plt) '.eps']); - if ~exist('OCTAVE_VERSION') - eval(['print -dpdf ' M_.fname '_SmoothedShocks' int2str(plt)]); - saveas(hh,[M_.fname '_SmoothedShocks' int2str(plt) '.fig']); - end + dyn_saveas(hh,[M_.fname '_SmoothedShocks' int2str(plt)],options_); if options_.TeX fprintf(fidTeX,'\\begin{figure}[H]\n'); - for jj = 1:nstar + for jj = 1:nstar0 fprintf(fidTeX,'\\psfrag{%s}[1][][0.5][0]{%s}\n',deblank(NAMES(jj,:)),deblank(TeXNAMES(jj,:))); end fprintf(fidTeX,'\\centering \n'); @@ -960,62 +962,7 @@ if (~((any(bayestopt_.pshape > 0) && options_.mh_replic) || (any(bayestopt_.psha fprintf(fidTeX,'\n'); end end - if options_.nograph - hh = figure('Name','Smoothed shocks','Visible','off'); - else - hh = figure('Name','Smoothed shocks'); - end - set(0,'CurrentFigure',hh) - NAMES = []; - if options_.TeX, TeXNAMES = []; end - for i=1:M_.exo_nbr-(nbplt-1)*nstar - k = (nbplt-1)*nstar+i; - if lr ~= 0 - subplot(lr,lc,i); - else - subplot(nr,nc,i); - end - plot([1 gend],[0 0],'-r','linewidth',0.5) - hold on - plot(1:gend,innov(k,:),'-k','linewidth',1) - hold off - name = deblank(M_.exo_names(k,:)); - if isempty(NAMES) - NAMES = name; - else - NAMES = char(NAMES,name); - end - if ~isempty(options_.XTick) - set(gca,'XTick',options_.XTick) - set(gca,'XTickLabel',options_.XTickLabel) - end - xlim([1 gend]) - if options_.TeX - texname = M_.exo_names_tex(k,:); - if isempty(TeXNAMES) - TeXNAMES = ['$ ' deblank(texname) ' $']; - else - TeXNAMES = char(TeXNAMES,['$ ' deblank(texname) ' $']); - end - end - title(name,'Interpreter','none') - eval(['oo_.SmoothedShocks.' deblank(name) ' = innov(k,:)'';']); - end - eval(['print -depsc2 ' M_.fname '_SmoothedShocks' int2str(nbplt) '.eps']); - if ~exist('OCTAVE_VERSION') - eval(['print -dpdf ' M_.fname '_SmoothedShocks' int2str(nbplt)]); - saveas(hh,[M_.fname '_SmoothedShocks' int2str(nbplt) '.fig']); - end if options_.TeX - fprintf(fidTeX,'\\begin{figure}[H]\n'); - for jj = 1:size(NAMES,1); - fprintf(fidTeX,'\\psfrag{%s}[1][][0.5][0]{%s}\n',deblank(NAMES(jj,:)),deblank(TeXNAMES(jj,:))); - end - fprintf(fidTeX,'\\centering \n'); - fprintf(fidTeX,'\\includegraphics[scale=0.5]{%s_SmoothedShocks%s}\n',M_.fname,int2str(nbplt)); - fprintf(fidTeX,'\\caption{Smoothed shocks.}'); - fprintf(fidTeX,'\\label{Fig:SmoothedShocks:%s}\n',int2str(nbplt)); - fprintf(fidTeX,'\\end{figure}\n'); fprintf(fidTeX,'\n'); fprintf(fidTeX,'%% End of TeX file.\n'); fclose(fidTeX); @@ -1048,76 +995,16 @@ if (~((any(bayestopt_.pshape > 0) && options_.mh_replic) || (any(bayestopt_.psha eval(['oo_.SmoothedMeasurementErrors.' deblank(options_.varobs(i,:)) ... ' = measurement_error(i,:)'';']); end - [nbplt,nr,nc,lr,lc,nstar] = pltorg(number_of_plots_to_draw); - if options_.TeX - fidTeX = fopen([M_.fname '_SmoothedObservationErrors.TeX'],'w'); - fprintf(fidTeX,'%% TeX eps-loader file generated by dynare_estimation.m (Dynare).\n'); - fprintf(fidTeX,['%% ' datestr(now,0) '\n']); - fprintf(fidTeX,' \n'); - end - if nbplt == 1 - if options_.nograph - hh = figure('Name','Smoothed observation errors','Visible','off'); - else - hh = figure('Name','Smoothed observation errors'); - end - set(0,'CurrentFigure',hh) - NAMES = []; - if options_.TeX, TeXNAMES = []; end - for i=1:number_of_plots_to_draw - subplot(nr,nc,i); - plot(1:gend,measurement_error(index(i),:),'-k','linewidth',1) - hold on - plot([1 gend],[0 0],'-r','linewidth',.5) - hold off - name = deblank(options_.varobs(index(i),:)); - if isempty(NAMES) - NAMES = name; - else - NAMES = char(NAMES,name); - end - if ~isempty(options_.XTick) - set(gca,'XTick',options_.XTick) - set(gca,'XTickLabel',options_.XTickLabel) - end - if options_.TeX - idx = strmatch(options_.varobs(indx(i),:),M_.endo_names,'exact'); - texname = M_.endo_names_tex(idx,:); - if isempty(TeXNAMES) - TeXNAMES = ['$ ' deblank(texname) ' $']; - else - TeXNAMES = char(TeXNAMES,['$ ' deblank(texname) ' $']); - end - end - title(name,'Interpreter','none') - end - eval(['print -depsc2 ' M_.fname '_SmoothedObservationErrors' int2str(1) '.eps']); - if ~exist('OCTAVE_VERSION') - eval(['print -dpdf ' M_.fname '_SmoothedObservationErrors' int2str(1)]); - saveas(hh,[M_.fname '_SmoothedObservationErrors' int2str(1) '.fig']); - end + if ~options_.nograph + [nbplt,nr,nc,lr,lc,nstar] = pltorg(number_of_plots_to_draw); if options_.TeX - fprintf(fidTeX,'\\begin{figure}[H]\n'); - for jj = 1:number_of_plots_to_draw - fprintf(fidTeX,'\\psfrag{%s}[1][][0.5][0]{%s}\n',deblank(NAMES(jj,:)),deblank(TeXNAMES(jj,:))); - end - fprintf(fidTeX,'\\centering \n'); - fprintf(fidTeX,'\\includegraphics[scale=0.5]{%s_SmoothedObservationErrors%s}\n',M_.fname,int2str(1)); - fprintf(fidTeX,'\\caption{Smoothed observation errors.}'); - fprintf(fidTeX,'\\label{Fig:SmoothedObservationErrors:%s',int2str(1)); - fprintf(fidTeX,'\\end{figure}\n'); - fprintf(fidTeX,'\n'); - fprintf(fidTeX,'%% End of TeX file.\n'); - fclose(fidTeX); + fidTeX = fopen([M_.fname '_SmoothedObservationErrors.TeX'],'w'); + fprintf(fidTeX,'%% TeX eps-loader file generated by dynare_estimation.m (Dynare).\n'); + fprintf(fidTeX,['%% ' datestr(now,0) '\n']); + fprintf(fidTeX,' \n'); end - else for plt = 1:nbplt - if options_.nograph - hh = figure('Name','Smoothed observation errors','Visible','off'); - else - hh = figure('Name','Smoothed observation errors'); - end - set(0,'CurrentFigure',hh) + hh = dyn_figure(options_,'Name','Smoothed observation errors'); NAMES = []; if options_.TeX, TeXNAMES = []; end for i=1:min(nstar,number_of_plots_to_draw-(nbplt-1)*nstar) @@ -1138,7 +1025,7 @@ if (~((any(bayestopt_.pshape > 0) && options_.mh_replic) || (any(bayestopt_.psha set(gca,'XTickLabel',options_.XTickLabel) end if options_.TeX - idx = strmatch(options_.varobs(k),M_.endo_names,'exact'); + idx = strmatch(options_.varobs(index(k),:),M_.endo_names,'exact'); texname = M_.endo_names_tex(idx,:); if isempty(TeXNAMES) TeXNAMES = ['$ ' deblank(texname) ' $']; @@ -1148,11 +1035,7 @@ if (~((any(bayestopt_.pshape > 0) && options_.mh_replic) || (any(bayestopt_.psha end title(name,'Interpreter','none') end - eval(['print -depsc2 ' M_.fname '_SmoothedObservationErrors' int2str(plt) '.eps']); - if ~exist('OCTAVE_VERSION') - eval(['print -dpdf ' M_.fname '_SmoothedObservationErrors' int2str(plt)]); - saveas(hh,[M_.fname '_SmoothedObservationErrors' int2str(plt) '.fig']); - end + dyn_saveas(hh,[M_.fname '_SmoothedObservationErrors' int2str(plt)],options_); if options_.TeX fprintf(fidTeX,'\\begin{figure}[H]\n'); for jj = 1:nstar @@ -1166,11 +1049,17 @@ if (~((any(bayestopt_.pshape > 0) && options_.mh_replic) || (any(bayestopt_.psha fprintf(fidTeX,'\n'); end end + if options_.TeX + fprintf(fidTeX,'\n'); + fprintf(fidTeX,'%% End of TeX file.\n'); + fclose(fidTeX); + end end end %% %% Historical and smoothed variabes %% + if ~options_.nograph [nbplt,nr,nc,lr,lc,nstar] = pltorg(n_varobs); if options_.TeX fidTeX = fopen([M_.fname '_HistoricalAndSmoothedVariables.TeX'],'w'); @@ -1178,133 +1067,14 @@ if (~((any(bayestopt_.pshape > 0) && options_.mh_replic) || (any(bayestopt_.psha fprintf(fidTeX,['%% ' datestr(now,0) '\n']); fprintf(fidTeX,' \n'); end - if nbplt == 1 - if options_.nograph - hh = figure('Name','Historical and smoothed variables','Visible','off'); - else - hh = figure('Name','Historical and smoothed variables'); - end + for plt = 1:nbplt, + hh = dyn_figure(options_,'Name','Historical and smoothed variables'); NAMES = []; if options_.TeX, TeXNAMES = []; end - for i=1:n_varobs + nstar0=min(nstar,n_varobs-(plt-1)*nstar); + for i=1:nstar0, + k = (plt-1)*nstar+i; subplot(nr,nc,i); - plot(1:gend,yf(i,:),'-r','linewidth',1) - hold on - plot(1:gend,rawdata(:,i),'-k','linewidth',1) - hold off - name = deblank(options_.varobs(i,:)); - if isempty(NAMES) - NAMES = name; - else - NAMES = char(NAMES,name); - end - if ~isempty(options_.XTick) - set(gca,'XTick',options_.XTick) - set(gca,'XTickLabel',options_.XTickLabel) - end - xlim([1 gend]) - if options_.TeX - idx = strmatch(options_.varobs(i,:),M_.endo_names,'exact'); - texname = M_.endo_names_tex(idx,:); - if isempty(TeXNAMES) - TeXNAMES = ['$ ' deblank(texname) ' $']; - else - TeXNAMES = char(TeXNAMES,['$ ' deblank(texname) ' $']); - end - end - title(name,'Interpreter','none') - end - eval(['print -depsc2 ' M_.fname '_HistoricalAndSmoothedVariables' int2str(1) '.eps']); - if ~exist('OCTAVE_VERSION') - eval(['print -dpdf ' M_.fname '_HistoricalAndSmoothedVariables' int2str(1)]); - saveas(hh,[M_.fname '_HistoricalAndSmoothedVariables' int2str(1) '.fig']); - end - if options_.TeX - fprintf(fidTeX,'\\begin{figure}[H]\n'); - for jj = 1:n_varobs - fprintf(fidTeX,'\\psfrag{%s}[1][][0.5][0]{%s}\n',deblank(NAMES(jj,:)),deblank(TeXNAMES(jj,:))); - end - fprintf(fidTeX,'\\centering \n'); - fprintf(fidTeX,'\\includegraphics[scale=0.5]{%s_HistoricalAndSmoothedVariables%s}\n',M_.fname,int2str(1)); - fprintf(fidTeX,'\\caption{Historical and smoothed variables.}'); - fprintf(fidTeX,'\\label{Fig:HistoricalAndSmoothedVariables:%s}\n',int2str(1)); - fprintf(fidTeX,'\\end{figure}\n'); - fprintf(fidTeX,'\n'); - fprintf(fidTeX,'%% End of TeX file.\n'); - fclose(fidTeX); - end - else - for plt = 1:nbplt-1 - if options_.nograph - hh = figure('Name','Historical and smoothed variables','Visible','off'); - else - hh = figure('Name','Historical and smoothed variables'); - end - set(0,'CurrentFigure',hh) - NAMES = []; - if options_.TeX, TeXNAMES = []; end - for i=1:nstar - k = (plt-1)*nstar+i; - subplot(nr,nc,i); - plot(1:gend,yf(k,:),'-r','linewidth',1) - hold on - plot(1:gend,rawdata(:,k),'-k','linewidth',1) - hold off - name = deblank(options_.varobs(k,:)); - if isempty(NAMES) - NAMES = name; - else - NAMES = char(NAMES,name); - end - if ~isempty(options_.XTick) - set(gca,'XTick',options_.XTick) - set(gca,'XTickLabel',options_.XTickLabel) - end - xlim([1 gend]) - if options_.TeX - idx = strmatch(options_.varobs(k,:),M_.endo_names,'exact'); - texname = M_.endo_names_tex(idx,:); - if isempty(TeXNAMES) - TeXNAMES = ['$ ' deblank(texname) ' $']; - else - TeXNAMES = char(TeXNAMES,['$ ' deblank(texname) ' $']); - end - end - title(name,'Interpreter','none') - end - eval(['print -depsc2 ' M_.fname '_HistoricalAndSmoothedVariables' int2str(plt) '.eps']); - if ~exist('OCTAVE_VERSION') - eval(['print -dpdf ' M_.fname '_HistoricalAndSmoothedVariables' int2str(plt)]); - saveas(hh,[M_.fname '_HistoricalAndSmoothedVariables' int2str(plt) '.fig']); - end - if options_.TeX - fprintf(fidTeX,'\\begin{figure}[H]\n'); - for jj = 1:nstar - fprintf(fidTeX,'\\psfrag{%s}[1][][0.5][0]{%s}\n',deblank(NAMES(jj,:)),deblank(TeXNAMES(jj,:))); - end - fprintf(fidTeX,'\\centering \n'); - fprintf(fidTeX,'\\includegraphics[scale=0.5]{%s_HistoricalAndSmoothedVariables%s}\n',M_.fname,int2str(plt)); - fprintf(fidTeX,'\\caption{Historical and smoothed variables.}'); - fprintf(fidTeX,'\\label{Fig:HistoricalAndSmoothedVariables:%s}\n',int2str(plt)); - fprintf(fidTeX,'\\end{figure}\n'); - fprintf(fidTeX,'\n'); - end - end - if options_.nograph - hh = figure('Name','Historical and smoothed variables','Visible','off'); - else - hh = figure('Name','Historical and smoothed variables'); - end - set(0,'CurrentFigure',hh) - NAMES = []; - if options_.TeX, TeXNAMES = []; end - for i=1:n_varobs-(nbplt-1)*nstar - k = (nbplt-1)*nstar+i; - if lr ~= 0 - subplot(lr,lc,i); - else - subplot(nr,nc,i); - end plot(1:gend,yf(k,:),'-r','linewidth',1) hold on plot(1:gend,rawdata(:,k),'-k','linewidth',1) @@ -1321,7 +1091,7 @@ if (~((any(bayestopt_.pshape > 0) && options_.mh_replic) || (any(bayestopt_.psha end xlim([1 gend]) if options_.TeX - idx = strmatch(options_.varobs(i,:),M_.endo_names,'exact'); + idx = strmatch(options_.varobs(k,:),M_.endo_names,'exact'); texname = M_.endo_names_tex(idx,:); if isempty(TeXNAMES) TeXNAMES = ['$ ' deblank(texname) ' $']; @@ -1329,28 +1099,28 @@ if (~((any(bayestopt_.pshape > 0) && options_.mh_replic) || (any(bayestopt_.psha TeXNAMES = char(TeXNAMES,['$ ' deblank(texname) ' $']); end end - title(name,'Interpreter','none'); - end - eval(['print -depsc2 ' M_.fname '_HistoricalAndSmoothedVariables' int2str(nbplt) '.eps']); - if ~exist('OCTAVE_VERSION') - eval(['print -dpdf ' M_.fname '_HistoricalAndSmoothedVariables' int2str(nbplt)]); - saveas(hh,[M_.fname '_HistoricalAndSmoothedVariables' int2str(nbplt) '.fig']); + title(name,'Interpreter','none') end + dyn_saveas(hh,[M_.fname '_HistoricalAndSmoothedVariables' int2str(plt)],options_); if options_.TeX fprintf(fidTeX,'\\begin{figure}[H]\n'); - for jj = 1:size(NAMES,1); + for jj = 1:nstar0, fprintf(fidTeX,'\\psfrag{%s}[1][][0.5][0]{%s}\n',deblank(NAMES(jj,:)),deblank(TeXNAMES(jj,:))); end fprintf(fidTeX,'\\centering \n'); - fprintf(fidTeX,'\\includegraphics[scale=0.5]{%s_HistoricalAndSmoothedVariables%s}\n',M_.fname,int2str(nbplt)); + fprintf(fidTeX,'\\includegraphics[scale=0.5]{%s_HistoricalAndSmoothedVariables%s}\n',M_.fname,int2str(plt)); fprintf(fidTeX,'\\caption{Historical and smoothed variables.}'); - fprintf(fidTeX,'\\label{Fig:HistoricalAndSmoothedVariables:%s}\n',int2str(nbplt)); + fprintf(fidTeX,'\\label{Fig:HistoricalAndSmoothedVariables:%s}\n',int2str(plt)); fprintf(fidTeX,'\\end{figure}\n'); fprintf(fidTeX,'\n'); - fprintf(fidTeX,'%% End of TeX file.\n'); - fclose(fidTeX); end end + if options_.TeX + fprintf(fidTeX,'\n'); + fprintf(fidTeX,'%% End of TeX file.\n'); + fclose(fidTeX); + end + end end if options_.forecast > 0 && options_.mh_replic == 0 && ~options_.load_mh_file diff --git a/matlab/global_initialization.m b/matlab/global_initialization.m index cdc52bf78..f2979c0cd 100644 --- a/matlab/global_initialization.m +++ b/matlab/global_initialization.m @@ -91,6 +91,8 @@ options_.graphics.nrows = 3; options_.graphics.ncols = 3; options_.graphics.line_types = {'b-'}; options_.graphics.line_width = 1; +options_.graph_format = 'eps'; +options_.nodisplay = 1; options_.nograph = 0; options_.XTick = []; options_.XTickLabel = []; diff --git a/matlab/plot_priors.m b/matlab/plot_priors.m index acc56730d..c232ee2cf 100644 --- a/matlab/plot_priors.m +++ b/matlab/plot_priors.m @@ -42,105 +42,16 @@ if TeX fprintf(fidTeX,['%% ' datestr(now,0) '\n']); fprintf(fidTeX,' \n'); end -if nbplt == 1 - h1 = figure('Name',figurename); +for plt = 1:nbplt, + hplt = dyn_figure(options_,'Name',figurename); if TeX TeXNAMES = []; NAMES = []; end - for i=1:npar - [x,f,abscissa,dens,binf,bsup] = draw_prior_density(i,bayestopt_); - [nam,texnam] = get_the_name(i,TeX,M_,estim_params_,options_); - if TeX - if i==1 - TeXNAMES = texnam; - NAMES = nam; - else - TeXNAMES = char(TeXNAMES,texnam); - NAMES = char(NAMES,nam); - end - end - subplot(nr,nc,i) - hh = plot(x,f,'-k','linewidth',2); - set(hh,'color',[0.7 0.7 0.7]); - box on - title(nam,'Interpreter','none') - drawnow - end - eval(['print -depsc2 ' M_.fname '_Priors' int2str(1) '.eps']); - if ~exist('OCTAVE_VERSION') - eval(['print -dpdf ' M_.fname '_Priors' int2str(1)]); - saveas(h1,[M_.fname '_Priors' int2str(1) '.fig']); - end - if options_.nograph, close(h1), end - if TeX - fprintf(fidTeX,'\\begin{figure}[H]\n'); - for jj = 1:npar - fprintf(fidTeX,'\\psfrag{%s}[1][][0.5][0]{%s}\n',deblank(NAMES(jj,:)),deblank(TeXNAMES(jj,:))); - end - fprintf(fidTeX,'\\centering\n'); - fprintf(fidTeX,'\\includegraphics[scale=0.5]{%s_Priors%s}\n',M_.fname,int2str(1)); - fprintf(fidTeX,'\\caption{Priors.}'); - fprintf(fidTeX,'\\label{Fig:Priors:%s}\n',int2str(1)); - fprintf(fidTeX,'\\end{figure}\n'); - fprintf(fidTeX,' \n'); - fprintf(fidTeX,'%% End of TeX file.\n'); - fclose(fidTeX); - end -else - for plt = 1:nbplt-1 - hplt = figure('Name',figurename); - if TeX - TeXNAMES = []; - NAMES = []; - end - for index=1:nstar - names = []; - i = (plt-1)*nstar + index; - [nam,texnam] = get_the_name(i,TeX,M_,estim_params_,options_); - [x,f,abscissa,dens,binf,bsup] = draw_prior_density(i,bayestopt_); - if TeX - if index==1 - TeXNAMES = texnam; - NAMES = nam; - else - TeXNAMES = char(TeXNAMES,texnam); - NAMES = char(NAMES,nam); - end - end - subplot(nr,nc,index) - hh = plot(x,f,'-k','linewidth',2); - set(hh,'color',[0.7 0.7 0.7]); - box on - title(nam,'Interpreter','none') - drawnow - end % index=1:nstar - eval(['print -depsc2 ' M_.fname '_Priors' int2str(plt) '.eps']); - if ~exist('OCTAVE_VERSION') - eval(['print -dpdf ' M_.fname '_Priors' int2str(plt)]); - saveas(hplt,[M_.fname '_Priors' int2str(plt) '.fig']); - end - if options_.nograph, close(hplt), end - if TeX - fprintf(fidTeX,'\\begin{figure}[H]\n'); - for jj = 1:nstar - fprintf(fidTeX,'\\psfrag{%s}[1][][0.5][0]{%s}\n',deblank(NAMES(jj,:)),deblank(TeXNAMES(jj,:))); - end - fprintf(fidTeX,'\\centering\n'); - fprintf(fidTeX,'\\includegraphics[scale=0.5]{%s_Priors%s}\n',M_.fname,int2str(plt)); - fprintf(fidTeX,'\\caption{Priors.}'); - fprintf(fidTeX,'\\label{Fig:Priors:%s}\n',int2str(plt)); - fprintf(fidTeX,'\\end{figure}\n'); - fprintf(fidTeX,' \n'); - end - end % plt = 1:nbplt-1 - hplt = figure('Name',figurename); - if TeX - TeXNAMES = []; - NAMES = []; - end - for index=1:npar-(nbplt-1)*nstar - i = (nbplt-1)*nstar + index; + nstar0 = min(nstar,npar-(plt-1)*nstar); + for index=1:nstar0 + names = []; + i = (plt-1)*nstar + index; [x,f,abscissa,dens,binf,bsup] = draw_prior_density(i,bayestopt_); [nam,texnam] = get_the_name(i,TeX,M_,estim_params_,options_); if TeX @@ -152,35 +63,28 @@ else NAMES = char(NAMES,nam); end end - if lr - subplot(lc,lr,index); - else - subplot(nr,nc,index); - end + subplot(nr,nc,index) hh = plot(x,f,'-k','linewidth',2); set(hh,'color',[0.7 0.7 0.7]); box on title(nam,'Interpreter','none') drawnow - end % index=1:npar-(nbplt-1)*nstar - eval(['print -depsc2 ' M_.fname '_Priors' int2str(nbplt) '.eps']); - if ~exist('OCTAVE_VERSION') - eval(['print -dpdf ' M_.fname '_Priors' int2str(nbplt)]); - saveas(hplt,[M_.fname '_Priors' int2str(nbplt) '.fig']); end - if options_.nograph, close(hplt), end + dyn_saveas(hplt,[M_.fname '_Priors' int2str(plt)],options_); if TeX fprintf(fidTeX,'\\begin{figure}[H]\n'); - for jj = 1:npar-(nbplt-1)*nstar + for jj = 1:nstar0, fprintf(fidTeX,'\\psfrag{%s}[1][][0.5][0]{%s}\n',deblank(NAMES(jj,:)),deblank(TeXNAMES(jj,:))); end fprintf(fidTeX,'\\centering\n'); - fprintf(fidTeX,'\\includegraphics[scale=0.5]{%s_Priors%s}\n',M_.fname,int2str(nbplt)); + fprintf(fidTeX,'\\includegraphics[scale=0.5]{%s_Priors%s}\n',M_.fname,int2str(plt)); fprintf(fidTeX,'\\caption{Priors.}'); - fprintf(fidTeX,'\\label{Fig:Priors:%s}\n',int2str(nbplt)); + fprintf(fidTeX,'\\label{Fig:Priors:%s}\n',int2str(plt)); fprintf(fidTeX,'\\end{figure}\n'); - fprintf(fidTeX,' \n'); - fprintf(fidTeX,'%% End of TeX file.\n'); - fclose(fidTeX); end +end +if TeX + fprintf(fidTeX,' \n'); + fprintf(fidTeX,'%% End of TeX file.\n'); + fclose(fidTeX); end \ No newline at end of file