Thanks,
Joe
From the Algorithm section in the ode15s reference page (type >> doc
ode15s):
ode15s is a variable order solver based on the numerical differentiation
formulas (NDFs). Optionally, it uses the backward differentiation formulas
(BDFs, also known as Gear's method) that are usually less efficient. Like
ode113, ode15s is a multistep solver. Try ode15s when ode45 fails, or is
very inefficient, and you suspect that the problem is stiff, or when solving
a differential-algebraic problem. [9], [10]
where:
[9] Shampine, L. F. and M. W. Reichelt, "The MATLAB ODE Suite," SIAM
Journal on Scientific Computing, Vol. 18, 1997, pp 1-22.
[10] Shampine, L. F., M. W. Reichelt, and J.A. Kierzenka, "Solving Index-1
DAEs in MATLAB and Simulink," SIAM Review, Vol. 41, 1999, pp 538-552.
Penny Anderson
The MathWorks, Inc.
the solver is based on the "backward differentiation" formulae
of order 1 to 5 and is suited for stiff ode's without highly oscillatory
solutions. the basic idea is
given the current point (t(i),y(i)) and back values , think you had
(t(i+1),y(i+1)). now interpolate values (t(j),y(j)), j=i+1,i,...,i-k+1
by a polynomial of degree k (componentwise if y is a vector), differentiate
this polynomial, evaluate the result at t=t(i+1) and equate the result with
f(t(i+1),y(i+1)). you get an equation (system if y is a vector) for y(i+1), which
will be nonlinear if f is nonlinear with respect to y. solve the equation
(for example by the simplified Newton's method). proceed in t.
plus some tricks how to select the "best" k, how to organize computations
cheaply, how to choose the time-steps (estimating the local error). first
basic version described in gear's book "numerical initial value problems
in ordinary differetial equations" (prentice hall 1970)
hth
peter