Guten Morgen Jens,
plotten Sie nicht einfach den Realteil, sondern integrieren Sie.
Aus der Tatsache, dass Mma mit Ihrer Eingabe
With[{wh = 12, wp = 12, whu = 1680}
Plot[Integrate[f[wh, whu, wp, wpu, w], {w, 0, Infinity}], {wpu, 1675, 1685}]]
eine Grafik erzeugt hat, die Ihrer Intention nahekommt, schliessen Sie, dass
Mma das bestimmte Integral berechnen kann. Sie wissen, dass Plot[] automatisch
fuer wpu Stuetzstellen waehlt, um einen wirklichkeitsnahen Kurvenverlauf abzubilden.
Bei jeder Stuetzstelle erzwingen Sie eine weitere Integration, das ist ein efficiency leak.
In der Formel ist (Together[Ihres Ausdrucks])
f[wh, whu, wp, wpu, w] :=
4 wh wp/(Pi^2 (4 w^2 + wh^2 - 8 w whu + 4 whu^2)
(4 w^2 + wp^2 - 8 w wpu + 4 wpu^2))
Berechnet man das Integral fuer wh > 0 und wp > 0 mittels
Simplify[(Limit[Integrate[f[wh, whu, wp, wpu, w], w], w -> DirectedInfinity[1]] -
Limit[Integrate[f[wh, whu, wp, wpu, w], w], w -> 0]) //. {Sign[wh] -> 1,
Sign[wp] -> 1}]
dann kann man dessen Ergebnis als die Funktion bredenF definieren:
bredenF[wh_, whu_, wp_, wpu_] := (Pi wh^3 +
4 Pi wh whu^2 - Pi wh^2 wp +
4 Pi whu^2 wp - Pi wh wp^2 + Pi wp^3 -
8 Pi wh whu wpu - 8 Pi whu wp wpu +
4 Pi wh wpu^2 + 4 Pi wp wpu^2 +
2 wp (-wh^2 + 4 whu^2 + wp^2 - 8 whu wpu +
4 wpu^2) ArcTan[2 whu/wh] +
2 wh (wh^2 + 4 whu^2 - wp^2 - 8 whu wpu +
4 wpu^2) ArcTan[2 wpu/wp] +
4 wh whu wp Log[wh^2 + 4 whu^2] -
4 wh wp wpu Log[wh^2 + 4 whu^2] -
4 wh whu wp Log[wp^2 + 4 wpu^2] +
4 wh wp wpu Log[wp^2 + 4 wpu^2])/(Pi^2 (wh^2 +
4 whu^2 - 2 wh wp + wp^2 - 8 whu wpu +
4 wpu^2) (wh^2 + 4 whu^2 + 2 wh wp + wp^2 -
8 whu wpu + 4 wpu^2))
und damit ein glattes Bildchen erzeugen:
With[{wh = 12, wp = 12, whu = 1680},
Plot[{Integrate[f[wh, whu, wp, wpu, w], {w, 0, Infinity}],
bredenF[wh, whu, wp, wpu]}, {wpu, 1675, 1685},
PlotStyle -> {RGBColor[1, 0, 0], RGBColor[0, 0, 1]}]]
Das Bildchen ist im Anhang und enthaelt zum Vergleich in Rot
die urspruengliche numerische Schlachteplatte.
bredenF hat den Nenner
Pi^2 (wh^2 + 4 whu^2 - 2 wh wp + wp^2 - 8 whu wpu + 4 wpu^2)
(wh^2 + 4 whu^2 + 2 wh wp + wp^2 - 8 whu wpu + 4 wpu^2)
Kann dieser Nenner Null werden? Wenn etwa wh = wp = wx ist, dann
gibt es eine doppelte Nullstelle bei wpu = whu (!!) und
die Nullstellen wpu = whu +/- Sqrt[-wx^2].
Aber Sie haben Glück, die beiden Ausdruecke
Limit[Limit[bredenF[wh, whu, wp, wpu], whu -> wpu], wh -> wp]
und
Limit[Limit[bredenF[wh, whu, wp, wpu], wh -> wp], whu -> wpu]
sind beide für wp >0 und wpu >0 endlich und stimmen ueberein.
Letzlich ist zu kontrollieren, dass bredenF fuer wh -> wp und
whu -> wpu keinen endlichen Sprung macht, erst wenn das der Fall ist,
haben Sie Ihr glattes Bildchen wirklich in der Tasche.
Gruss
Udo.
> ich möchte Integral über das Produkt zweier Lorentzlinien als Funktion
> der Verschiebung einer dieser Linien berechnen (siehe *.nb im Anhang).
> Statt einer glatten Funktion erhalte ich starke Schwankungen um den
> Funktionsverlauf, den ich mir eigentlich vorgestellt hatte. Was geht
> hier schief? Wie geht es richtig?