diff --git a/matlab/dynare_solve.m b/matlab/dynare_solve.m index 9ba3ea3f1fbdfe301d0d308309952926d45d2816..ce48f98748358c6fe9ddd9fd3e72abc064d7656c 100644 --- a/matlab/dynare_solve.m +++ b/matlab/dynare_solve.m @@ -78,6 +78,10 @@ if jacobian_flag wrong_initial_guess_flag = false; if ~all(isfinite(fvec)) || any(isinf(fjac(:))) || any(isnan((fjac(:)))) ... || any(~isreal(fvec)) || any(~isreal(fjac(:))) + if max(abs(fvec)) < tolf %return if initial value solves problem + info = 0; + return; + end disp('Randomize initial guess...') % Let's try random numbers for the variables initialized with the default value. wrong_initial_guess_flag = true;