dynare/matlab/doc/osr1.html

105 lines
6.1 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 osr1</title>
<meta name="keywords" content="osr1">
<meta name="description" content="">
<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; osr1.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>osr1
</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 oo_.dr=osr1(params,weights) </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="check.html" class="code" title="function result = check">check</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="osr_obj.html" class="code" title="function [z,vx]=osr_obj(x,params,weights);">osr_obj</a> the beginning and the end of this function may be adapted by the userx</li><li><a href="resol.html" class="code" title="function [dr,info]=resol(ys,check_flag)">resol</a> Copyright (C) 2001 Michel Juillard</li></ul>
This function is called by:
<ul style="list-style-image:url(../matlabicon.gif)">
<li><a href="osr.html" class="code" title="function osr(var_list,params,W)">osr</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 <a name="_sub0" href="#_subfunctions" class="code">function oo_.dr=osr1(params,weights)</a>
0002 <span class="keyword">global</span> M_ oo_ options_ it_
0003
0004 xlen = M_.maximum_lead + M_.maximum_lag + 1;
0005 klen = M_.maximum_lag + M_.maximum_lead + 1;
0006 iyv = M_.lead_lag_incidence';
0007 iyv = iyv(:);
0008 iyr0 = find(iyv) ;
0009 it_ = M_.maximum_lag + 1 ;
0010
0011
0012 <span class="keyword">if</span> M_.exo_nbr == 0
0013 oo_.exo_steady_state = [] ;
0014 <span class="keyword">end</span>
0015
0016 <span class="keyword">if</span> ~ M_.lead_lag_incidence(M_.maximum_lag+1,:) &gt; 0
0017 error (<span class="string">'OLR: Error in model specification: some variables don&quot;t appear as current'</span>) ;
0018 <span class="keyword">end</span>
0019
0020 <span class="keyword">if</span> M_.maximum_lead == 0
0021 error (<span class="string">'Backward or static model: no point in using OLR'</span>) ;
0022 <span class="keyword">end</span>
0023
0024 <span class="keyword">if</span> xlen &gt; 1
0025 error ([<span class="string">'OLR: stochastic exogenous variables must appear only at the'</span> <span class="keyword">...</span>
0026 <span class="string">' current period. Use additional endogenous variables'</span>]) ;
0027 <span class="keyword">end</span>
0028
0029 <span class="comment">% check if ys is steady state</span>
0030 fh = str2func([M_.fname <span class="string">'_static'</span>]);
0031 <span class="keyword">if</span> max(abs(feval(fh,oo_.steady_state))) &gt; options_.dynatol
0032 [oo_.dr.ys, <a href="check.html" class="code" title="function result = check">check</a>] = <a href="dynare_solve.html" class="code" title="function [x,cheik] = dynare_solve(func,x,jacobian_flag,varargin)">dynare_solve</a>([M_.fname <span class="string">'_static'</span>],oo_.steady_state);
0033 <span class="keyword">if</span> <a href="check.html" class="code" title="function result = check">check</a>
0034 error(<span class="string">'OLR: convergence problem in DYNARE_SOLVE'</span>)
0035 <span class="keyword">end</span>
0036 <span class="keyword">else</span>
0037 oo_.dr.ys = oo_.steady_state;
0038 <span class="keyword">end</span>
0039
0040
0041 np = size(params,1);
0042 t0 = zeros(np,1);
0043 <span class="keyword">for</span> i=1:np
0044 t0(i)=evalin(<span class="string">'base'</span>,[params(i,:) <span class="string">';'</span>]);
0045 <span class="keyword">end</span>
0046
0047 [p,f]=fminsearch(@<a href="osr_obj.html" class="code" title="function [z,vx]=osr_obj(x,params,weights);">osr_obj</a>,t0,[],params,weights);
0048
0049 disp(<span class="string">''</span>)
0050 disp(<span class="string">'OPTIMAL VALUE OF THE PARAMETERS:'</span>)
0051 disp(<span class="string">''</span>)
0052 <span class="keyword">for</span> i=1:np
0053 disp(sprintf(<span class="string">'%16s %16.6g\n'</span>,params(i,:),p(i)))
0054 <span class="keyword">end</span>
0055 disp(sprintf(<span class="string">'Objective function : %16.6g\n'</span>,f));
0056 disp(<span class="string">' '</span>)
0057 oo_.dr=<a href="resol.html" class="code" title="function [dr,info]=resol(ys,check_flag)">resol</a>(oo_.steady_state,options_.dr_algo,options_.linear,options_.order);
0058
0059 <span class="comment">% 05/10/03 MJ modified to work with osr.m and give full report</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> &copy; 2003</address>
</body>
</html>