DMUG-Archiv 2011

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

Re: NIntegrate mit einer compelierten Funktion

Hallo Peter,

das Integral als gewöhnliche Differentialgleichung formuliert und lösen lassen: Mit dem Ansatz Method -> Lagrange wurde eine Lösung ausgegeben, aber die hat gewisse Schwächen, wenn man die Lösung numerisch mit den Ergebnissen vergleicht, die man mit NIntegrate nach M erhält:

Welche Schwächen waren das?

Frage: Wie geht das Integrieren es richtig schnell?

Welchen Wertebereich haben die Parameter? Es sollte H >= M sein wg. der
Wurzel im Nenner des Erf[]. Weiter wegen Erf[-x] = -Erf[x] und
Erf[x0, x1] := Erf[x1] - Erf[x0] kann man die gar nicht mal
so hässliche Formel noch in Schönschrift notieren:

In[16]:= Erf[(2 x - b)/Sqrt[2/a^2 (H/M - 1)], (2 x + b)/Sqrt[
  2/a^2 (H/M - 1)]] Erf[(2 x - l)/Sqrt[2/a^2 (H/M - 1)], (2 x + l)/
   Sqrt[2/a^2 (H/M - 1)]]/(4 ( Exp[-2 M^2 (H/M - 1)] - 1))

das sind noch 2 verallgemeinerte Erf[]'s und ein Nenner mit Singularitäten.

Das Integriegen geht schnell, wenn man die vielen Argumente auf einen Bereich eingrenzen kann, in dem die Funktion weder fast Null noch fast Unendlich ist. Der quadratisch-lineare Exponentialterm im Nenner 4 (E^(2 M (M-H))-1) erzeugt Singularitäten bei M = 0 und bei M = H (zwei weitere liegen im Nichtreellen),
somit 0 < M < H.

Das Integrieren geht weiterhin schnell, wenn man mit einem nichtlinearen Fit die Lösungsmannigfaltigkeit an einen Ausdruck in den verbleibenden Variablen anpasst. Wenn das Integral über M benötigt wird, setzt man einfach die aktuellen
a, x, b, y, l und H in die Formel ein. Um dies tun zu können, muss man aber
dem Fitter einen brauchbaren Ansatz vorschlagen.

Mit einer Simulation (4 Parameter werden festgesetzt, 2 variieren, dann Wechsel der
fixen Parameter) kann man versuchen, auf einen Ansatz zu kommen.

Gruss
Udo.



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

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