diff --git a/matlab/+mom/standard_errors.m b/matlab/+mom/standard_errors.m index 8de031a3fce2915618f318b6fc18f0aa2623648a..6bfec1e72dadbdc117c1fec9767b27f0577324a2 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 35621f8ffac54af17c0ce393e9244c02fe3adbe0..1c91c3a1ea192c8aaa04743f423aecab2a08d9d9 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 8db32815fe492f806496ea9c02935e7546a3ffd4..f6881bc840b2081ed7902b1484eb702edd6744ca 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 6a5cec13d0b93f737cd78d674bbebe7168a94a20..d96d6178cacecbe45bbc66c7b369e688bbdeba07 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 a1b3b332e12829d409dc94ca2825dad750f0db6a..14d93cfd67b547ad80b52aeadec68e43d1fd05f7 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 d4c1bad986d4fc6d611f4dd039803c2ccdbd239a..1a88ea5a772e3bcb3386cadb6cc8114b2cfdff9b 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 2af64d33f48f89cb65e69fa9003f27a39a73a103..1d9d23dd82045ab622381794e48b34599d0de98e 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 4f582d3db7242e199b062b86054e5fdc06d76c9e..e3a5e913e7b9b33cd8296024ad1af6e3d45d4549 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 11de078cf9ad9bd26c8b8d04a369e77fbd58e657..a373699a7f8ee96cc5fca7fd54d91df102af4a70 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 1d7e0944315bd893730ca0700eae189cce9ca044..7941e4121ad01d7dcdc33f379a6b59487ad2aee6 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 395544e00a03a8bced09d520c2df7f2bf5f9b6a8..64c46e3294ff9fec7be4206840ed450ec7698e9e 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 cabe148f33ca09a5c7242de72985f02622fef1c7..ec84adef26d7cccb650a56c4485673e9e25c55b8 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 5bd3c3667f3c02cbbdc7ff65a558b3a29d3ccdb2..a1b7604f91f4cf340dbfb54cf3acb4ddc48d9273 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 40dd532879d04acbf7c856b5738a0f6655e81f22..e2eb86cd7722f59c404ae0db51de4112f6988a49 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 53521dac19116f2d6fd1cda28505872c3857c8f5..74135dc74d5971080b37205566bb29e208eecc12 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 f7d0ca8bd64ac052eeff70acb80da2863ec73456..608d5459522a5e8bfd7a3e976c4ae27b0b52aa8c 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 565c16504ce3a59621df6a1aebf967dc51f0a8d3..eb659f68653f879a8a43e64bf0136f634dff4e08 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 b6443ad450db70eabf885f7a0ca13cec6dff04d5..ab05544d60790446b4a558c39125b5b7329b3663 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 8fead19d8fbf3ab14e10fb6a137fdb19f15cc372..0405ff27351ad73b5133ff49ae72269543484872 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 261b6bb9d8d14a53dd108a11dbf0a08cc476ef6f..32680e12a9e994afe6af895065c740f731d9a388 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 97c7914dc1365865d5fd1d3018401f29fdbbc62a..50b7b6a2b3a3ca913d985eab857627510eb31640 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 b8c7a233745ffde577acbfd3ab30b5a407dfc53d..44096e5b2681d02b0c2acc6b81c355937301c977 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 a90485ae568753066749a00dc1e162835f937b9a..d4cf5e1f14e2e29a08dc09e5b21a8e4b54b79740 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 1e91bf6661a26b93d531a8d0c4000729b4c8c9d2..f22870e114082dea210ec9cbce2d45662f0b5f92 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 a94b7b9c6d296981298cc3e733850ce673e8258c..3d8dcffd628dd3307c48068430a22d7a0a3f9e41 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 df5284cbb082efdeef74687e8324876e58507609..51a003075682a63d8e18e3d8645d4913c787be3e 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);