DMUG-Archiv 2002

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

Re: NDSolve für singuläre DGL

Hallo Jens

besten Dank für die Information, dann muss ich das halt einmal machen. Ein C Programm für solche Probleme habe ich schon einmal gemacht. Mathematica wäre einfach viel flexibler und wenn's mit dem NDSolve direkt machbar gewesen wäre, so hätte ich mir das sparen können.

Gruss, Simon.

Am Donnerstag den, 1. August 2002, um 10:32, schrieb Jens-Peer Kuska:

Hallo,

nein NDSolve[] kann das nicht. Daf"ur gibt es extra Verfahren die
aber recht speziell sind. man kann versuchen mit einem Potenzreihenansatz
von r=0 weg zugkommen und dann NSDolve zu nehmen.

Gruss
  Jens

----- Original Message -----
From: "Simon Stingelin" <simon.stingelin@XXXXXXX.ch>
To: <kuska@XXXXXXX.de>
Sent: Thursday, August 01, 2002 12:40 AM
Subject: Re: NDSolve für singuläre DGL


Hallo

zu a) klar, doch das Laplace Problem das dahinter ist nicht.

b) ok. das geht bei diesem einfachen Beispiel. Es sollte als Modell
dienen.

Mir geht es um die Frage kann man solche singuläre Probleme mit NDSolve
irgendiwe lösen?

Gruss Simon.

Am Mittwoch den, 31. Juli 2002, um 18:20, schrieb Jens-Peer Kuska:

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








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

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