diff --git a/matlab/solve_one_boundary.m b/matlab/solve_one_boundary.m index af9b6559254036cb66925e1816dbea40a5c4549e..f4009b077f29dc95fa67dbd523a632b8a17d74ba 100644 --- a/matlab/solve_one_boundary.m +++ b/matlab/solve_one_boundary.m @@ -92,9 +92,10 @@ for it_=start:incr:finish g1=spalloc( Blck_size, Blck_size, nze); while ~(cvg==1 || iter>maxit_) if is_dynamic - [r, ~, T(:, it_), g1] = feval(fname, Block_Num, dynvars_from_endo_simul(y, it_, M), x, params, steady_state, T(:, it_), it_, false); + [r, yy, T(:, it_), g1] = feval(fname, Block_Num, dynvars_from_endo_simul(y, it_, M), x, params, steady_state, T(:, it_), it_, false); + y(:, it_) = yy(M.lead_lag_incidence(M.maximum_endo_lag+1,:)); else - [r, ~, T, g1] = feval(fname, Block_Num, y, x, params, T); + [r, y, T, g1] = feval(fname, Block_Num, y, x, params, T); end if ~isreal(r) max_res=(-(max(max(abs(r))))^2)^0.5; diff --git a/matlab/solve_two_boundaries.m b/matlab/solve_two_boundaries.m index d1c595f6b6e21d6f117d51dbd9db144fdf7e9995..25524a0173fcc4a9a92d9893f8e864de965ca733 100644 --- a/matlab/solve_two_boundaries.m +++ b/matlab/solve_two_boundaries.m @@ -83,7 +83,8 @@ while ~(cvg==1 || iter>maxit_) r = NaN(Blck_size, periods); g1a = spalloc(Blck_size*periods, Blck_size*periods, nze*periods); for it_ = y_kmin+(1:periods) - [r(:, it_-y_kmin), ~, T(:, it_), g1]=feval(fname, Block_Num, dynvars_from_endo_simul(y, it_, M), x, params, steady_state, T(:, it_), it_, false); + [r(:, it_-y_kmin), yy, T(:, it_), g1]=feval(fname, Block_Num, dynvars_from_endo_simul(y, it_, M), x, params, steady_state, T(:, it_), it_, false); + y(:, it_) = yy(M.lead_lag_incidence(M.maximum_endo_lag+1,:)); if periods == 1 g1a = g1(:, Blck_size+(1:Blck_size)); elseif it_ == y_kmin+1 diff --git a/preprocessor b/preprocessor index e4687bb97616a19432e1b46565b6b6065276b657..4560639eb4035448cc8adc4535a1957fa82924ab 160000 --- a/preprocessor +++ b/preprocessor @@ -1 +1 @@ -Subproject commit e4687bb97616a19432e1b46565b6b6065276b657 +Subproject commit 4560639eb4035448cc8adc4535a1957fa82924ab