Frühere | Chronologischer Index | Spätere | ||
Vorherige | Thematischer Index | Nächste |
Hallo Frank,On Sat, 06 Feb 2010 15:34:38 +0100, Frank Breitling <fbreitling@<snip>> wrote:
Leider ist mein eigentliches Problem etwas komplizierter: D[r^2k0 T[r]^(5/2)T'[r], r] == 3/2kB T'[r]-(kB T[r])/n[r]n'[r] Hier suche ich eine Lösung für T[r] wobei kB, k0, T[r1] und T[r2] Konstanten sind und n[r] als "InterpolatingFunction" (streng monoton fallend gegen 0 für r gegen unendlich) gegeben ist.
Gut, beim etwas komplizierteren Problem lässt sich auch etwas rechnen, wenn man
(i) die Konstanten exakt nimmt (hier alle auf 1, da nicht angeben) (ii) Cauchy-Bedingungen verwendet (iii) die WorkingPrecision hochfährtdiese drei Tipps wurden bei ähnlicher Gelegenheit von Daniel Lichtblau gegeben. Weiterhin
(iv) muss man aus der Null herausgehen, Bedingungen bei r = 0 liefern nur Fehler, den Grund dafür habe ich bis anhin nicht ermittelt. Ihr n'[r]/n[r] wurde mangels Angabe durch Exp[-r] ersetzt, also
In[2]:= s = With[{k0 = 1, kB = 1}, NDSolve[{k0 r T[r]^(3/2) Derivative[1][T][ r] (2 T[r] + 5/2 Derivative[1][T][r]) + k0 r^2 T[r]^(5/2) Derivative[2][T][r] == -kB Exp[-r] T[r] + 3/2 kB Derivative[1][T][r], T[2] == 10, Derivative[1][T][2] == 0}, T, {r, 2, 3}, WorkingPrecision -> 62] ] Out[2]= {{T -> InterpolatingFunction[{{2.`62, 3.`62}}, <>]}} und In[3]:= Plot[Evaluate[T[r] /. s], {r, 2, 3}, PlotRange -> All]gibt das Bildchen im Anhang. Durch Experimentieren können Sie die Cauchy-Bedingungen mglw. derart einstellen, dass der richtige Randwert am Intervallende erreicht wird.
Gruss Udo.
breitling.jpeg
Description: JPEG image
Frühere | Chronologischer Index | Spätere | ||
Vorherige | Thematischer Index | Nächste |
DMUG-Archiv, http://www.mathematica.ch/archiv.html