[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
## Re: ODE 45

**From**: |
Richard Crozier |

**Subject**: |
Re: ODE 45 |

**Date**: |
Thu, 15 Sep 2011 06:57:16 -0700 (PDT) |

eps is the smallest difference between numbers that can be represented on
your computer due to only having a certain number of bits available to
represent them. type 'help eps' for a bit more info.
Actually I was wrong in what I was saying before, actually what you would do
is
>*> eps(2e-20)*
ans =
3.0093e-036
Which means there are several orders of magnitude available smaller than the
initial step to the next larger or smaller number (I think!).
I would follow Jordi's advice and try a stiff solver, this is what I meant
by trying ode2r which is such a solver in odepkg (the equivalent in Matlab
might be ode15s or ode23s). The syntax is identical, just replace ode45 with
ode2r. Alternatively you can try lsode as he suggests, although the syntax
is slightly different I believe.
There are also other solvers you can try, see the odepkg documentation for
details. The solvers starting with 'ode' (including ode45) are from this
package, and are not core octave functions, whereas lsode is a core octave
function.
Finally, does calling the solution function directly work in Octave? e.g.
does
nonlinearrateequations(y0)
definately give sensible results?
--
View this message in context:
http://octave.1599824.n4.nabble.com/ODE-45-tp3808422p3815648.html
Sent from the Octave - General mailing list archive at Nabble.com.