MathGroup Archive 2008

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: NDSolve Percision

  • To: mathgroup at
  • Subject: [mg85531] Re: NDSolve Percision
  • From: danl at
  • Date: Wed, 13 Feb 2008 04:22:00 -0500 (EST)
  • References: <fopbtt$c4m$>

On Feb 11, 5:35 am, Alex Cloninger <aclonin... at> wrote:
> So I'm running a program that is trying to use NDSolve and parametrically plot the results.  The result is periodic, so it should cycle back on itself with a period of 2Pi.  It does that, but if I run from {t,0,20Pi} is starts to miss the initial point by more and more.  Basically, it's spiraling outward at a slow but unwanted rate.  This will be a problem for when I increase the difficulty of the function.
> How do I increase the precision of NDSolve to make it keep more decimals and make the answer more accurate?
> The function is
> solution = NDSolve[{x'[t] == 2p[t], x[0] == 2,
> p'[t] == -2x[t],p[0] == N[Sqrt[-3], 50]}, {x, p}, {t,0,20Pi}]
> If you could help me out, I'd really appreciate it.  Thanks.

Might want to consider a DAE or other conserved-quantity approach. One
might be simplectic Ringe-Kutta. Documentation in the Help Browser is
located under tutorial/NDSolveSPRK. Under subsection "Symplectic
method" I see an example quite similar to yours.

I suspect a projection approach might also be applicable. See tutorial/
NDSolveProjection. There, too, I see a harmonic oscillator example.

Daniel Lichtblau
Wolfram Research

  • Prev by Date: Re: NDSolve Percision
  • Next by Date: Re: Re: open URL programmatically?
  • Previous by thread: Re: NDSolve Percision
  • Next by thread: Fitting experimental data