From 14576662213f68f55842eb9b86a9c4b423ce63eb Mon Sep 17 00:00:00 2001 From: Johannes Pfeifer Date: Mon, 16 Nov 2015 11:11:58 +0100 Subject: [PATCH] Only accept steady state when fsolve retuns with normal return code 1 Otherwise, termination due to tolerance criteria will be accepted as correct steady state --- matlab/dynare_solve.m | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/matlab/dynare_solve.m b/matlab/dynare_solve.m index c48ea368e..f00b8eea9 100644 --- a/matlab/dynare_solve.m +++ b/matlab/dynare_solve.m @@ -113,8 +113,16 @@ if options.solve_algo == 0 end; end - if exitval > 0 + if exitval == 1 info = 0; + elseif exitval > 1 + M=evalin('base','M_'); %get variable names from workspace + resid = evaluate_static_model(x,varargin{:},M,options); + if max(abs(resid)) > 1e-6 + info = 1; + else + info = 0; + end else info = 1; end