105 lines
6.1 KiB
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 © 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> > osr1.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>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,:) > 0
|
||
|
0017 error (<span class="string">'OLR: Error in model specification: some variables don"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 > 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))) > 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> © 2003</address>
|
||
|
</body>
|
||
|
</html>
|