246 lines
12 KiB
HTML
246 lines
12 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 disp_dr</title>
|
||
|
<meta name="keywords" content="disp_dr">
|
||
|
<meta name="description" content="Copyright (C) 2001 Michel Juillard">
|
||
|
<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> > disp_dr.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>disp_dr
|
||
|
</h1>
|
||
|
|
||
|
<h2><a name="_name"></a>PURPOSE <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
|
||
|
<div class="box"><strong>Copyright (C) 2001 Michel Juillard</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 disp_dr(dr,order,var_list) </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"> Copyright (C) 2001 Michel Juillard</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)">
|
||
|
</ul>
|
||
|
This function is called by:
|
||
|
<ul style="list-style-image:url(../matlabicon.gif)">
|
||
|
<li><a href="olr.html" class="code" title="function olr(var_list,olr_inst,obj_var,W)">olr</a> Copyright (C) 2001 Michel Juillard</li><li><a href="osr.html" class="code" title="function osr(var_list,params,W)">osr</a> Copyright (C) 2001 Michel Juillard</li><li><a href="stoch_simul.html" class="code" title="function info=stoch_simul(var_list)">stoch_simul</a> Copyright (C) 2001 Michel Juillard</li></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 <span class="comment">% Copyright (C) 2001 Michel Juillard</span>
|
||
|
0002 <span class="comment">%</span>
|
||
|
0003 <a name="_sub0" href="#_subfunctions" class="code">function disp_dr(dr,order,var_list)</a>
|
||
|
0004 <span class="keyword">global</span> M_
|
||
|
0005
|
||
|
0006 nx =size(dr.ghx,2);
|
||
|
0007 nu =size(dr.ghu,2);
|
||
|
0008 k = find(dr.kstate(:,2) <= M_.maximum_lag+1);
|
||
|
0009 klag = dr.kstate(k,[1 2]);
|
||
|
0010
|
||
|
0011 k1 = dr.order_var;
|
||
|
0012
|
||
|
0013 nvar = size(var_list,1);
|
||
|
0014 <span class="keyword">if</span> nvar == 0
|
||
|
0015 nvar = length(k1);
|
||
|
0016 ivar = [1:nvar];
|
||
|
0017 <span class="keyword">else</span>
|
||
|
0018 ivar=zeros(nvar,1);
|
||
|
0019 <span class="keyword">for</span> i=1:nvar
|
||
|
0020 i_tmp = strmatch(var_list(i,:),M_.endo_names(k1,:),<span class="string">'exact'</span>);
|
||
|
0021 <span class="keyword">if</span> isempty(i_tmp)
|
||
|
0022 disp(var_list(i,:));
|
||
|
0023 error ([<span class="string">'One of the variable specified does not exist'</span>]) ;
|
||
|
0024 <span class="keyword">else</span>
|
||
|
0025 ivar(i) = i_tmp;
|
||
|
0026 <span class="keyword">end</span>
|
||
|
0027 <span class="keyword">end</span>
|
||
|
0028 <span class="keyword">end</span>
|
||
|
0029 disp(<span class="string">'POLICY AND TRANSITION FUNCTIONS'</span>)
|
||
|
0030 <span class="comment">% variable names</span>
|
||
|
0031 str = <span class="string">' '</span>;
|
||
|
0032 <span class="keyword">for</span> i=1:nvar
|
||
|
0033 str = [str sprintf(<span class="string">'%16s'</span>,M_.endo_names(k1(ivar(i)),:))];
|
||
|
0034 <span class="keyword">end</span>
|
||
|
0035 disp(str);
|
||
|
0036 <span class="comment">%</span>
|
||
|
0037 <span class="comment">% constant</span>
|
||
|
0038 <span class="comment">%</span>
|
||
|
0039 str = <span class="string">'Constant '</span>;
|
||
|
0040 flag = 0;
|
||
|
0041 <span class="keyword">for</span> i=1:nvar
|
||
|
0042 x = dr.ys(k1(ivar(i)));
|
||
|
0043 <span class="keyword">if</span> order > 1
|
||
|
0044 x = x + dr.ghs2(ivar(i))/2;
|
||
|
0045 <span class="keyword">end</span>
|
||
|
0046 <span class="keyword">if</span> abs(x) > 1e-6
|
||
|
0047 flag = 1;
|
||
|
0048 str = [str sprintf(<span class="string">'%16.6f'</span>,x)];
|
||
|
0049 <span class="keyword">else</span>
|
||
|
0050 str = [str <span class="string">' 0'</span>];
|
||
|
0051 <span class="keyword">end</span>
|
||
|
0052 <span class="keyword">end</span>
|
||
|
0053 <span class="keyword">if</span> flag
|
||
|
0054 disp(str)
|
||
|
0055 <span class="keyword">end</span>
|
||
|
0056 <span class="keyword">if</span> order > 1
|
||
|
0057 str = <span class="string">'(correction) '</span>;
|
||
|
0058 flag = 0;
|
||
|
0059 <span class="keyword">for</span> i=1:nvar
|
||
|
0060 x = dr.ghs2(ivar(i))/2;
|
||
|
0061 <span class="keyword">if</span> abs(x) > 1e-6
|
||
|
0062 flag = 1;
|
||
|
0063 str = [str sprintf(<span class="string">'%16.6f'</span>,x)];
|
||
|
0064 <span class="keyword">else</span>
|
||
|
0065 str = [str <span class="string">' 0'</span>];
|
||
|
0066 <span class="keyword">end</span>
|
||
|
0067 <span class="keyword">end</span>
|
||
|
0068 <span class="keyword">if</span> flag
|
||
|
0069 disp(str)
|
||
|
0070 <span class="keyword">end</span>
|
||
|
0071 <span class="keyword">end</span>
|
||
|
0072 <span class="comment">%</span>
|
||
|
0073 <span class="comment">% ghx</span>
|
||
|
0074 <span class="comment">%</span>
|
||
|
0075 <span class="keyword">for</span> k=1:nx
|
||
|
0076 flag = 0;
|
||
|
0077 str1 = sprintf(<span class="string">'%s(%d)'</span>,M_.endo_names(k1(klag(k,1)),:),klag(k,2)-M_.maximum_lag-2);
|
||
|
0078 str = sprintf(<span class="string">'%-20s'</span>,str1);
|
||
|
0079 <span class="keyword">for</span> i=1:nvar
|
||
|
0080 x = dr.ghx(ivar(i),k);
|
||
|
0081 <span class="keyword">if</span> abs(x) > 1e-6
|
||
|
0082 flag = 1;
|
||
|
0083 str = [str sprintf(<span class="string">'%16.6f'</span>,x)];
|
||
|
0084 <span class="keyword">else</span>
|
||
|
0085 str = [str <span class="string">' 0'</span>];
|
||
|
0086 <span class="keyword">end</span>
|
||
|
0087 <span class="keyword">end</span>
|
||
|
0088 <span class="keyword">if</span> flag
|
||
|
0089 disp(str)
|
||
|
0090 <span class="keyword">end</span>
|
||
|
0091 <span class="keyword">end</span>
|
||
|
0092 <span class="comment">%</span>
|
||
|
0093 <span class="comment">% ghu</span>
|
||
|
0094 <span class="comment">%</span>
|
||
|
0095 <span class="keyword">for</span> k=1:nu
|
||
|
0096 flag = 0;
|
||
|
0097 str = sprintf(<span class="string">'%-20s'</span>,M_.exo_names(k,:));
|
||
|
0098 <span class="keyword">for</span> i=1:nvar
|
||
|
0099 x = dr.ghu(ivar(i),k);
|
||
|
0100 <span class="keyword">if</span> abs(x) > 1e-6
|
||
|
0101 flag = 1;
|
||
|
0102 str = [str sprintf(<span class="string">'%16.6f'</span>,x)];
|
||
|
0103 <span class="keyword">else</span>
|
||
|
0104 str = [str <span class="string">' 0'</span>];
|
||
|
0105 <span class="keyword">end</span>
|
||
|
0106 <span class="keyword">end</span>
|
||
|
0107 <span class="keyword">if</span> flag
|
||
|
0108 disp(str)
|
||
|
0109 <span class="keyword">end</span>
|
||
|
0110 <span class="keyword">end</span>
|
||
|
0111
|
||
|
0112 <span class="keyword">if</span> order > 1
|
||
|
0113 <span class="comment">% ghxx</span>
|
||
|
0114 <span class="keyword">for</span> k = 1:nx
|
||
|
0115 <span class="keyword">for</span> j = 1:k
|
||
|
0116 flag = 0;
|
||
|
0117 str1 = sprintf(<span class="string">'%s(%d),%s(%d)'</span>,M_.endo_names(k1(klag(k,1)),:),klag(k,2)-M_.maximum_lag-2, <span class="keyword">...</span>
|
||
|
0118 M_.endo_names(k1(klag(j,1)),:),klag(j,2)-M_.maximum_lag-2);
|
||
|
0119 str = sprintf(<span class="string">'%-20s'</span>,str1);
|
||
|
0120 <span class="keyword">for</span> i=1:nvar
|
||
|
0121 <span class="keyword">if</span> k == j
|
||
|
0122 x = dr.ghxx(ivar(i),(k-1)*nx+j)/2;
|
||
|
0123 <span class="keyword">else</span>
|
||
|
0124 x = dr.ghxx(ivar(i),(k-1)*nx+j);
|
||
|
0125 <span class="keyword">end</span>
|
||
|
0126 <span class="keyword">if</span> abs(x) > 1e-6
|
||
|
0127 flag = 1;
|
||
|
0128 str = [str sprintf(<span class="string">'%16.6f'</span>,x)];
|
||
|
0129 <span class="keyword">else</span>
|
||
|
0130 str = [str <span class="string">' 0'</span>];
|
||
|
0131 <span class="keyword">end</span>
|
||
|
0132 <span class="keyword">end</span>
|
||
|
0133 <span class="keyword">if</span> flag
|
||
|
0134 disp(str)
|
||
|
0135 <span class="keyword">end</span>
|
||
|
0136 <span class="keyword">end</span>
|
||
|
0137 <span class="keyword">end</span>
|
||
|
0138 <span class="comment">%</span>
|
||
|
0139 <span class="comment">% ghuu</span>
|
||
|
0140 <span class="comment">%</span>
|
||
|
0141 <span class="keyword">for</span> k = 1:nu
|
||
|
0142 <span class="keyword">for</span> j = 1:k
|
||
|
0143 flag = 0;
|
||
|
0144 str = sprintf(<span class="string">'%-20s'</span>,[M_.exo_names(k,:) <span class="string">','</span> M_.exo_names(j,:)] );
|
||
|
0145 <span class="keyword">for</span> i=1:nvar
|
||
|
0146 <span class="keyword">if</span> k == j
|
||
|
0147 x = dr.ghuu(ivar(i),(k-1)*nu+j)/2;
|
||
|
0148 <span class="keyword">else</span>
|
||
|
0149 x = dr.ghuu(ivar(i),(k-1)*nu+j);
|
||
|
0150 <span class="keyword">end</span>
|
||
|
0151 <span class="keyword">if</span> abs(x) > 1e-6
|
||
|
0152 flag = 1;
|
||
|
0153 str = [str sprintf(<span class="string">'%16.6f'</span>,x)];
|
||
|
0154 <span class="keyword">else</span>
|
||
|
0155 str = [str <span class="string">' 0'</span>];
|
||
|
0156 <span class="keyword">end</span>
|
||
|
0157 <span class="keyword">end</span>
|
||
|
0158 <span class="keyword">if</span> flag
|
||
|
0159 disp(str)
|
||
|
0160 <span class="keyword">end</span>
|
||
|
0161 <span class="keyword">end</span>
|
||
|
0162 <span class="keyword">end</span>
|
||
|
0163 <span class="comment">%</span>
|
||
|
0164 <span class="comment">% ghxu</span>
|
||
|
0165 <span class="comment">%</span>
|
||
|
0166 <span class="keyword">for</span> k = 1:nx
|
||
|
0167 <span class="keyword">for</span> j = 1:nu
|
||
|
0168 flag = 0;
|
||
|
0169 str1 = sprintf(<span class="string">'%s(%d),%s'</span>,M_.endo_names(k1(klag(k,1)),:),klag(k,2)-M_.maximum_lag-2, <span class="keyword">...</span>
|
||
|
0170 M_.exo_names(j,:));
|
||
|
0171 str = sprintf(<span class="string">'%-20s'</span>,str1);
|
||
|
0172 <span class="keyword">for</span> i=1:nvar
|
||
|
0173 x = dr.ghxu(ivar(i),(k-1)*nu+j);
|
||
|
0174 <span class="keyword">if</span> abs(x) > 1e-6
|
||
|
0175 flag = 1;
|
||
|
0176 str = [str sprintf(<span class="string">'%16.6f'</span>,x)];
|
||
|
0177 <span class="keyword">else</span>
|
||
|
0178 str = [str <span class="string">' 0'</span>];
|
||
|
0179 <span class="keyword">end</span>
|
||
|
0180 <span class="keyword">end</span>
|
||
|
0181 <span class="keyword">if</span> flag
|
||
|
0182 disp(str)
|
||
|
0183 <span class="keyword">end</span>
|
||
|
0184 <span class="keyword">end</span>
|
||
|
0185 <span class="keyword">end</span>
|
||
|
0186 <span class="keyword">end</span>
|
||
|
0187
|
||
|
0188 <span class="comment">% $$$ dr.ghx</span>
|
||
|
0189 <span class="comment">% $$$ dr.ghu</span>
|
||
|
0190 <span class="comment">% $$$ dr.ghxx</span>
|
||
|
0191 <span class="comment">% $$$ dr.ghuu</span>
|
||
|
0192 <span class="comment">% $$$ dr.ghxu</span>
|
||
|
0193
|
||
|
0194 <span class="comment">% 01/08/2001 MJ added test for order in printing quadratic terms</span>
|
||
|
0195 <span class="comment">% 02/21/2001 MJ pass all variable names through deblank()</span>
|
||
|
0196 <span class="comment">% 02/21/2001 MJ changed from f to g format to write numbers</span>
|
||
|
0197 <span class="comment">% 10/09/2002 MJ corrected error on constant whith subset of variables</span>
|
||
|
0198
|
||
|
0199
|
||
|
0200</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>
|