Re: NDSolve
- To: mathgroup at smc.vnet.net
- Subject: [mg125259] Re: NDSolve
- From: Cos Lol <giaexams at gmail.com>
- Date: Fri, 2 Mar 2012 07:51:30 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <jinjgp$d0k$1@smc.vnet.net>
On 1 =CC=E1=F1, 12:37, rf248 <rf... at st-andrews.ac.uk> wrote:
> Hello,
> I am trying to solve an initial value problem with NDSolve. However, the initial values are set on a regular singular point. When solving Bessel's differential equation, one can avoid this problem with the option SolveDelayed ->True.
> This however does not help with the following problem (hydrogen atom) to which the analytic solution is a Laguerre polynomial.
>
> l = 0; n = 1; a = 1; eps = -1/(2 n^2);
> func = r D[r R[r], {r, 2}] + (2 (a r + eps r^2) - l (l + 1)) R[r] == 0;
> nrad = NDSolve[{func, R[0] == 2, R'[0] == -2}, R[r], {r, 0, 100},
> SolveDelayed -> True]
>
> Above, the initial values chosen correspond to an exact solution for constants l, n, a and eps. Mathematica must therefor be able to find a solution.
>
> Thanks!
it's a mathematical problem
the func becomes r*(...) so if you drop the r assuming r is not equal
to 0, mathematica then solves the DE
otherwise if you want the formula to stand for any values-expressions,
use isntead of 0 a number e=$MachineEpsilon i.e.
l = 0; n = 1; a = 1; eps = -1/(2 n^2); e=$MachineEpsilon;
func = r D[r R[r], {r, 2}] + (2 (a r + eps r^2) - l (l + 1)) R[r] =
0;
nrad = NDSolve[{func, R[e] == 2, R'[e] == -2}, R[r], {r, e, 100},
SolveDelayed -> True]