From 77570f40c72c0ab07bc5eba2355759d236680ca2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Adjemian=20=28Gpm=29?= Date: Wed, 17 Feb 2010 16:20:37 +0100 Subject: [PATCH] Added mode options.optimization_routine==0 (no optimization, just read the optimization_path.mat file). --- matlab/simulated_moments_estimation.m | 13 ++++++++++--- matlab/smm_objective.m | 2 +- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/matlab/simulated_moments_estimation.m b/matlab/simulated_moments_estimation.m index 920e3c5f2..4582f3df0 100644 --- a/matlab/simulated_moments_estimation.m +++ b/matlab/simulated_moments_estimation.m @@ -66,9 +66,11 @@ if nargin>3 end if ~master_is_running_a_job error('Master has to run one job!'); - end - estimated_parameters_optimization_path = [NaN;xparam]; - save('optimization_path.mat','estimated_parameters_optimization_path'); + end + if options.optimization_routine>0 + estimated_parameters_optimization_path = [NaN;xparam]; + save('optimization_path.mat','estimated_parameters_optimization_path'); + end disp(' ') disp('Master talks to its slaves...') disp(' ') @@ -183,6 +185,11 @@ elseif options.optimization_routine==2 else [param,fval,exitflag] = fminsearch('smm_objective',xparam,optim_options,sample_moments,weighting_matrix,options,parallel); end +elseif options.optimization_routine==0% Compute the variance of the SMM estimator + load('optimization_path.mat'); + tmp = sortrows(estimated_parameters_optimization_path',1); + param = tmp(1,2:end); +param end diff --git a/matlab/smm_objective.m b/matlab/smm_objective.m index e4875f143..6dc711275 100644 --- a/matlab/smm_objective.m +++ b/matlab/smm_objective.m @@ -147,7 +147,7 @@ end r = transpose(simulated_moments-sample_moments)*weighting_matrix*(simulated_moments-sample_moments); priorObjectiveValue = r; -if exist('optimization_path.mat') +if (options.optimization_routine>0) && exist('optimization_path.mat') load('optimization_path.mat'); new_state = [ r; xparams]; estimated_parameters_optimization_path = [ estimated_parameters_optimization_path , new_state ];