From ea1ebfa911f68ee5d3c4c35078f8f329ea06393a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Adjemian=20=28Hermes=29?=
 <stephane.adjemian@univ-lemans.fr>
Date: Mon, 14 Mar 2016 20:24:07 +0100
Subject: [PATCH] Added argument to simul_backward_nonlinear_model.

First input argument is a vector for the initial condition of the
endogenous variables. If empty, the steady state of the model is used.
---
 matlab/simul_backward_nonlinear_model.m | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/matlab/simul_backward_nonlinear_model.m b/matlab/simul_backward_nonlinear_model.m
index 4987a3758b..788320c481 100644
--- a/matlab/simul_backward_nonlinear_model.m
+++ b/matlab/simul_backward_nonlinear_model.m
@@ -1,4 +1,4 @@
-function DynareOutput = simul_backward_nonlinear_model(sample_size, DynareOptions, DynareModel, DynareOutput)
+function DynareOutput = simul_backward_nonlinear_model(initial_conditions, sample_size, DynareOptions, DynareModel, DynareOutput)
 
 %@info:
 %! @deftypefn {Function File} {@var{DynareOutput} =} simul_backward_nonlinear_model (@var{sample_size},@var{DynareOptions}, @var{DynareModel}, @var{DynareOutput})
@@ -97,8 +97,11 @@ y = NaN(length(idx)+ny1,1);
 
 % initialization of the returned simulations.
 DynareOutput.endo_simul = NaN(DynareModel.endo_nbr,sample_size+1);
-DynareOutput.endo_simul(:,1) = DynareOutput.steady_state;
-
+if isempty(initial_conditions)
+    DynareOutput.endo_simul(:,1) = DynareOutput.steady_state;
+else
+    DynareOutput.endo_simul(:,1) = initial_conditions;
+end
 Y = DynareOutput.endo_simul;
 
 % Simulations (call a Newton-like algorithm for each period).
-- 
GitLab