From cc9e0ed09af1422ca60178a69d6395bf09894f9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Adjemian=20=28Scylla=29?= Date: Fri, 21 Jul 2017 12:13:44 +0200 Subject: [PATCH] Code factorization. --- matlab/set_parameters.m | 51 ++--------------------------------------- 1 file changed, 2 insertions(+), 49 deletions(-) diff --git a/matlab/set_parameters.m b/matlab/set_parameters.m index 15f4175ed..99be93213 100644 --- a/matlab/set_parameters.m +++ b/matlab/set_parameters.m @@ -31,53 +31,6 @@ function set_parameters(xparam1) % You should have received a copy of the GNU General Public License % along with Dynare. If not, see . -global estim_params_ M_ +global M_ -nvx = estim_params_.nvx; -ncx = estim_params_.ncx; -nvn = estim_params_.nvn; -ncn = estim_params_.ncn; -np = estim_params_.np; -Sigma_e = M_.Sigma_e; -Correlation_matrix = M_.Correlation_matrix; -offset = 0; - -% setting shocks variance on the diagonal of Covariance matrix; used later -% for updating covariances -if nvx - var_exo = estim_params_.var_exo; - for i=1:nvx - k = var_exo(i,1); - Sigma_e(k,k) = xparam1(i)^2; - end -end -% and update offset -offset = offset + nvx + nvn; - -% correlations amonx shocks (ncx) -if ncx - corrx = estim_params_.corrx; - for i=1:ncx - k1 = corrx(i,1); - k2 = corrx(i,2); - Correlation_matrix(k1,k2) = xparam1(i+offset); - Correlation_matrix(k2,k1) = Correlation_matrix(k1,k2); - end -end -%build covariance matrix from correlation matrix and variances already on -%diagonal -Sigma_e = diag(sqrt(diag(Sigma_e)))*Correlation_matrix*diag(sqrt(diag(Sigma_e))); -if isfield(estim_params_,'calibrated_covariances') - Sigma_e(estim_params_.calibrated_covariances.position)=estim_params_.calibrated_covariances.cov_value; -end - -% and update offset -offset = offset + ncx + ncn; - -% structural parameters -if np - M_.params(estim_params_.param_vals(:,1)) = xparam1(offset+1:end); -end - -M_.Sigma_e = Sigma_e; -M_.Correlation_matrix=Correlation_matrix; +M_ = set_parameters_locally(M_, xparam1); \ No newline at end of file