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
%
% [err, r] = dynare_simul(name, shocks)
% [err, r] = dynare_simul(name, prefix, shocks)
% [err, r] = dynare_simul(name, shocks, start)
% [err, r] = dynare_simul(name, prefix, shocks, start)
% r = dynare_simul(name, shocks)
% r = dynare_simul(name, prefix, shocks)
% r = dynare_simul(name, shocks, start)
% r = dynare_simul(name, prefix, shocks, start)
%
% name name of MAT-file produced by dynare++
% prefix prefix of variables in the MAT-file
@ -43,30 +43,28 @@
%
% shocks = zeros(4,100); % 4 exogenous variables in the model
% 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
%
% 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
%
% shocks = zeros(4,100)./0; % put NaNs everywhere
% ystart = dyn_ss; % get copy of DR fix point
% 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
%
% "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
error('dynare_simul_ must have at least 12 input parameters and exactly 2 output arguments.');
end
function r = dynare_simul(varargin)
% get the file name and load data
fname = varargin{1};
@ -159,7 +157,10 @@ end
seed = ceil(10000*rand(1,1));
% 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 ');'];
eval(command);
err = 0;
if err
error('Simulation failed')
end