Make empirical moments independent of simul_replic by outputting first instead of later replication

Closes #1487
time-shift
Johannes Pfeifer 2017-08-29 11:06:46 +02:00 committed by Stéphane Adjemian (Scylla)
parent 0f84dadb9a
commit f0b9f453e9
2 changed files with 13 additions and 2 deletions

View File

@ -1,4 +1,4 @@
function [y_,DynareResults] =simult(y0, dr,DynareModel,DynareOptions,DynareResults)
function [y_out,DynareResults] =simult(y0, dr,DynareModel,DynareOptions,DynareResults)
% Simulate a DSGE model (perturbation approach).
%@info:
@ -25,7 +25,7 @@ function [y_,DynareResults] =simult(y0, dr,DynareModel,DynareOptions,DynareResul
%! @strong{Outputs}
%! @sp 1
%! @table @ @var
%! @item y_
%! @item y_out
%! Matrix of doubles, simulated time series for all the endogenous variables (one per row).
%! @item DynareResults
%! Matlab's structure gathering the results (see @ref{oo_}).
@ -88,6 +88,9 @@ for i=1:replic
if replic > 1
fwrite(fh,y_,'float64');
end
if i==1
y_out=y_;
end
end
if replic > 1

View File

@ -41,3 +41,11 @@ var u = 0.009^2;
end;
stoch_simul(periods=2000, drop=200);
%% test that simul_replic does not affect simulated moments
moments_temp=oo_.var;
set_dynare_seed('default');
stoch_simul(periods=2000, drop=200,simul_replic=2);
if ~isequal(moments_temp,oo_.var)
error('Simul_replic affects simulated moments')
end