Re: Defining a variable from an error message (NDSolve::ndsz)

*To*: mathgroup at smc.vnet.net*Subject*: [mg122291] Re: Defining a variable from an error message (NDSolve::ndsz)*From*: Oliver Ruebenkoenig <ruebenko at wolfram.com>*Date*: Sun, 23 Oct 2011 06:26:22 -0400 (EDT)*Delivered-to*: l-mathgroup@mail-archive0.wolfram.com*References*: <201110221010.GAA29885@smc.vnet.net>

On Sat, 22 Oct 2011, Jonathan Frazer wrote: > Hi Everyone, > > Using the example from the NDSolve::ndsz section in the documentation centre, evaluating > > NDSolve[{(2 - f[x]) f'[x] == f[x], f[0] == 1}, f, {x, 0, 5}] > > gives the error message > > "NDSolve:ndsz : At x == 0.38629402687577696`, step size is effectively zero; singularity or stiff system suspected". > > What I would like to do is be able to automatically define a variable xdanger = 0.38629402687577696 so that I can use it in a subsequent part of the code. > > Does anyone have a suggestion for how I might do this? > > Many thanks, > > Jonny > > > P.S. In similar problems I usually can make use of Check one way or another but in this case I want to be able to use the variable xdanger to make an inequality. For this reason, I don't think Check is applicable. > -- Jonny, you could extract the value from the interpolating function, like so: if = First@(f /. NDSolve[{(2 - f[x]) f'[x] == f[x], f[0] == 1}, f, {x, 0, 5}]) Last[if["Grid"]] Hope this helps, Oliver

**References**:**Defining a variable from an error message (NDSolve::ndsz)***From:*Jonathan Frazer <J.Frazer@sussex.ac.uk>