119 lines
4.8 KiB
HTML
119 lines
4.8 KiB
HTML
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||
|
"http://www.w3.org/TR/REC-html40/loose.dtd">
|
||
|
<html>
|
||
|
<head>
|
||
|
<title>Description of forcst</title>
|
||
|
<meta name="keywords" content="forcst">
|
||
|
<meta name="description" content="">
|
||
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||
|
<meta name="generator" content="m2html © 2003 Guillaume Flandin">
|
||
|
<meta name="robots" content="index, follow">
|
||
|
<link type="text/css" rel="stylesheet" href="../m2html.css">
|
||
|
</head>
|
||
|
<body>
|
||
|
<a name="_top"></a>
|
||
|
<div><a href="../index.html">Home</a> > <a href="index.html">.</a> > forcst.m</div>
|
||
|
|
||
|
<!--<table width="100%"><tr><td align="left"><a href="../index.html"><img alt="<" border="0" src="../left.png"> Master index</a></td>
|
||
|
<td align="right"><a href="index.html">Index for . <img alt=">" border="0" src="../right.png"></a></td></tr></table>-->
|
||
|
|
||
|
<h1>forcst
|
||
|
</h1>
|
||
|
|
||
|
<h2><a name="_name"></a>PURPOSE <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
|
||
|
<div class="box"><strong></strong></div>
|
||
|
|
||
|
<h2><a name="_synopsis"></a>SYNOPSIS <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
|
||
|
<div class="box"><strong>function [yf,var_yf]=forcst(dr,y0,k,m) </strong></div>
|
||
|
|
||
|
<h2><a name="_description"></a>DESCRIPTION <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
|
||
|
<div class="fragment"><pre class="comment"></pre></div>
|
||
|
|
||
|
<!-- crossreference -->
|
||
|
<h2><a name="_cross"></a>CROSS-REFERENCE INFORMATION <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
|
||
|
This function calls:
|
||
|
<ul style="list-style-image:url(../matlabicon.gif)">
|
||
|
<li><a href="make_ex_.html" class="code" title="function make_ex_">make_ex_</a> Copyright (C) 2001 Michel Juillard</li><li><a href="simult_.html" class="code" title="function y_=simult_(y0,dr,ex_,iorder)">simult_</a> Copyright (C) 2001 Michel Juillard</li></ul>
|
||
|
This function is called by:
|
||
|
<ul style="list-style-image:url(../matlabicon.gif)">
|
||
|
</ul>
|
||
|
<!-- crossreference -->
|
||
|
|
||
|
|
||
|
<h2><a name="_source"></a>SOURCE CODE <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
|
||
|
<div class="fragment"><pre>0001 <a name="_sub0" href="#_subfunctions" class="code">function [yf,var_yf]=forcst(dr,y0,k,m)</a>
|
||
|
0002 <span class="keyword">global</span> M_ oo_ options_
|
||
|
0003
|
||
|
0004 options_.periods = k;
|
||
|
0005 <a href="make_ex_.html" class="code" title="function make_ex_">make_ex_</a>;
|
||
|
0006 yf = <a href="simult_.html" class="code" title="function y_=simult_(y0,dr,ex_,iorder)">simult_</a>(y0,dr,oo_.exo_simul(1:k,:),1);
|
||
|
0007
|
||
|
0008 nstatic = dr.nstatic;
|
||
|
0009 npred = dr.npred;
|
||
|
0010 j = find(kstate(dr.kae,2) <= ykmin_+1);
|
||
|
0011 kae = dr.kae(j);
|
||
|
0012 nh = size(dr.ghx,2);
|
||
|
0013 hx = dr.ghx(nstatic+1:nstatic+npred,:);
|
||
|
0014 hu = dr.ghu(nstatic+1:nstatic+npred,:);
|
||
|
0015 <span class="keyword">if</span> ~isempty(kae)
|
||
|
0016 n = length(kae);
|
||
|
0017 tmp = sparse([1:n]',kae-sum(dr.kstate(:,2)>M_.maximum_lag+1),ones(n,1),n,nh);
|
||
|
0018 hx = [hx; tmp];
|
||
|
0019 hu = [hu; zeros(n,M_.exo_nbr)];
|
||
|
0020 <span class="keyword">end</span>
|
||
|
0021 gx = [];
|
||
|
0022 k2 = [];
|
||
|
0023 <span class="keyword">if</span> nstatic > 0
|
||
|
0024 gx = dr.ghx(1:nstatic,:);
|
||
|
0025 k2 = [1:nstatic]';
|
||
|
0026 <span class="keyword">end</span>
|
||
|
0027 <span class="keyword">if</span> size(dr.ghx,1) > nstatic+npred
|
||
|
0028 gx = [gx; dr.ghx(nstatic+npred+1:<span class="keyword">end</span>,:)];
|
||
|
0029 k2 = [k2; [nstatic+npred+1:size(dr.ghx,1)]'];
|
||
|
0030 <span class="keyword">end</span>
|
||
|
0031
|
||
|
0032 k1 = dr.order_var([nstatic+1:nstatic+npred]);
|
||
|
0033 k2 = dr.order_var(k2);
|
||
|
0034
|
||
|
0035 sigma_u = hu*M_.Sigma_e*hu';
|
||
|
0036 sigma_y1 = 0;
|
||
|
0037 var_yf = zeros(k,M_.endo_nbr);
|
||
|
0038
|
||
|
0039
|
||
|
0040 <span class="keyword">if</span> isempty(k2)
|
||
|
0041 <span class="keyword">for</span> i=1:k
|
||
|
0042 sigma_y1 = sigma_y1+sigma_u;
|
||
|
0043 var_yf(i,k1) = diag(sigma_y1(1:npred,1:npred))';
|
||
|
0044 <span class="keyword">if</span> i == k
|
||
|
0045 <span class="keyword">break</span>
|
||
|
0046 <span class="keyword">end</span>
|
||
|
0047 sigma_u = hx*sigma_u*hx';
|
||
|
0048 <span class="keyword">end</span>
|
||
|
0049 <span class="keyword">else</span>
|
||
|
0050 <span class="keyword">for</span> i=1:k
|
||
|
0051 sigma_y1 = sigma_y1+sigma_u;
|
||
|
0052 var_yf(i,k1) = diag(sigma_y1(1:npred,1:npred))';
|
||
|
0053 sigma_y2 = gx*sigma_y1*gx';
|
||
|
0054 var_yf(i,k2) = diag(sigma_y2)';
|
||
|
0055 <span class="keyword">if</span> i == k
|
||
|
0056 <span class="keyword">break</span>
|
||
|
0057 <span class="keyword">end</span>
|
||
|
0058 sigma_u = hx*sigma_u*hx';
|
||
|
0059 <span class="keyword">end</span>
|
||
|
0060 <span class="keyword">end</span>
|
||
|
0061
|
||
|
0062
|
||
|
0063
|
||
|
0064
|
||
|
0065
|
||
|
0066
|
||
|
0067
|
||
|
0068
|
||
|
0069
|
||
|
0070
|
||
|
0071
|
||
|
0072
|
||
|
0073</pre></div>
|
||
|
<hr><address>Generated on Fri 16-Jun-2006 09:09:06 by <strong><a href="http://www.artefact.tk/software/matlab/m2html/">m2html</a></strong> © 2003</address>
|
||
|
</body>
|
||
|
</html>
|