From a6648b59ed0126e2cc44f4b3ad7164663d4f249e Mon Sep 17 00:00:00 2001
From: Michel Juillard <michel.juillard@mjui.fr>
Date: Thu, 21 Jun 2012 16:19:47 +0200
Subject: [PATCH] function evaluater_steady_state_file returns full size steady
 state vector (including auxiliary variables) even in case of error flag in
 evaluating steady state

---
 matlab/evaluate_steady_state_file.m | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/matlab/evaluate_steady_state_file.m b/matlab/evaluate_steady_state_file.m
index 8a218e7432..e97689c8bc 100644
--- a/matlab/evaluate_steady_state_file.m
+++ b/matlab/evaluate_steady_state_file.m
@@ -61,15 +61,18 @@ function [ys,params,info] = evaluate_steady_state_file(ys_init,exo_ss,M,options)
     
     updated_params_flag = max(abs(params1-params)) > 1e-12 || ~isequal(isnan(params1),isnan(params)); %checks whether numbers or NaN changed
 
+    h_set_auxiliary_variables = str2func([M.fname '_set_auxiliary_variables']);
     if  isnan(updated_params_flag) || (updated_params_flag  && any(isnan(params(~isnan(params))-params1(~isnan(params))))) %checks if new NaNs were added
         info(1) = 24;
         info(2) = NaN;
+        ys = h_set_auxiliary_variables(ys,exo_ss,params);
         return
     end
 
     if updated_params_flag && ~isreal(params1)
         info(1) = 23;
         info(2) = sum(imag(params).^2);
+        ys = h_set_auxiliary_variables(ys,exo_ss,params);
         return
     end
     
@@ -79,7 +82,6 @@ function [ys,params,info] = evaluate_steady_state_file(ys_init,exo_ss,M,options)
 
     % adding values for auxiliary variables
     if length(M.aux_vars) > 0 && ~options.ramsey_policy
-        h_set_auxiliary_variables = str2func([M.fname '_set_auxiliary_variables']);
         ys = h_set_auxiliary_variables(ys,exo_ss,params);
     end
 
-- 
GitLab