From 709ef9230f28a75ca170fc1e23ee26b29d06b4ef Mon Sep 17 00:00:00 2001 From: Johannes Pfeifer <jpfeifer@gmx.de> Date: Thu, 30 Nov 2023 13:31:51 +0100 Subject: [PATCH] get_the_name.m: do not pass full options structure as input --- matlab/+mom/standard_errors.m | 4 +- matlab/DSMH_sampler.m | 4 +- matlab/Herbst_Schorfheide_sampler.m | 4 +- matlab/PlotPosteriorDistributions.m | 2 +- matlab/check_prior_bounds.m | 4 +- .../mcmc_diagnostics.m | 12 ++-- matlab/dynare_identification.m | 4 +- matlab/fjaco.m | 2 +- matlab/get_the_name.m | 67 +++++++------------ matlab/gsa/filt_mc_.m | 4 +- matlab/gsa/map_calibration.m | 8 +-- matlab/gsa/map_ident_.m | 6 +- matlab/gsa/redform_map.m | 4 +- matlab/gsa/redform_screen.m | 2 +- matlab/gsa/stab_map_.m | 8 +-- matlab/gsa/stab_map_2.m | 16 ++--- matlab/mh_autocorrelation_function.m | 2 +- matlab/mode_check.m | 2 +- .../online_auxiliary_filter.m | 4 +- matlab/optimize_prior.m | 2 +- matlab/plot_priors.m | 2 +- matlab/print_table_prior.m | 2 +- matlab/trace_plot.m | 2 +- .../estimation/check_hessian_at_the_mode.m | 2 +- .../estimation/set_mcmc_prior_bounds.m | 2 +- matlab/write_latex_prior_table.m | 2 +- 26 files changed, 76 insertions(+), 97 deletions(-) diff --git a/matlab/+mom/standard_errors.m b/matlab/+mom/standard_errors.m index 8de031a3fc..6bfec1e72d 100644 --- a/matlab/+mom/standard_errors.m +++ b/matlab/+mom/standard_errors.m @@ -62,7 +62,7 @@ if strcmp(options_mom_.mom.mom_method,'GMM') && options_mom_.mom.analytic_standa idx_nan = find(any(isnan(D))); if any(idx_nan) for i = idx_nan - fprintf('No standard errors available for parameter %s\n',get_the_name(i,options_mom_.TeX, M_, estim_params_, options_mom_)) + fprintf('No standard errors available for parameter %s\n',get_the_name(i,options_mom_.TeX, M_, estim_params_, options_mom_.varobs)) end warning('There are NaN in the analytical Jacobian of Moments. Check your bounds and/or priors, or use a different optimizer.') Asympt_Var = NaN(length(xparam),length(xparam)); @@ -86,7 +86,7 @@ else if nnz(info_p)==0 && nnz(info_m)==0 D(:,i) = (oo__p.mom.model_moments - oo__m.mom.model_moments)/(2*eps_value); else - problpar = get_the_name(i,options_mom_.TeX, M_, estim_params_, options_mom_); + problpar = get_the_name(i,options_mom_.TeX, M_, estim_params_, options_mom_.varobs); if info_p(1)==42 warning('method_of_moments:info','Cannot compute the Jacobian using finite differences for parameter %s due to hitting the upper bound - no standard errors available.\n',problpar) else diff --git a/matlab/DSMH_sampler.m b/matlab/DSMH_sampler.m index 35621f8ffa..1c91c3a1ea 100644 --- a/matlab/DSMH_sampler.m +++ b/matlab/DSMH_sampler.m @@ -98,7 +98,7 @@ TeX = options_.TeX; str = sprintf(' Param. \t Lower Bound (95%%) \t Mean \t Upper Bound (95%%)'); for l=1:npar - [name,~] = get_the_name(l,TeX,M_,estim_params_,options_); + [name,~] = get_the_name(l,TeX,M_,estim_params_,options_.varobs); str = sprintf('%s\n %s \t\t %5.4f \t\t %7.5f \t\t %5.4f', str, name, lb95_xparam(l), mean_xparam(l), ub95_xparam(l)); end disp([str]) @@ -129,7 +129,7 @@ hh_fig = dyn_figure(options_.nodisplay,'Name','Parameters Densities'); for k=1:npar %min(nstar,npar-(plt-1)*nstar) subplot(ceil(sqrt(npar)),floor(sqrt(npar)),k) %kk = (plt-1)*nstar+k; - [name,texname] = get_the_name(k,TeX,M_,estim_params_,options_); + [name,texname] = get_the_name(k,TeX,M_,estim_params_,options_.varobs); optimal_bandwidth = mh_optimal_bandwidth(distrib_param(k,:)',options_.posterior_sampler_options.dsmh.nparticles,bandwidth,kernel_function); [density(:,1),density(:,2)] = kernel_density_estimate(distrib_param(k,:)',number_of_grid_points,... options_.posterior_sampler_options.dsmh.nparticles,optimal_bandwidth,kernel_function); diff --git a/matlab/Herbst_Schorfheide_sampler.m b/matlab/Herbst_Schorfheide_sampler.m index 8db32815fe..f6881bc840 100644 --- a/matlab/Herbst_Schorfheide_sampler.m +++ b/matlab/Herbst_Schorfheide_sampler.m @@ -126,7 +126,7 @@ TeX = options_.TeX; str = sprintf(' Param. \t Lower Bound (95%%) \t Mean \t Upper Bound (95%%)'); for l=1:npar - [name,~] = get_the_name(l,TeX,M_,estim_params_,options_); + [name,~] = get_the_name(l,TeX,M_,estim_params_,options_.varobs); str = sprintf('%s\n %s \t\t %5.4f \t\t %7.5f \t\t %5.4f', str, name, lb95_xparam(l), mean_xparam(l), ub95_xparam(l)); end disp([str]) @@ -156,7 +156,7 @@ hh_fig = dyn_figure(options_.nodisplay,'Name','Parameters Densities'); for k=1:npar %min(nstar,npar-(plt-1)*nstar) subplot(ceil(sqrt(npar)),floor(sqrt(npar)),k) %kk = (plt-1)*nstar+k; - [name,texname] = get_the_name(k,TeX,M_,estim_params_,options_); + [name,texname] = get_the_name(k,TeX,M_,estim_params_,options_.varobs); optimal_bandwidth = mh_optimal_bandwidth(distrib_param(k,:)',options_.posterior_sampler_options.HSsmc.nparticles,bandwidth,kernel_function); [density(:,1),density(:,2)] = kernel_density_estimate(distrib_param(k,:)',number_of_grid_points,... options_.posterior_sampler_options.HSsmc.nparticles,optimal_bandwidth,kernel_function); diff --git a/matlab/PlotPosteriorDistributions.m b/matlab/PlotPosteriorDistributions.m index 6a5cec13d0..d96d6178ca 100644 --- a/matlab/PlotPosteriorDistributions.m +++ b/matlab/PlotPosteriorDistributions.m @@ -65,7 +65,7 @@ for i=1:npar figunumber = figunumber+1; hh_fig=dyn_figure(options_.nodisplay, 'Name', figurename); end - [nam,texnam] = get_the_name(i, TeX, M_, estim_params_, options_); + [nam,texnam] = get_the_name(i, TeX, M_, estim_params_, options_.varobs); [x2, f2, abscissa, dens, binf2, bsup2] = draw_prior_density(i, bayestopt_); top2 = max(f2); if i <= nvx diff --git a/matlab/check_prior_bounds.m b/matlab/check_prior_bounds.m index a1b3b332e1..14d93cfd67 100644 --- a/matlab/check_prior_bounds.m +++ b/matlab/check_prior_bounds.m @@ -30,7 +30,7 @@ function check_prior_bounds(xparam1,bounds,M_,estim_params_,options_,bayestopt_) outside_bound_pars=find(xparam1 < bounds.lb | xparam1 > bounds.ub); if ~isempty(outside_bound_pars) for ii=1:length(outside_bound_pars) - outside_bound_par_names{ii,1}=get_the_name(outside_bound_pars(ii),0,M_,estim_params_,options_); + outside_bound_par_names{ii,1}=get_the_name(outside_bound_pars(ii),0,M_,estim_params_,options_.varobs); end disp_string=[outside_bound_par_names{1,:}]; for ii=2:size(outside_bound_par_names,1) @@ -41,7 +41,7 @@ end inadmissible_inverse_gamma_values=find(bayestopt_.pshape==4 & xparam1 == 0); if ~isempty(inadmissible_inverse_gamma_values) for ii=1:length(inadmissible_inverse_gamma_values) - inadmissible_inverse_gamma_par_names{ii,1}=get_the_name(inadmissible_inverse_gamma_values(ii),0,M_,estim_params_,options_); + inadmissible_inverse_gamma_par_names{ii,1}=get_the_name(inadmissible_inverse_gamma_values(ii),0,M_,estim_params_,options_.varobs); end disp_string=[inadmissible_inverse_gamma_par_names{1,:}]; for ii=2:size(inadmissible_inverse_gamma_par_names,1) diff --git a/matlab/convergence_diagnostics/mcmc_diagnostics.m b/matlab/convergence_diagnostics/mcmc_diagnostics.m index d4c1bad986..1a88ea5a77 100644 --- a/matlab/convergence_diagnostics/mcmc_diagnostics.m +++ b/matlab/convergence_diagnostics/mcmc_diagnostics.m @@ -71,12 +71,12 @@ param_name_tex = {}; Ifac=NaN(nblck,npar); for jj = 1:npar if options_.TeX - [par_name_temp, par_name_tex_temp] = get_the_name(jj, options_.TeX, M_,estim_params_, options_); + [par_name_temp, par_name_tex_temp] = get_the_name(jj, options_.TeX, M_,estim_params_, options_.varobs); param_name = vertcat(param_name, par_name_temp); par_name_tex_temp = strrep(par_name_tex_temp,'$',''); param_name_tex = vertcat(param_name_tex, par_name_tex_temp); else - par_name_temp = get_the_name(jj, options_.TeX, M_, estim_params_, options_); + par_name_temp = get_the_name(jj, options_.TeX, M_, estim_params_, options_.varobs); param_name = vertcat(param_name, par_name_temp); end Draws = GetAllPosteriorDraws(M_.dname, M_.fname, jj, FirstMhFile, FirstLine, TotalNumberOfMhFiles, NumberOfDraws, nblck); @@ -130,11 +130,11 @@ if options_.TeX end for jj=1:npar if options_.TeX - [param_name_temp, param_name_tex_temp] = get_the_name(jj, options_.TeX, M_, estim_params_, options_); + [param_name_temp, param_name_tex_temp] = get_the_name(jj, options_.TeX, M_, estim_params_, options_.varobs); param_name_tex = vertcat(param_name_tex, strrep(param_name_tex_temp, '$','')); param_name = vertcat(param_name, param_name_temp); else - param_name_temp = get_the_name(jj, options_.TeX, M_,estim_params_, options_); + param_name_temp = get_the_name(jj, options_.TeX, M_,estim_params_, options_.varobs); param_name = vertcat(param_name, param_name_temp); end end @@ -290,7 +290,7 @@ for i = 1:pages boxplot = 1; for j = 1:npardisp % Loop over parameters %npardisp instead of 3 k = k+1; - [nam,namtex] = get_the_name(k,TeX,M_,estim_params_,options_); + [nam,namtex] = get_the_name(k,TeX,M_,estim_params_,options_.varobs); for crit = 1:3% Loop over criteria if crit == 1 plt1 = UDIAG(:,1,k); @@ -346,7 +346,7 @@ if reste boxplot = 1; for j = 1:reste k = k+1; - [nam,namtex] = get_the_name(k,TeX,M_,estim_params_,options_); + [nam,namtex] = get_the_name(k,TeX,M_,estim_params_,options_.varobs); for crit = 1:3 if crit == 1 plt1 = UDIAG(:,1,k); diff --git a/matlab/dynare_identification.m b/matlab/dynare_identification.m index 2af64d33f4..1d9d23dd82 100644 --- a/matlab/dynare_identification.m +++ b/matlab/dynare_identification.m @@ -363,11 +363,11 @@ if prior_exist % use estimated_params block name_tex = cell(totparam_nbr,1); %initialize cell for TeX parameter names for jj=1:totparam_nbr if options_.TeX - [param_name_temp, param_name_tex_temp]= get_the_name(jj,options_.TeX,M_,estim_params_,options_); + [param_name_temp, param_name_tex_temp]= get_the_name(jj,options_.TeX,M_,estim_params_,options_.varobs); name_tex{jj,1} =param_name_tex_temp; name{jj,1} = param_name_temp; %ordering corresponds to estimated_params else - param_name_temp = get_the_name(jj,options_.TeX,M_,estim_params_,options_); + param_name_temp = get_the_name(jj,options_.TeX,M_,estim_params_,options_.varobs); name{jj,1} = param_name_temp; %ordering corresponds to estimated_params end end diff --git a/matlab/fjaco.m b/matlab/fjaco.m index 4f582d3db7..e3a5e913e7 100644 --- a/matlab/fjaco.m +++ b/matlab/fjaco.m @@ -57,7 +57,7 @@ feval(f,x,varargin{:}); %Auxiliary functions function disp_info_error_identification_perturbation(info,j) % there are errors in the solution algorithm - probl_par = get_the_name(j,varargin{4}.TeX,varargin{3},varargin{2},varargin{4}); + probl_par = get_the_name(j,varargin{4}.TeX,varargin{3},varargin{2},varargin{4}.varobs); skipline() message = get_error_message(info,varargin{4}); fprintf('Parameter error in numerical two-sided difference method:\n') diff --git a/matlab/get_the_name.m b/matlab/get_the_name.m index 11de078cf9..a373699a7f 100644 --- a/matlab/get_the_name.m +++ b/matlab/get_the_name.m @@ -1,46 +1,26 @@ -function [nam, texnam] = get_the_name(k, TeX, M_, estim_params_, options_) - -%@info: -%! @deftypefn {Function File} {[@var{nam},@var{texnam}] =} get_the_name (@var{k},@var{TeX},@var{M_},@var{estim_params_},@var{options_}) -%! @anchor{get_the_name} -%! @sp 1 -%! Returns the name of the estimated parameter number @var{k}, following the internal ordering of the estimated parameters. -%! @sp 2 -%! @strong{Inputs} -%! @sp 1 -%! @table @ @var -%! @item k -%! Integer scalar, parameter number. -%! @item TeX -%! Integer scalar, if @var{TeX}==0 then @var{texnam} is not returned (empty matrix). -%! @item M_ -%! Matlab's structure describing the model (initialized by @code{dynare}). -%! @item estim_params_ -%! Matlab's structure describing the estimated parameters (initialized by @code{dynare}). -%! @item options_ -%! Matlab's structure describing the options (initialized by @code{dynare}). -%! @end table -%! @sp 2 -%! @strong{Outputs} -%! @sp 1 -%! @table @ @var -%! @item nam -%! String, internal name of the variable -%! @item texnam -%! String, TeX name of the same variable (if defined in the mod file). -%! @end table -%! @sp 2 -%! @strong{This function is called by:} -%! @sp 1 -%! @ref{get_prior_info}, @ref{mcmc_diagnostics}, @ref{mode_check}, @ref{PlotPosteriorDistributions}, @ref{plot_priors} -%! @sp 2 -%! @strong{This function calls:} -%! @sp 1 -%! None. -%! @end deftypefn -%@eod: +function [nam, texnam] = get_the_name(k, TeX, M_, estim_params_, varobs) +% [nam, texnam] = get_the_name(k, TeX, M_, estim_params_, varobs) +% Returns name of estimated parameter number k, following the internal ordering of +% the estimated parameters. +% Inputs: +% - k [integer] parameter number. +% - TeX [bool] if false, texnam is not returned (empty matrix) +% - M_ [structure] model +% - estim_params_ [structure] describing the estimated parameters +% - varobs [cell] name of observed variables +% +% Outputs +% - nam [char] internal name of the variable +% - texnam [char] TeX name of the same variable (if defined in the mod file) +% +% This function is called by: +% get_prior_info, mcmc_diagnostics, mode_check, PlotPosteriorDistributions, plot_priors +% +% This function calls: +% None. +% -% Copyright © 2004-2018 Dynare Team +% Copyright © 2004-2023 Dynare Team % % This file is part of Dynare. % @@ -57,7 +37,6 @@ function [nam, texnam] = get_the_name(k, TeX, M_, estim_params_, options_) % You should have received a copy of the GNU General Public License % along with Dynare. If not, see <https://www.gnu.org/licenses/>. -nam = []; texnam = []; nvx = estim_params_.nvx; @@ -73,7 +52,7 @@ if k <= nvx texnam = sprintf('$ \\sigma_{%s} $', tname); end elseif k <= (nvx+nvn) - vname = options_.varobs{estim_params_.nvn_observable_correspondence(k-estim_params_.nvx,1)}; + vname = varobs{estim_params_.nvn_observable_correspondence(k-estim_params_.nvx,1)}; nam = sprintf('SE_EOBS_%s', vname); if TeX tname = M_.endo_names_tex{estim_params_.var_endo(k-estim_params_.nvx,1)}; diff --git a/matlab/gsa/filt_mc_.m b/matlab/gsa/filt_mc_.m index 1d7e094431..7941e4121a 100644 --- a/matlab/gsa/filt_mc_.m +++ b/matlab/gsa/filt_mc_.m @@ -885,11 +885,11 @@ pnames=cell(np,1); pnames_tex=cell(np,1); for ii=1:length(bayestopt_.name) if options_.TeX - [param_name_temp, param_name_tex_temp]= get_the_name(ii,options_.TeX,M_,estim_params_,options_); + [param_name_temp, param_name_tex_temp]= get_the_name(ii,options_.TeX,M_,estim_params_,options_.varobs); pnames_tex{ii,1} = param_name_tex_temp; pnames{ii,1} = param_name_temp; else - param_name_temp = get_the_name(ii,options_.TeX,M_,estim_params_,options_); + param_name_temp = get_the_name(ii,options_.TeX,M_,estim_params_,options_.varobs); pnames{ii,1} = param_name_temp; end end diff --git a/matlab/gsa/map_calibration.m b/matlab/gsa/map_calibration.m index 395544e00a..64c46e3294 100644 --- a/matlab/gsa/map_calibration.m +++ b/matlab/gsa/map_calibration.m @@ -38,11 +38,11 @@ pnames=cell(np,1); pnames_tex=cell(np,1); for jj=1:np if options_.TeX - [param_name_temp, param_name_tex_temp]= get_the_name(nshock+jj, options_.TeX, M_, estim_params_, options_); + [param_name_temp, param_name_tex_temp]= get_the_name(nshock+jj, options_.TeX, M_, estim_params_, options_.varobs); pnames_tex{jj,1} = param_name_tex_temp; pnames{jj,1} = param_name_temp; else - param_name_temp = get_the_name(nshock+jj, options_.TeX, M_, estim_params_, options_); + param_name_temp = get_the_name(nshock+jj, options_.TeX, M_, estim_params_, options_.varobs); pnames{jj,1} = param_name_temp; end end @@ -353,11 +353,11 @@ if ~isempty(indx_moment) name_tex=cell(np,1); for jj=1:np if options_.TeX - [param_name_temp, param_name_tex_temp]= get_the_name(jj,options_.TeX,M_,estim_params_,options_); + [param_name_temp, param_name_tex_temp]= get_the_name(jj,options_.TeX,M_,estim_params_,options_.varobs); name_tex{jj,1} = param_name_tex_temp; name{jj,1} = param_name_temp; else - param_name_temp = get_the_name(jj,options_.TeX,M_,estim_params_,options_); + param_name_temp = get_the_name(jj,options_.TeX,M_,estim_params_,options_.varobs); name{jj,1} = param_name_temp; end end diff --git a/matlab/gsa/map_ident_.m b/matlab/gsa/map_ident_.m index cabe148f33..ec84adef26 100644 --- a/matlab/gsa/map_ident_.m +++ b/matlab/gsa/map_ident_.m @@ -172,7 +172,7 @@ if opt_gsa.morris==1 set(gca,'position',[0.13 0.2 0.775 0.7]) for ip=1:npT if options_.TeX - [~, param_name_tex_temp]= get_the_name(ip,options_.TeX,M_,estim_params_,options_); + [~, param_name_tex_temp]= get_the_name(ip,options_.TeX,M_,estim_params_,options_.varobs); text(ip,-2,param_name_tex_temp,'rotation',90,'HorizontalAlignment','right','interpreter','latex') else text(ip,-2,bayestopt_.name{ip},'rotation',90,'HorizontalAlignment','right','interpreter','none') @@ -209,7 +209,7 @@ if opt_gsa.morris==1 set(gca,'position',[0.13 0.2 0.775 0.7]) for ip=1:npT if options_.TeX - [~, param_name_tex_temp]= get_the_name(ip,options_.TeX,M_,estim_params_,options_); + [~, param_name_tex_temp]= get_the_name(ip,options_.TeX,M_,estim_params_,options_.varobs); text(ip,-0.02,param_name_tex_temp,'rotation',90,'HorizontalAlignment','right','interpreter','latex') else text(ip,-0.02,bayestopt_.name{ip},'rotation',90,'HorizontalAlignment','right','interpreter','none') @@ -257,7 +257,7 @@ if opt_gsa.morris==1 xlabel(' ') for ip=1:npT if options_.TeX - [~, param_name_tex_temp]= get_the_name(ip,options_.TeX,M_,estim_params_,options_); + [~, param_name_tex_temp]= get_the_name(ip,options_.TeX,M_,estim_params_,options_.varobs); text(ip,-0.02,param_name_tex_temp,'rotation',90,'HorizontalAlignment','right','interpreter','latex') else text(ip,-0.02,bayestopt_.name{ip},'rotation',90,'HorizontalAlignment','right','interpreter','none') diff --git a/matlab/gsa/redform_map.m b/matlab/gsa/redform_map.m index 5bd3c3667f..a1b7604f91 100644 --- a/matlab/gsa/redform_map.m +++ b/matlab/gsa/redform_map.m @@ -45,11 +45,11 @@ pnames=cell(np,1); pnames_tex=cell(np,1); for jj=1:np if options_.TeX - [param_name_temp, param_name_tex_temp]= get_the_name(nshock+jj,options_.TeX,M_,estim_params_,options_); + [param_name_temp, param_name_tex_temp]= get_the_name(nshock+jj,options_.TeX,M_,estim_params_,options_.varobs); pnames_tex{jj,1} = param_name_tex_temp; pnames{jj,1} = param_name_temp; else - param_name_temp = get_the_name(nshock+jj,options_.TeX,M_,estim_params_,options_); + param_name_temp = get_the_name(nshock+jj,options_.TeX,M_,estim_params_,options_.varobs); pnames{jj,1} = param_name_temp; end end diff --git a/matlab/gsa/redform_screen.m b/matlab/gsa/redform_screen.m index 40dd532879..e2eb86cd77 100644 --- a/matlab/gsa/redform_screen.m +++ b/matlab/gsa/redform_screen.m @@ -40,7 +40,7 @@ nliv = options_gsa_.morris_nliv; pnames = M_.param_names(estim_params_.param_vals(:,1)); if options_.TeX for par_iter=1:size(estim_params_.param_vals(:,1),1) - [~,tex_names{par_iter,1}]=get_the_name(estim_params_.param_vals(par_iter,1),options_.TeX, M_, estim_params_, options_); + [~,tex_names{par_iter,1}]=get_the_name(estim_params_.param_vals(par_iter,1),options_.TeX, M_, estim_params_, options_.varobs); end end if nargin==0 diff --git a/matlab/gsa/stab_map_.m b/matlab/gsa/stab_map_.m index 53521dac19..74135dc74d 100644 --- a/matlab/gsa/stab_map_.m +++ b/matlab/gsa/stab_map_.m @@ -119,11 +119,11 @@ name=cell(np,1); name_tex=cell(np,1); for jj=1:np if options_.TeX - [param_name_temp, param_name_tex_temp]= get_the_name(nshock+jj,options_.TeX,M_,estim_params_,options_); + [param_name_temp, param_name_tex_temp]= get_the_name(nshock+jj,options_.TeX,M_,estim_params_,options_.varobs); name_tex{jj,1} = param_name_tex_temp; name{jj,1} = param_name_temp; else - param_name_temp = get_the_name(nshock+jj,options_.TeX,M_,estim_params_,options_); + param_name_temp = get_the_name(nshock+jj,options_.TeX,M_,estim_params_,options_.varobs); name{jj,1} = param_name_temp; end end @@ -535,11 +535,11 @@ if ~isempty(iunstable) || ~isempty(iwrong) name_tex=cell(np,1); for jj=1:np if options_.TeX - [param_name_temp, param_name_tex_temp]= get_the_name(jj,options_.TeX,M_,estim_params_,options_); + [param_name_temp, param_name_tex_temp]= get_the_name(jj,options_.TeX,M_,estim_params_,options_.varobs); name_tex{jj,1} = param_name_tex_temp; name{jj,1} = param_name_temp; else - param_name_temp = get_the_name(jj,options_.TeX,M_,estim_params_,options_); + param_name_temp = get_the_name(jj,options_.TeX,M_,estim_params_,options_.varobs); name{jj,1} = param_name_temp; end end diff --git a/matlab/gsa/stab_map_2.m b/matlab/gsa/stab_map_2.m index f7d0ca8bd6..608d545952 100644 --- a/matlab/gsa/stab_map_2.m +++ b/matlab/gsa/stab_map_2.m @@ -89,29 +89,29 @@ for j=1:npar j2=j2+1; if ishock if options_.TeX - [param_name_temp1, param_name_tex_temp1]= get_the_name(j,options_.TeX,M_,estim_params_,options_); - [param_name_temp2, param_name_tex_temp2]= get_the_name(i2(jx),options_.TeX,M_,estim_params_,options_); + [param_name_temp1, param_name_tex_temp1]= get_the_name(j,options_.TeX,M_,estim_params_,options_.varobs); + [param_name_temp2, param_name_tex_temp2]= get_the_name(i2(jx),options_.TeX,M_,estim_params_,options_.varobs); tmp_name=(['[',param_name_temp1,',',param_name_temp2,']']); tmp_name_tex=(['[',param_name_tex_temp1,',',param_name_tex_temp2,']']); name{entry_iter,1}=tmp_name; name_tex{entry_iter,1}=tmp_name_tex; else - [param_name_temp1]= get_the_name(j,options_.TeX,M_,estim_params_,options_); - [param_name_temp2]= get_the_name(i2(jx),options_.TeX,M_,estim_params_,options_); + [param_name_temp1]= get_the_name(j,options_.TeX,M_,estim_params_,options_.varobs); + [param_name_temp2]= get_the_name(i2(jx),options_.TeX,M_,estim_params_,options_.varobs); tmp_name=(['[',param_name_temp1,',',param_name_temp2,']']); name{entry_iter,1}=tmp_name; end else if options_.TeX - [param_name_temp1, param_name_tex_temp1]= get_the_name(j+nshock,options_.TeX,M_,estim_params_,options_); - [param_name_temp2, param_name_tex_temp2]= get_the_name(i2(jx)+nshock,options_.TeX,M_,estim_params_,options_); + [param_name_temp1, param_name_tex_temp1]= get_the_name(j+nshock,options_.TeX,M_,estim_params_,options_.varobs); + [param_name_temp2, param_name_tex_temp2]= get_the_name(i2(jx)+nshock,options_.TeX,M_,estim_params_,options_.varobs); tmp_name=(['[',param_name_temp1,',',param_name_temp2,']']); tmp_name_tex=(['[',param_name_tex_temp1,',',param_name_tex_temp2,']']); name{entry_iter,1}=tmp_name; name_tex{entry_iter,1}=tmp_name_tex; else - [param_name_temp1]= get_the_name(j+nshock,options_.TeX,M_,estim_params_,options_); - [param_name_temp2]= get_the_name(i2(jx)+nshock,options_.TeX,M_,estim_params_,options_); + [param_name_temp1]= get_the_name(j+nshock,options_.TeX,M_,estim_params_,options_.varobs); + [param_name_temp2]= get_the_name(i2(jx)+nshock,options_.TeX,M_,estim_params_,options_.varobs); tmp_name=(['[',param_name_temp1,',',param_name_temp2,']']); name{entry_iter,1}=tmp_name; end diff --git a/matlab/mh_autocorrelation_function.m b/matlab/mh_autocorrelation_function.m index 565c16504c..eb659f6865 100644 --- a/matlab/mh_autocorrelation_function.m +++ b/matlab/mh_autocorrelation_function.m @@ -105,5 +105,5 @@ if ~exist([M_.dname filesep 'graphs']) mkdir(M_.dname,'graphs'); end -plot_name=get_the_name(column,0,M_,estim_params_,options_); +plot_name=get_the_name(column,0,M_,estim_params_,options_.varobs); dyn_saveas(hh_fig,[M_.dname, filesep, 'graphs', filesep, 'MH_Autocorrelation_' plot_name],options_.nodisplay,options_.graph_format) diff --git a/matlab/mode_check.m b/matlab/mode_check.m index b6443ad450..ab05544d60 100644 --- a/matlab/mode_check.m +++ b/matlab/mode_check.m @@ -95,7 +95,7 @@ for plt = 1:nbplt for k = 1:min(nstar,length(xparam)-(plt-1)*nstar) subplot(nr,nc,k) kk = (plt-1)*nstar+k; - [name,texname] = get_the_name(kk,options_.TeX,M_,estim_params_,options_); + [name,texname] = get_the_name(kk,options_.TeX,M_,estim_params_,options_.varobs); xx = xparam; if xparam(kk)~=0 && ~isinf(bounds.lb(kk)) && ~isinf(bounds.ub(kk)) l1 = max(bounds.lb(kk),(1-sign(xparam(kk))*ll)*xparam(kk)); m1 = 0; % lower bound diff --git a/matlab/nonlinear-filters/online_auxiliary_filter.m b/matlab/nonlinear-filters/online_auxiliary_filter.m index 8fead19d8f..0405ff2735 100644 --- a/matlab/nonlinear-filters/online_auxiliary_filter.m +++ b/matlab/nonlinear-filters/online_auxiliary_filter.m @@ -389,7 +389,7 @@ for plt = 1:nbplt hh_fig = dyn_figure(options_.nodisplay,'Name','Parameters Trajectories'); for k=1:length(pmean) subplot(nr,nc,k) - [name,texname] = get_the_name(k,TeX,M_,estim_params_,options_); + [name,texname] = get_the_name(k,TeX,M_,estim_params_,options_.varobs); % Draw the surface for an interval containing 95% of the particles. area(1:sample_size, ub95_xparam(k,:), 'FaceColor', [.9 .9 .9], 'BaseValue', min(lb95_xparam(k,:))); hold on @@ -426,7 +426,7 @@ for plt = 1:nbplt hh_fig = dyn_figure(options_.nodisplay,'Name','Parameters Densities'); for k=1:length(pmean) subplot(nr,nc,k) - [name,texname] = get_the_name(k,TeX,M_,estim_params_,options_); + [name,texname] = get_the_name(k,TeX,M_,estim_params_,options_.varobs); 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); diff --git a/matlab/optimize_prior.m b/matlab/optimize_prior.m index 261b6bb9d8..32680e12a9 100644 --- a/matlab/optimize_prior.m +++ b/matlab/optimize_prior.m @@ -65,7 +65,7 @@ disp('PRIOR OPTIMIZATION') disp('------------------') skipline() for i = 1:length(xparams) - disp(['deep parameter ' int2str(i) ': ' get_the_name(i,0,M_,estim_params_,options_) '.']) + disp(['deep parameter ' int2str(i) ': ' get_the_name(i,0,M_,estim_params_,options_.varobs) '.']) disp([' Initial condition ....... ' num2str(xinit(i)) '.']) disp([' Prior mode .............. ' num2str(bayestopt_.p5(i)) '.']) disp([' Optimized prior mode .... ' num2str(xparams(i)) '.']) diff --git a/matlab/plot_priors.m b/matlab/plot_priors.m index 97c7914dc1..50b7b6a2b3 100644 --- a/matlab/plot_priors.m +++ b/matlab/plot_priors.m @@ -60,7 +60,7 @@ for plt = 1:nbplt 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_); + [nam,texnam] = get_the_name(i,TeX,M_,estim_params_,options_.varobs); subplot(nr,nc,index) hh_plt = plot(x,f,'-k','linewidth',2); set(hh_plt,'color',[0.7 0.7 0.7]); diff --git a/matlab/print_table_prior.m b/matlab/print_table_prior.m index b8c7a23374..44096e5b26 100644 --- a/matlab/print_table_prior.m +++ b/matlab/print_table_prior.m @@ -52,7 +52,7 @@ options_.prior_trunc = prior_trunc_backup ; RESIZE = false; for i=1:size(bayestopt_.name,1) - [Name,tmp] = get_the_name(i,1,M_,estim_params_,options_); + [Name,tmp] = get_the_name(i,1,M_,estim_params_,options_.varobs); if length(Name)>size(T1,2) resize = true; else diff --git a/matlab/trace_plot.m b/matlab/trace_plot.m index a90485ae56..d4cf5e1f14 100644 --- a/matlab/trace_plot.m +++ b/matlab/trace_plot.m @@ -153,7 +153,7 @@ end if strcmpi(type,'PosteriorDensity') plot_name='Posterior'; else - plot_name=get_the_name(column,0,M_,estim_params_,options_); + plot_name=get_the_name(column,0,M_,estim_params_,options_.varobs); end if n_nblocks_to_plot==1 plot_name=[plot_name,'_blck_',num2str(blck)]; diff --git a/matlab/utilities/estimation/check_hessian_at_the_mode.m b/matlab/utilities/estimation/check_hessian_at_the_mode.m index 1e91bf6661..f22870e114 100644 --- a/matlab/utilities/estimation/check_hessian_at_the_mode.m +++ b/matlab/utilities/estimation/check_hessian_at_the_mode.m @@ -48,7 +48,7 @@ catch params_at_bound = find(abs(xparam1-bounds.ub)<tol_bounds | abs(xparam1-bounds.lb)<tol_bounds); if ~isempty(params_at_bound) for ii=1:length(params_at_bound) - params_at_bound_name{ii,1}=get_the_name(params_at_bound(ii),0,M_,estim_params_,options_); + params_at_bound_name{ii,1}=get_the_name(params_at_bound(ii),0,M_,estim_params_,options_.varobs); end disp_string=[params_at_bound_name{1,:}]; for ii=2:size(params_at_bound_name,1) diff --git a/matlab/utilities/estimation/set_mcmc_prior_bounds.m b/matlab/utilities/estimation/set_mcmc_prior_bounds.m index a94b7b9c6d..3d8dcffd62 100644 --- a/matlab/utilities/estimation/set_mcmc_prior_bounds.m +++ b/matlab/utilities/estimation/set_mcmc_prior_bounds.m @@ -37,7 +37,7 @@ bounds = prior_bounds(bayestopt_, options_.prior_trunc); outside_bound_pars = find(xparam < bounds.lb | xparam > bounds.ub); if ~isempty(outside_bound_pars) for ii = 1:length(outside_bound_pars) - outside_bound_par_names{ii,1} = get_the_name(ii,0,M_,estim_params_,options_); + outside_bound_par_names{ii,1} = get_the_name(ii,0,M_,estim_params_,options_.varobs); end disp_string = [outside_bound_par_names{1,:}]; for ii = 2:size(outside_bound_par_names,1) diff --git a/matlab/write_latex_prior_table.m b/matlab/write_latex_prior_table.m index df5284cbb0..51a0030756 100644 --- a/matlab/write_latex_prior_table.m +++ b/matlab/write_latex_prior_table.m @@ -112,7 +112,7 @@ fprintf(fidTeX,'\\endlastfoot\n'); % Column 8: the upper bound of the interval containing 90% of the prior mass. PriorIntervals = prior_bounds(BayesOptions,(1-options_.prior_interval)/2) ; for i=1:size(BayesOptions.name,1) - [tmp,TexName] = get_the_name(i, 1, M_, estim_params_, options_); + [tmp,TexName] = get_the_name(i, 1, M_, estim_params_, options_.varobs); PriorShape = PriorNames{ BayesOptions.pshape(i) }; PriorMean = BayesOptions.p1(i); PriorMode = BayesOptions.p5(i); -- GitLab