Dynare++ MATLAB simulation helper: fixed commit 92cb073f3a

time-shift
Sébastien Villemot 2011-01-20 15:56:26 -05:00
parent e0261d258c
commit 82a59bec79
1 changed files with 14 additions and 13 deletions

View File

@ -1,10 +1,10 @@
% %
% SYNOPSIS % SYNOPSIS
% %
% [err, r] = dynare_simul(name, shocks) % r = dynare_simul(name, shocks)
% [err, r] = dynare_simul(name, prefix, shocks) % r = dynare_simul(name, prefix, shocks)
% [err, r] = dynare_simul(name, shocks, start) % r = dynare_simul(name, shocks, start)
% [err, r] = dynare_simul(name, prefix, shocks, start) % r = dynare_simul(name, prefix, shocks, start)
% %
% name name of MAT-file produced by dynare++ % name name of MAT-file produced by dynare++
% prefix prefix of variables in the MAT-file % prefix prefix of variables in the MAT-file
@ -43,30 +43,28 @@
% %
% shocks = zeros(4,100); % 4 exogenous variables in the model % shocks = zeros(4,100); % 4 exogenous variables in the model
% shocks(dyn_i_EPS3,:) = -0.1; % the permanent shock to EPS3 % shocks(dyn_i_EPS3,:) = -0.1; % the permanent shock to EPS3
% [err, r] = dynare_simul('your_model.mat',shocks); % r = dynare_simul('your_model.mat',shocks);
% %
% 2. one stochastic simulation for 100 periods % 2. one stochastic simulation for 100 periods
% %
% shocks = zeros(4,100)./0; % put NaNs everywhere % shocks = zeros(4,100)./0; % put NaNs everywhere
% [err, r] = dynare_simul('your_model.mat',shocks); % r = dynare_simul('your_model.mat',shocks);
% %
% 3. one stochastic simulation starting at 75% undercapitalized economy % 3. one stochastic simulation starting at 75% undercapitalized economy
% %
% shocks = zeros(4,100)./0; % put NaNs everywhere % shocks = zeros(4,100)./0; % put NaNs everywhere
% ystart = dyn_ss; % get copy of DR fix point % ystart = dyn_ss; % get copy of DR fix point
% ystart(dyn_i_K) = 0.75*dyn_ss(dyn_i_K); % scale down the capital % ystart(dyn_i_K) = 0.75*dyn_ss(dyn_i_K); % scale down the capital
% [err, r] = dynare_simul('your_model.mat',shocks,ystart); % r = dynare_simul('your_model.mat',shocks,ystart);
% %
% %
% SEE ALSO % SEE ALSO
% %
% "DSGE Models with Dynare++. A Tutorial.", Ondra Kamenik, 2005 % "DSGE Models with Dynare++. A Tutorial.", Ondra Kamenik, 2005
function [err, r] = dynare_simul(varargin) % Copyright (C) 2005-2011, Ondra Kamenik
if nargout ~= 2 || nargin < 12 function r = dynare_simul(varargin)
error('dynare_simul_ must have at least 12 input parameters and exactly 2 output arguments.');
end
% get the file name and load data % get the file name and load data
fname = varargin{1}; fname = varargin{1};
@ -159,7 +157,10 @@ end
seed = ceil(10000*rand(1,1)); seed = ceil(10000*rand(1,1));
% call dynare_simul_ % call dynare_simul_
command = ['r=dynare_simul_(' num2str(order-1) ',nstat,npred,nboth,nforw,' ... command = ['[err,r]=dynare_simul_(' num2str(order-1) ',nstat,npred,nboth,nforw,' ...
'nexog,ystart,shocks,vcov_exo,seed,ss' derstr ');']; 'nexog,ystart,shocks,vcov_exo,seed,ss' derstr ');'];
eval(command); eval(command);
err = 0;
if err
error('Simulation failed')
end