Hallo,
a) das Problem ist nicht "angeblich singul"ar", sondern es ist
singul"ar
b) singul"are Probleme regularisiert man mit einem Ansatz
u[r]->r^lambda*phi[r]
In diesem Fall sieht man leicht, das man erstmal eine Gleichung ersten
Grades daraus machen kann mit
deqn = u''[r] + (n - 1)u'[r]/r == f[r];
deqn1 = deqn /. {u'[r] -> phi[r], u''[r] -> phi'[r]};
u[r] erh"alt man dann durch simple Quadratur.
((-1 + n)*phi[r])/r + phi'[r] == f[r]
Mit dem regularisierten Ansatz
phi[r] -> psi[r]*r^(-n + 1))
erh"alt man die Gleichung
r^(1 - n)*psi'[r] == f[r]
psi[r]->Integrate[r1^(n-1)*f[r1],{r1,0,r}]
und folglich
phi[r]->Integrate[(r1/r)^(n-1)*f[r1],{r1,0,r}]
b.z.w
u[r]->Integrate[Integrate[(r2/r1)^(n-1)*f[r2],{r2,0,r1}],{r1,0,r}]
Leider braucht man daf"ur *kein* NDSolve[].
c) Auch wenn man ein Runge-Kutta selber progammieren w"urde
(was es schon mehrfach gibt) w"urde das nicht helfen, da
ein Runge-Kutta-Verfahren eine Potenzreihe mit nichtnegativen
Exponenten ansetzt. Diese *kann* aber eine Singularit"at
nicht behandeln, da ein Ansatz u[r]=Sum[a[i]*r^i,{i,0,p}]
keine L"osung Sum[b[i]*r^i,{i,-q,p}] q,p>0 approximieren kann.
d) es gibt zwar Anfangswertl"oser die auf rationalen Approximationen
beruhen aber die sind so gut wie nicht erforscht.
Gruss
Jens
Simon Stingelin wrote:
>
> Hallo zusammen,
>
> ich will das folgende Anfangswertproblem numerisch lösen:
>
> u'' + (n-1)/r u' = f(r)
>
> mit u'(0) = 0 und u(0) = k.
>
> Mit dem NDSolve habe ich immer das Problem, dass das Problem angeblich
> singulär sei.
>
> (\!\(Power::"infy" \(\(:\)\(\ \)\) "Infinite expression \!\(1\/0.`\)
> encountered."\))
>
> Doch mit meinen Anfangsbedingungen ist das kein Problem.
>
> Hat mir jemand ein Tipp, wie man (ohne dass man selber ein RungeKutta
> programmiert) solche Probleme mit dem NDSolve lösen kann?
>
> Besten Dank und Grüsse
>
> Simon Stingelin.
>
> ---
> mail: simon.stingelin@XXXXXXX.ch
> web: http://www.diax.ch/users/stingelin