Home > . > make_ex_.m

make_ex_

PURPOSE ^

Copyright (C) 2001 Michel Juillard

SYNOPSIS ^

function make_ex_

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 make_ex_
0004   global M_ options_ oo_ ex0_ ex_det0_
0005   
0006   options_ = set_default_option(options_,'periods',0);
0007   
0008   if isempty(oo_.exo_steady_state)
0009     oo_.exo_steady_state = zeros(M_.exo_nbr,1);
0010   end
0011   if M_.exo_det_nbr > 1 & isempty(oo_.exo_det_steady_state)
0012     oo_.exo_det_steady_state = zeros(M_.exo_det_nbr,1);
0013   end
0014   if isempty(oo_.exo_simul)
0015     if isempty(ex0_)
0016       oo_.exo_simul = [ones(M_.maximum_lag+options_.periods+M_.maximum_lead,1)*oo_.exo_steady_state'];
0017     else
0018       oo_.exo_simul = [ones(M_.maximum_lag,1)*ex0_';ones(options_.periods+M_.maximum_lead,1)*oo_.exo_steady_state'];
0019     end
0020   elseif size(oo_.exo_simul,2) < length(oo_.exo_steady_state)
0021     k = size(oo_.exo_simul,2)+1:length(oo_.exo_steady_state);
0022     if isempty(ex0_)
0023       oo_.exo_simul = [oo_.exo_simul ones(M_.maximum_lag+size(oo_.exo_simul,1)+M_.maximum_lead,1)*oo_.exo_steady_state(k)'];
0024     else
0025       oo_.exo_simul = [oo_.exo_simul [ones(M_.maximum_lag,1)*ex0_(k)'; ones(size(oo_.exo_simul,1)-M_.maximum_lag+M_.maximum_lead, ...
0026                         1)*oo_.exo_steady_state(k)']];
0027     end
0028   elseif size(oo_.exo_simul,1) < M_.maximum_lag+M_.maximum_lead+options_.periods
0029     if isempty(ex0_)
0030       oo_.exo_simul = [oo_.exo_simul; ones(M_.maximum_lag+options_.periods+M_.maximum_lead-size(oo_.exo_simul,1),1)*oo_.exo_steady_state'];
0031     else
0032       oo_.exo_simul = [ones(M_.maximum_lag,1)*ex0_'; oo_.exo_simul; ones(options_.periods+M_.maximum_lead-size(oo_.exo_simul, ...
0033                           1),1)*oo_.exo_steady_state'];
0034     end
0035   end
0036   if M_.exo_det_nbr > 0
0037     if isempty(oo_.exo_det_simul)
0038       if isempty(ex_det0_)
0039     oo_.exo_det_simul = [ones(M_.maximum_lag+options_.periods+M_.maximum_lead,1)*oo_.exo_det_steady_state'];
0040       else
0041     oo_.exo_det_simul = [ones(M_.maximum_lag,1)*ex_det0_';ones(options_.periods+M_.maximum_lead,1)*oo_.exo_det_steady_state'];
0042       end
0043     elseif size(oo_.exo_det_simul,2) < length(oo_.exo_det_steady_state)
0044       k = size(oo_.exo_det_simul,2)+1:length(oo_.exo_det_steady_state);
0045       if isempty(ex_det0_)
0046     oo_.exo_det_simul = [oo_.exo_det_simul ones(M_.maximum_lag+size(oo_.exo_det_simul,1)+M_.maximum_lead,1)*oo_.exo_det_steady_state(k)'];
0047       else
0048     oo_.exo_det_simul = [oo_.exo_det_simul [ones(M_.maximum_lag,1)*ex_det0_(k)'; ones(size(oo_.exo_det_simul,1)-M_.maximum_lag+M_.maximum_lead, ...
0049                           1)*oo_.exo_det_steady_state(k)']];
0050       end
0051     elseif size(oo_.exo_det_simul,1) < M_.maximum_lag+M_.maximum_lead+options_.periods
0052       if isempty(ex_det0_)
0053     oo_.exo_det_simul = [oo_.exo_det_simul; ones(M_.maximum_lag+options_.periods+M_.maximum_lead-size(oo_.exo_det_simul,1),1)*oo_.exo_det_steady_state'];
0054       else
0055     oo_.exo_det_simul = [ones(M_.maximum_lag,1)*ex_det0_'; oo_.exo_det_simul; ones(options_.periods+M_.maximum_lead-size(oo_.exo_det_simul, ...
0056                           1),1)*oo_.exo_det_steady_state'];
0057       end
0058     end
0059   end
0060     
0061

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