SA Solves a system of equations by successive approximation
SA solves a system of equations by iterating on the evaluations of the
equations: x[i] = x[i-1]+dx[i-1] until norm(f(x[i]))<=TolFun+RelTolFun*norm(f(x)),
where dx = lambda*f(x).
To enhance convergence SA uses a backtracking line search that divides dx by 2
until norm(f(x+dx)) decreases with respect to norm(f(x)) or until MaxSteps
iterations have been done.
X = SA(F,X0) tries to solve the system of equations F(X)=0 and
start at the vector X0. F accepts a vector X and return a vector
of equation values F evaluated at X. SA returns the vector X the
root of F.
X = SA(F,X0,OPTIONS) solves the problem using the options defined
in the structure OPTIONS. Fields can be
Display : 1 to display results of each iteration, 0 (default) if not
lambda : adjustment parameter (default: 1)
MaxIter : maximum number of iterations (default: 1000)
MaxSteps : maximum number of backstepping iterations (default: 3)
RelTolFun : relative convergence tolerance (default: sqrt(eps))
TolFun : absolute convergence tolerance (default: sqrt(eps))
X = SA(F,X0,OPTIONS,VARARGIN) provides additional arguments for
F, which, in this case, takes the following form: F(X,VARARGIN).
[X,FVAL] = SA(F,X0,...) returns the value of the equations F at X.
[X,FVAL,EXITFLAG] = SA(F,X0,...) returns EXITFLAG that describes
the exit conditions. Possible values listed below.
1 : SA converged to a root
0 : Failure to converge because of too many iterations or equations not
defined at starting point