dynare/matlab/doc/disp_dr.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 &copy; 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> &gt; <a href="index.html">.</a> &gt; disp_dr.m</div>
<!--<table width="100%"><tr><td align="left"><a href="../index.html"><img alt="<" border="0" src="../left.png">&nbsp;Master index</a></td>
<td align="right"><a href="index.html">Index for .&nbsp;<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) &lt;= 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 &gt; 1
0044 x = x + dr.ghs2(ivar(i))/2;
0045 <span class="keyword">end</span>
0046 <span class="keyword">if</span> abs(x) &gt; 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 &gt; 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) &gt; 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) &gt; 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) &gt; 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 &gt; 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) &gt; 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) &gt; 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) &gt; 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> &copy; 2003</address>
</body>
</html>