diff --git a/matlab/nonlinear-filters/src/DSMH_sampler.m b/matlab/nonlinear-filters/src/DSMH_sampler.m index d44a43f501db7df3145f93ab575bd586dc58ba27..99307013f4a1384e7dd9167409da285d236d0096 100644 --- a/matlab/nonlinear-filters/src/DSMH_sampler.m +++ b/matlab/nonlinear-filters/src/DSMH_sampler.m @@ -132,35 +132,27 @@ plt = 1 ; subplot(ceil(sqrt(npar)),floor(sqrt(npar)),k) %kk = (plt-1)*nstar+k; [name,texname] = get_the_name(k,TeX,M_,estim_params_,options_); - if TeX - if isempty(NAMES) - NAMES = name; - TeXNAMES = texname; - else - NAMES = char(NAMES,name); - TeXNAMES = char(TeXNAMES,texname); - end - end optimal_bandwidth = mh_optimal_bandwidth(distrib_param(k,:)',options_.dsmh.number_of_particles,bandwidth,kernel_function); [density(:,1),density(:,2)] = kernel_density_estimate(distrib_param(k,:)',number_of_grid_points,... options_.dsmh.number_of_particles,optimal_bandwidth,kernel_function); plot(density(:,1),density(:,2)); hold on - title(name,'interpreter','none') + if TeX + title(texname,'interpreter','latex') + else + title(name,'interpreter','none') + end hold off axis tight drawnow end dyn_saveas(hh,[ M_.fname '_param_density' int2str(plt) ],options_.nodisplay,options_.graph_format); - if TeX + if TeX && any(strcmp('eps',cellstr(options_.graph_format))) % TeX eps loader file fprintf(fidTeX,'\\begin{figure}[H]\n'); - for jj = 1:min(nstar,length(x)-(plt-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_ParametersDensities%s}\n',M_.fname,int2str(plt)); - fprintf(fidTeX,'\\caption{ParametersDensities.}'); + fprintf(fidTeX,'\\includegraphics[width=%2.2f\\textwidth]{%_param_density%s}\n',min(k/floor(sqrt(npar)),1),M_.fname,int2str(plt)); + fprintf(fidTeX,'\\caption{Parameter densities based on the Dynamic Striated Metropolis-Hastings algorithm.}'); fprintf(fidTeX,'\\label{Fig:ParametersDensities:%s}\n',int2str(plt)); fprintf(fidTeX,'\\end{figure}\n'); fprintf(fidTeX,' \n'); diff --git a/matlab/nonlinear-filters/src/Herbst_Schorfheide_sampler.m b/matlab/nonlinear-filters/src/Herbst_Schorfheide_sampler.m index 3c648291971755f615b6f09780d5bbb5705fe48f..03323a0d9275639bf5b36abf2d9fcc9f9105e7e8 100644 --- a/matlab/nonlinear-filters/src/Herbst_Schorfheide_sampler.m +++ b/matlab/nonlinear-filters/src/Herbst_Schorfheide_sampler.m @@ -160,35 +160,27 @@ plt = 1 ; subplot(ceil(sqrt(npar)),floor(sqrt(npar)),k) %kk = (plt-1)*nstar+k; [name,texname] = get_the_name(k,TeX,M_,estim_params_,options_); - if TeX - if isempty(NAMES) - NAMES = name; - TeXNAMES = texname; - else - NAMES = char(NAMES,name); - TeXNAMES = char(TeXNAMES,texname); - end - end optimal_bandwidth = mh_optimal_bandwidth(distrib_param(k,:)',options_.HSsmc.nparticles,bandwidth,kernel_function); [density(:,1),density(:,2)] = kernel_density_estimate(distrib_param(k,:)',number_of_grid_points,... options_.HSsmc.nparticles,optimal_bandwidth,kernel_function); plot(density(:,1),density(:,2)); hold on - title(name,'interpreter','none') + if TeX + title(texname,'interpreter','latex') + else + title(name,'interpreter','none') + end hold off axis tight drawnow end dyn_saveas(hh,[ M_.fname '_param_density' int2str(plt) ],options_.nodisplay,options_.graph_format); - if TeX + if TeX && any(strcmp('eps',cellstr(options_.graph_format))) % TeX eps loader file fprintf(fidTeX,'\\begin{figure}[H]\n'); - for jj = 1:min(nstar,length(x)-(plt-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_ParametersDensities%s}\n',M_.fname,int2str(plt)); - fprintf(fidTeX,'\\caption{ParametersDensities.}'); + fprintf(fidTeX,'\\includegraphics[width=%2.2f\\textwidth]{%_param_density%s}\n',min(k/floor(sqrt(npar)),1),M_.fname,int2str(plt)); + fprintf(fidTeX,'\\caption{Parameter densities based on the Herbst/Schorfheide sampler.}'); fprintf(fidTeX,'\\label{Fig:ParametersDensities:%s}\n',int2str(plt)); fprintf(fidTeX,'\\end{figure}\n'); fprintf(fidTeX,' \n'); diff --git a/matlab/nonlinear-filters/src/online_auxiliary_filter.m b/matlab/nonlinear-filters/src/online_auxiliary_filter.m index 6acadc6080c6a7512934ded68bf6cfebac3b1d70..0da8e48fa841911cc73b80e999d319aa614c3a19 100644 --- a/matlab/nonlinear-filters/src/online_auxiliary_filter.m +++ b/matlab/nonlinear-filters/src/online_auxiliary_filter.m @@ -306,21 +306,16 @@ for plt = 1:nbplt for k=1:length(pmean) subplot(nr,nc,k) [name,texname] = get_the_name(k,TeX,Model,EstimatedParameters,DynareOptions); - if TeX - if isempty(NAMES) - NAMES = name; - TeXNAMES = texname; - else - NAMES = char(NAMES,name); - TeXNAMES = char(TeXNAMES,texname); - end - end % Draw the surface for an interval containing 95% of the particles. shade(1:sample_size, ub95_xparam(k,:)', 1:sample_size, lb95_xparam(k,:)', 'FillType',[1 2], 'LineStyle', 'none', 'Marker', 'none') hold on % Draw the mean of particles. plot(1:sample_size, mean_xparam(k,:), '-k', 'linewidth', 2) - title(name,'interpreter','none') + if TeX + title(texname,'interpreter','latex') + else + title(name,'interpreter','none') + end hold off axis tight drawnow @@ -329,9 +324,6 @@ for plt = 1:nbplt if TeX % TeX eps loader file fprintf(fidTeX,'\\begin{figure}[H]\n'); - for jj = 1:length(x) - 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_ParamTraj%s}\n',Model.fname,int2str(plt)); fprintf(fidTeX,'\\caption{Parameters trajectories.}'); @@ -354,36 +346,28 @@ for plt = 1:nbplt for k=1:length(pmean) subplot(nr,nc,k) [name,texname] = get_the_name(k,TeX,Model,EstimatedParameters,DynareOptions); - if TeX - if isempty(NAMES) - NAMES = name; - TeXNAMES = texname; - else - NAMES = char(NAMES,name); - TeXNAMES = char(TeXNAMES,texname); - end - end optimal_bandwidth = mh_optimal_bandwidth(xparam(k,:)',number_of_particles,bandwidth,kernel_function); [density(:,1),density(:,2)] = kernel_density_estimate(xparam(k,:)', number_of_grid_points, ... number_of_particles, optimal_bandwidth, kernel_function); plot(density(:,1), density(:,2)); hold on - title(name, 'interpreter', 'none') + if TeX + title(texname,'interpreter','latex') + else + title(name,'interpreter','none') + end hold off axis tight drawnow end dyn_saveas(hh,[ Model.fname '_param_density' int2str(plt) ],DynareOptions.nodisplay,DynareOptions.graph_format); - if TeX + if TeX && any(strcmp('eps',cellstr(DynareOptions.graph_format))) % TeX eps loader file fprintf(fidTeX, '\\begin{figure}[H]\n'); - for jj = 1:length(x) - 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_ParametersDensities%s}\n',Model.fname,int2str(plt)); - fprintf(fidTeX,'\\caption{ParametersDensities.}'); - fprintf(fidTeX,'\\label{Fig:ParametersDensities:%s}\n',int2str(plt)); + fprintf(fidTeX,'\\includegraphics[width=%2.2f\\textwidth]{%_param_density%s}\n',min(k/nc,1),M_.fname,int2str(plt)); + fprintf(fidTeX,'\\caption{Parameter densities based on the Liu/West particle filter.}'); + fprintf(fidTeX,'\\label{Fig:ParameterDensities:%s}\n',int2str(plt)); fprintf(fidTeX,'\\end{figure}\n'); fprintf(fidTeX,' \n'); end