Re: NDSolve Percision
- To: mathgroup at smc.vnet.net
- Subject: [mg85493] Re: NDSolve Percision
- From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
- Date: Wed, 13 Feb 2008 04:02:15 -0500 (EST)
- Organization: Uni Leipzig
- References: <fopbtt$c4m$1@smc.vnet.net>
- Reply-to: kuska at informatik.uni-leipzig.de
Hi,
have you used Method -> {"SymplecticPartitionedRungeKutta"}
?? to avoid that ?
An non-symplectic method *must* loss the energy of the system,
this has nothing to do with the Precision, this has to do
with the fact that a normal numerical method for
initial value problems is designed to reduce the local
error and not to preserve a global quantity like the
energy.
Regards
Jens
Alex Cloninger 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.
>