Le mardi 06 août 2019 à 09:29 -0400, Sébastien Villemot a écrit :
Le mardi 06 août 2019 à 07:38 +0000, Willi Mutschler a écrit :

indeed I want to evaluate all g1, g2, g3, and g4 files one after the other, so what would be the optimized way to do so in terms of temporary terms computation?

I think it is:

T = NaN(sum(M_.dynamic_tmp_nbr(1:5)));
T = feval([M_.fname, '.dynamic_g4_tt'], oo_.dr.ys(l), oo_.exo_steady_state', M_.params, oo_.dr.ys, 1);
g1 = feval([M_.fname, '.dynamic_g1'], T, oo_.dr.ys(l), oo_.exo_steady_state', M_.params, oo_.dr.ys, 1, false);
g2 = feval([M_.fname, '.dynamic_g2'], T, oo_.dr.ys(l), oo_.exo_steady_state', M_.params, oo_.dr.ys, 1, false);
g3 = feval([M_.fname, '.dynamic_g3'], T, oo_.dr.ys(l), oo_.exo_steady_state', M_.params, oo_.dr.ys, 1, false);
g4 = feval([M_.fname, '.dynamic_g4'], T, oo_.dr.ys(l), oo_.exo_steady_state', M_.params, oo_.dr.ys, 1, false);

The first two lines compute the temporary terms up to 4th order. The last four lines computes the matrices that you're interested in. The last argument equal to "false" means that temporary terms should not be recomputed.

I forgot an argument in the 2nd line (call to dynamic_g4_tt). It should rather read:

T = feval([M_.fname, '.dynamic_g4_tt'], T, oo_.dr.ys(l), oo_.exo_steady_state', M_.params, oo_.dr.ys, 1);

-- 
Sébastien Villemot
Economist at CEPREMAP
Dynare developer
http://sebastien.villemot.name