78 lines
3.3 KiB
HTML
78 lines
3.3 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 bicgstab</title>
|
|
<meta name="keywords" content="bicgstab">
|
|
<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> > bicgstab.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>bicgstab
|
|
</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 [x,status]=bicgstab(func,b,x,tole,kmax,varargin) </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)">
|
|
</ul>
|
|
This function is called by:
|
|
<ul style="list-style-image:url(../matlabicon.gif)">
|
|
<li><a href="calib_obj.html" class="code" title="function f=calib_obj(M_.Sigma_e,A,ghu1,ghx,ghu,targets,var_weights,iy,nar)">calib_obj</a> targets and iy order: 1) variances 2) correlations</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 [x,status]=bicgstab(func,b,x,tole,kmax,varargin)</a>
|
|
0002 status = 0;
|
|
0003 r=b-feval(func,x,varargin{:});
|
|
0004 rh_0 = r;
|
|
0005 rh = r;
|
|
0006 rho_0 = 1;
|
|
0007 alpha = 1;
|
|
0008 w = 1;
|
|
0009 v = 0;
|
|
0010 p = 0;
|
|
0011 k = 0;
|
|
0012 rho_1 = rh_0'*r;
|
|
0013 tolr = tole*norm(b);
|
|
0014
|
|
0015 <span class="keyword">while</span> norm(r) > tolr & k < kmax
|
|
0016 k = k+1;
|
|
0017 beta = (rho_1/rho_0)*(alpha/w);
|
|
0018 p = r+beta*(p-w*v);
|
|
0019 v = feval(func,p,varargin{:});
|
|
0020 alpha = rho_1/(rh_0'*v);
|
|
0021 r = r-alpha*v;
|
|
0022 t = feval(func,r,varargin{:});
|
|
0023 w = (t'*r)/(t'*t);
|
|
0024 rho_0 = rho_1;
|
|
0025 rho_1 = -w*(rh_0'*t);
|
|
0026 x = x+alpha*p+w*r;
|
|
0027 r = r-w*t;
|
|
0028 <span class="keyword">end</span>
|
|
0029 <span class="keyword">if</span> k == kmax
|
|
0030 status = 1;
|
|
0031 warning(sprintf(<span class="string">'BICSTABN didn''t converge after %d iterations: norm(r) = %g'</span>,kmax,norm(r)));
|
|
0032 <span class="keyword">end</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> |