From e5945a45275ea6bc5422c216c5a1052f167423bd Mon Sep 17 00:00:00 2001 From: Johannes Pfeifer Date: Fri, 26 May 2017 09:40:37 +0200 Subject: [PATCH] dynare_estimation_init.m: provide informative error message if ML is run without properly initialized parameters --- matlab/dynare_estimation_init.m | 3 +++ 1 file changed, 3 insertions(+) diff --git a/matlab/dynare_estimation_init.m b/matlab/dynare_estimation_init.m index 5ee9a9fa7..0d3824fd5 100644 --- a/matlab/dynare_estimation_init.m +++ b/matlab/dynare_estimation_init.m @@ -310,6 +310,9 @@ if options_.use_calibration_initialization %set calibration as starting values [xparam1,estim_params_]=do_parameter_initialization(estim_params_,xparam1_calib,xparam1); %get explicitly initialized parameters that have precedence to calibrated values end end +if all(bayestopt_.pshape==0) && any(isnan(xparam1)) + error('ML estimation requires all estimated parameters to be initialized, either in an estimated_params or estimated_params_init-block ') +end if ~isempty(estim_params_) && ~(all(strcmp(fieldnames(estim_params_),'full_calibration_detected')) || (isfield(estim_params_,'nvx') && sum(estim_params_.nvx+estim_params_.nvn+estim_params_.ncx+estim_params_.ncn+estim_params_.np)==0)) if ~isempty(bayestopt_) && any(bayestopt_.pshape > 0)