Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ode15s algorithm information

813 views
Skip to first unread message

Joe Little

unread,
Jan 24, 2005, 2:31:41 PM1/24/05
to
Hi I've been looking online for more information about the algorithm
that the Ode15s solver uses in MatLab 6 and haven't been able to find
anything. Anyone with info about the algorithm or more information,
beyond that in the tutorial, on how the solver works please reply or
email.

Thanks,

Joe

Penny Anderson

unread,
Jan 24, 2005, 2:43:30 PM1/24/05
to
"Joe Little" <JoeL...@REMOVETHISPLEASEgmail.com> wrote in message
news:eef98...@webx.raydaftYaTP...

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.


Peter Spellucci

unread,
Jan 25, 2005, 6:24:06 AM1/25/05
to

In article <eef98...@webx.raydaftYaTP>,

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

Grzegorz Knor

unread,
Sep 20, 2011, 10:44:30 AM9/20/11
to
Gear Method for Solving Differential Equations of Gear Systems:
http://iopscience.iop.org/1742-6596/48/1/026/pdf/1742-6596_48_1_026.pdf
0 new messages