114 lines
6.5 KiB
HTML
114 lines
6.5 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 resol1</title>
|
||
|
<meta name="keywords" content="resol1">
|
||
|
<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> > resol1.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>resol1
|
||
|
</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 dr=resol1(ys,algo,linear,iorder) </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)">
|
||
|
<li><a href="dr11.html" class="code" title="function dr=dr11(iorder,dr,cheik)">dr11</a> Copyright (C) 2001 Michel Juillard</li><li><a href="dynare_solve.html" class="code" title="function [x,cheik] = dynare_solve(func,x,jacobian_flag,varargin)">dynare_solve</a> Copyright (C) 2001 Michel Juillard</li><li><a href="resid.html" class="code" title="function resid(period)">resid</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 <span class="comment">% Copyright (C) 2001 Michel Juillard</span>
|
||
|
0002 <span class="comment">%</span>
|
||
|
0003 <a name="_sub0" href="#_subfunctions" class="code">function dr=resol1(ys,algo,linear,iorder)</a>
|
||
|
0004
|
||
|
0005 <span class="keyword">global</span> M_ options_ oo_ bayestopt_
|
||
|
0006 <span class="keyword">global</span> it_ means_ stderrs_ dr1_test_
|
||
|
0007
|
||
|
0008 dr1_test_ = zeros(2,1);
|
||
|
0009
|
||
|
0010 <span class="keyword">if</span> linear == 1
|
||
|
0011 iorder =1;
|
||
|
0012 <span class="keyword">end</span>
|
||
|
0013
|
||
|
0014 xlen = M_.maximum_lead + M_.maximum_lag + 1;
|
||
|
0015 klen = M_.maximum_lag + M_.maximum_lead + 1;
|
||
|
0016 iyv = M_.lead_lag_incidence';
|
||
|
0017 iyv = iyv(:);
|
||
|
0018 iyr0 = find(iyv) ;
|
||
|
0019 it_ = M_.maximum_lag + 1 ;
|
||
|
0020
|
||
|
0021 <span class="keyword">if</span> M_.exo_nbr == 0
|
||
|
0022 oo_.exo_steady_state = [] ;
|
||
|
0023 <span class="keyword">end</span>
|
||
|
0024
|
||
|
0025 <span class="keyword">if</span> ~ M_.lead_lag_incidence(M_.maximum_lag+1,:) > 0
|
||
|
0026 error (<span class="string">'RESOL: Error in model specification: some variables don"t appear as current'</span>) ;
|
||
|
0027 <span class="keyword">end</span>
|
||
|
0028
|
||
|
0029 <span class="comment">%if xlen > 1</span>
|
||
|
0030 <span class="comment">% error (['RESOL: stochastic exogenous variables must appear only at the' ...</span>
|
||
|
0031 <span class="comment">% ' current period. Use additional endogenous variables']) ;</span>
|
||
|
0032 <span class="comment">%end</span>
|
||
|
0033
|
||
|
0034 <span class="comment">% check if ys is steady state</span>
|
||
|
0035 tempex = oo_.exo_simul;
|
||
|
0036 oo_.exo_simul = repmat(transpose(oo_.exo_steady_state), M_.maximum_lag + <span class="keyword">...</span>
|
||
|
0037 M_.maximum_lead+1,1);
|
||
|
0038 fh = str2func([M_.fname <span class="string">'_static'</span>]);
|
||
|
0039 <span class="keyword">if</span> max(abs(feval(fh,ys,oo_.exo_simul))) > options_.dynatol
|
||
|
0040 <span class="comment">% dirty trick to call either user function or dynare_solve</span>
|
||
|
0041 [dr.ys, cheik] = feval(bayestopt_.static_solve,[M_.fname <span class="string">'_static'</span>],ys,oo_.exo_simul);
|
||
|
0042 <span class="keyword">if</span> cheik
|
||
|
0043 dr1_test_(1) = 1; <span class="comment">% dynare_solve did not converge to the steady state.</span>
|
||
|
0044 <a href="resid.html" class="code" title="function resid(period)">resid</a> = feval([M_.fname <span class="string">'_static'</span>],dr.ys,oo_.exo_simul);
|
||
|
0045 dr1_test_(2) = <a href="resid.html" class="code" title="function resid(period)">resid</a>'*<a href="resid.html" class="code" title="function resid(period)">resid</a>; <span class="comment">% penalty...</span>
|
||
|
0046 disp(<span class="string">'dynare_solve is unable to find the steady state.'</span>)
|
||
|
0047 <span class="keyword">return</span>
|
||
|
0048 <span class="keyword">end</span>
|
||
|
0049 <span class="keyword">else</span>
|
||
|
0050 dr.ys = ys;
|
||
|
0051 <span class="keyword">end</span>
|
||
|
0052
|
||
|
0053 dr.fbias = zeros(M_.endo_nbr,1);
|
||
|
0054 dr = <a href="dr11.html" class="code" title="function dr=dr11(iorder,dr,cheik)">dr11</a>(iorder,dr,0);
|
||
|
0055
|
||
|
0056 <span class="keyword">if</span> algo == 1 & iorder > 1
|
||
|
0057 dr.ys = <a href="dynare_solve.html" class="code" title="function [x,cheik] = dynare_solve(func,x,jacobian_flag,varargin)">dynare_solve</a>(<span class="string">'dr2'</span>,ys,dr);
|
||
|
0058 dr.fbias = 2*feval([M_.fname <span class="string">'_static'</span>],dr.ys,oo_.exo_simul);
|
||
|
0059 dr = <a href="dr11.html" class="code" title="function dr=dr11(iorder,dr,cheik)">dr11</a>(iorder,dr,0);
|
||
|
0060 <span class="keyword">end</span>
|
||
|
0061 oo_.exo_simul = tempex;
|
||
|
0062 tempex = [];
|
||
|
0063
|
||
|
0064 <span class="comment">% 01/01/2003 MJ added dr_algo == 1</span>
|
||
|
0065 <span class="comment">% 08/24/2001 MJ uses Schmitt-Grohe and Uribe (2001) constant correction</span>
|
||
|
0066 <span class="comment">% in dr.ghs2</span>
|
||
|
0067 <span class="comment">% 05/26/2003 MJ added temporary values for oo_.exo_simul</span>
|
||
|
0068 <span class="comment">% 01/22/2005 SA check --> cheik (to avoid confusion with the function check.m)</span></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>
|