0001 function xparam = get_posterior_parameters(type)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032 global estim_params_ oo_ options_ M_
0033
0034 nvx = estim_params_.nvx;
0035 nvn = estim_params_.nvn;
0036 ncx = estim_params_.ncx;
0037 ncn = estim_params_.ncn;
0038 np = estim_params_.np;
0039
0040 xparam = zeros(nvx+nvn+ncx+ncn+np,1);
0041
0042 m = 1;
0043 for i=1:nvx
0044 k1 = estim_params_.var_exo(i,1);
0045 name1 = deblank(M_.exo_names(k1,:));
0046 xparam(m) = eval(['oo_.posterior_' type '.shocks_std.' name1]);
0047 M_.Sigma_e(k1,k1) = xparam(m)^2;
0048 m = m+1;
0049 end
0050
0051 for i=1:nvn
0052 k1 = estim_params_.var_endo(i,1);
0053 name1 = deblank(options_.varobs(k1,:));
0054 xparam(m) = eval(['oo_.posterior_' type '.measurement_errors_std.' name1]);
0055 m = m+1;
0056 end
0057
0058 for i=1:ncx
0059 k1 = estim_params_.corrx(i,1);
0060 k2 = estim_params_.corrx(i,2);
0061 name1 = deblank(M_.exo_names(k1,:));
0062 name2 = deblank(M_.exo_names(k2,:));
0063 xparam(m) = eval(['oo_.posterior_' type '.shocks_corr.' name1 '_' name2]);
0064 M_.Sigma_e(k1,k2) = xparam(m);
0065 M_.Sigma_e(k2,k1) = xparam(m);
0066 m = m+1;
0067 end
0068
0069 for i=1:ncn
0070 k1 = estim_params_.corrn(i,1);
0071 k2 = estim_params_.corrn(i,2);
0072 name1 = deblank(options_.varobs(k1,:));
0073 name2 = deblank(options_.varobs(k2,:));
0074 xparam(m) = eval(['oo_.posterior_' type '.measurement_errors_corr.' name1 '_' name2]);
0075 m = m+1;
0076 end
0077
0078 FirstDeep = m;
0079
0080 for i=1:np
0081 name1 = deblank(M_.param_names(estim_params_.param_vals(i,1),:));
0082 xparam(m) = eval(['oo_.posterior_' type '.parameters.' name1]);
0083 assignin('base',name1,xparam(m));
0084 m = m+1;
0085 end
0086
0087 if np
0088 M_.params(estim_params_.param_vals(:,1)) = xparam(FirstDeep:end);
0089 end