[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: lsode -- a do-it-all DGL solver?
From: |
Matthias Brennwald |
Subject: |
Re: lsode -- a do-it-all DGL solver? |
Date: |
Sun, 12 Aug 2007 16:14:56 +0200 |
Ok, but: why do the odeXY solvers exist in Octave, then? Just for
Matlab compatibility? Aren't they faster for specific problems?
Matthias
On 10.08.2007, at 19:41, Thomas Treichl wrote:
Matthias Brennwald schrieb:
Dear all
I'm not very much at home with the numerical theory behind solving
differential equations. Therefore my question: how do I decide
which DGL solver I should use? I have the impression that 'lsode'
seems to be a very advanced solver that is suitabe for most (all?)
kinds of DGLs. Is this correct? Also, how is it different from
other solvers like ode23 or ode45 (available in Matlab and Octave
forge)? What are the (dis)advantages of the different solvers?
Short summary:
lsode() is extremely fast and therefore much faster then the
solvers from octave-forge. lsode() is long term used and so very
stable and also fits perfectly into Octave. You set options with
the lsode_options() command in the background and don't need to
pass options to the solver. The problem must be of the form
x'=problem(x,t). Like John already told us you can solve non-stiff
and stiff problems.
odeXX() are slower in general - the core-solvers are long-term
used but the interfaces to Octave are very young and therefore the
one or other problem might appear. Some solvers can solve non-stiff
problems others can solve non-stiff and stiff problems. Options are
set in a Matlab compatible way with opt=odeset(). opt must be
passed to the solver as the 4th argument then. The problem must of
the form x'=problem(t,x).
Thomas
-------
Matthias Brennwald
Lägernstrasse 6
CH 8037 Zürich
+41 (0)44 364 17 03
address@hidden