DMUG-Archiv 2008

Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

Re[2]: Methode in NDSolve: wie Parameter setzen ?

Hallo Jens Peer und Frank,

und welche Mathematica Version soll das sein ?
Sowohl Mathematica 5.2 als auch Mathematica 6.0.3
kennen *kein* BDF und schon gar keine Gear-Methode

das ist Mathematica 6.0.3, die Hilfe zu NDSolve sagt

Possible explicit settings for the Method option include:
<snip>
"BDF"         implicit backward differentiation formulas
                with orders 1 through 5
<snip>

und dann tippt man mit Absicht was falsches:

In[23]:= NDSolve[{(x'[t] == y[t],
y'[t] == -x[t] + 1000 (1 - x[t]^2) y[t],
x[0] == 2,y[0] == 0}, {x, y}, {t, 2000},
Method -> {"BDF", "MaxDifferenceOrder" -> 6}]

During evaluation of
In[23]:= NDSolve::mdo: The value of "MaxDifferenceOrder" -> 6
should be an integer from 1 through 5 for the method NDSolve`BDF. >>
During evaluation of
In[23]:= NDSolve::initf: The initialization of the method NDSolve`BDF failed. >>
Out[23]=
{{x->InterpolatingFunction[{{0.,0.}},<>],
y->InterpolatingFunction[{{0.,0.}},<>]}}

Bingo - die Hilfe hat recht - und es geht etwa

NDSolve[{(x'[t] == y[t],
y'[t] == -x[t] + 1000 (1-x[t]^2) y[t],
x[0] == 2, y[0] == 0}, {x, y},{t, 2000},
Method -> {"BDF", "MaxDifferenceOrder" -> 5}]

bei "MaxDifferenceOrder" -> 1 reicht die Schrittzahl nicht aus,
bei "MaxDIfferenceOrder" -> 2 wird das Ende des t-Intervalls nicht erreicht,
3,4,5 sind möglich ohne besondere Vorkommnisse.

Gruss
Udo.


Verweise:
Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

DMUG DMUG-Archiv, http://www.mathematica.ch/archiv.html