Home > . > simul.m

simul

PURPOSE ^

Copyright (C) 2001 Michel Juillard

SYNOPSIS ^

function simul(dr)

DESCRIPTION ^

 Copyright (C) 2001 Michel Juillard

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 % Copyright (C) 2001 Michel Juillard
0002 %
0003 function simul(dr)
0004 
0005 global M_ options_ oo_ 
0006 global ys0_ ct_ endval_ 
0007 
0008 if size(M_.lead_lag_incidence,2)-nnz(M_.lead_lag_incidence(M_.maximum_lag+1,:)) > 0
0009   mess = ['DYNARE: error in model specification : variable ' M_.endo_names(find(M_.lead_lag_incidence(M_.maximum_lag+1,:)==0),:)] ;
0010   mess = [mess ' doesn''t appear as current variable.'] ; 
0011   error (mess) ;
0012 end
0013 
0014 options_ = set_default_option(options_,'simul_algo',0);
0015 options_ = set_default_option(options_,'dynatol',0.00001);
0016 options_ = set_default_option(options_,'maxit',10);
0017 options_ = set_default_option(options_,'slowc',1);
0018 options_ = set_default_option(options_,'timing',0);
0019 options_ = set_default_option(options_,'gstep',1e-2);
0020 options_ = set_default_option(options_,'scalv',1);
0021 if ~isfield(options_,'periods') & ~isempty(options_.periods)
0022   options_.periods = options_.periods
0023 end
0024 options_ = set_default_option(options_,'periods',0);
0025 if options_.periods == 0
0026   error('SIMUL: number of periods for the simulation isn''t specified')
0027 end
0028 options_.periods = options_.periods;
0029 ct_=0;
0030 
0031 if options_.simul_algo == 0
0032   if ~ options_.initval_file
0033     make_y_;
0034     make_ex_;
0035   end
0036 
0037   if isempty(options_.scalv) | options_.scalv == 0
0038     options_.scalv = oo_.steady_state ;
0039   end
0040 
0041   options_.scalv= 1 ;
0042 
0043   if M_.maximum_lag ==1 & M_.maximum_lead <= 1
0044     sim1 ;
0045   else
0046     simk ;
0047   end
0048 else
0049   set_default_option('replic',1);
0050   set_default_option('simul_seed',1);
0051   if isfield(dr,'ghxx')
0052     set_default_option('order',2);
0053   else
0054     set_defaut_option('order',1);
0055   end
0056   oo_.y_simul=simult(oo_.steady_state,dr,options_);
0057 end
0058 
0059 dyn2vec;
0060 
0061 % 6/18/01 MJ added dyn2vec if 40 variables or less
0062 % 01/16/03 MJ use dyn2vec whatever the number of variables
0063 % 02/18/03 MJ added oo_.steady_state for calling simult
0064 % 05/24/03 MJ added options_ and options_.periods
0065 
0066 
0067 
0068 
0069 
0070 
0071 
0072 
0073

Generated on Fri 16-Jun-2006 09:09:06 by m2html © 2003