diff --git a/matlab/+occbin/match_function.m b/matlab/+occbin/match_function.m index 959f3c3c2d7ad3fd0104da94a2d546e5b4b90007..ae26236201fa04ca4d6f3ce21b6f129421cb5064 100644 --- a/matlab/+occbin/match_function.m +++ b/matlab/+occbin/match_function.m @@ -37,19 +37,18 @@ options_.occbin.simul=opts_simul; options_.occbin.simul.full_output=1; options_.noprint = 1; [~, out, ss] = occbin.solver(M_,oo_,options_); -state_out= out.piecewise(1,:)' - out.ys; - -E = ss.R(:,opts_simul.exo_pos); -grad = ss.R(opts_simul.varobs_id,opts_simul.exo_pos); nobs = size(obs_list,1); resids = zeros(nobs,1); if ~out.error_flag - % -- add observation block in model ---% - % % put in model file + state_out= out.piecewise(1,:)' - out.ys; + + E = ss.R(:,opts_simul.exo_pos); + grad = ss.R(opts_simul.varobs_id,opts_simul.exo_pos); resids = (out.piecewise(1,opts_simul.varobs_id)-current_obs)'; %-out.endo_ss.(obs_list{this_obs}); else + grad = NaN(length(opts_simul.varobs_id),length(opts_simul.exo_pos)); resids = resids+100; end diff --git a/matlab/+occbin/solver.m b/matlab/+occbin/solver.m index 125f28d909a06e20279d53f9c5614c36ff7af832..ec053af49dd643b1f05c8ee91177f0214a088062 100644 --- a/matlab/+occbin/solver.m +++ b/matlab/+occbin/solver.m @@ -68,7 +68,6 @@ end out.error_flag=error_flag; if error_flag print_info(error_flag, options_.noprint, options_) - out=[]; return; end