|
> Ich versuche folgendes Integral zu berechnen (Mathematica 3.0.0) > > <<Algebra`ReIm` > x /: Im[x]=0 > w /: Im[w]=0 > Positive[w] ^= True > pwt = -((m*(w*Sin[\[Phi]] + 2*k*x*Sin[\[Phi] - \[Psi]]))/(E^((2*x^2)/w^2)*w)) > i1=Integrate[pwt,{x,-Infinity,0}] > > Alle Variablen sind reell, und w ist immer positiv. Trotzdem erhalte ich > folgendes Ergebnis: > > 1) Fehlermeldung (Integral ... does not converge) > > 2) Das Ergebnis faengt mit "If[ w^2 > 0, ..., ...]" an. > Aber ich habe doch extra gesagt, dass w>0 sein soll! > > Ist vielleicht das Package "ReIm" nicht mehr kompatibel zur Version 3? > Oder wie kann ich sonst dieses "If" loswerden? Das Paket ReIm.m ist in der Tat veraltet. Für die Vereinfachung von Ausdrücken mit rellen Variablen gibt es die Funktion ComplexExpand, für die Angabe von Annahmen über freie Parameter in Integralen die Option Assumptions. Aber auch damit gibt is in Version 3.0.0 noch einige Probleme. Ihr Integral läßt sich lösen, in dem ausmultipliziert und dann Term für integriert wird: In[1]:= pwt = -((m*(w*Sin[\[Phi]] + 2*k*x*Sin[\[Phi] - \[Psi]]))/(E^((2*x^2)/w^2)*w)); In[2]:= Integrate[ExpandAll[pwt],{x,-Infinity,0},Assumptions->{w>0}] -(w (m Sqrt[2 Pi] Sin[\[Phi]] - 2 k m Sin[\[Phi] - \[Psi]])) Out[2]= ------------------------------------------------------------ 4 (Es sind keine Assumptions für die Integrationsvariable x notwendig, und w>0 impliziert ja schon, daß w reell ist.) Ich danke Michael Trott von Wolfram Research, der mich auf den Expand- Trick hingewiesen hat, der bei komplizierten Integralen Wunder wirken kann. In Version 3.0.1 wird das Integral ohne solche Kunstgriffe lösbar sein. Über die Verfügbarkeit und Upgrades auf 3.0.1 informiert Sie Ihr Händler. Auch die anderen Integrale, die Sie in Ihrer zweiten Mail erwähnt haben (die ich nicht an die DMUG-Liste weitergeleitet habe), lassen sich so lösen: In[5]:= i3 = Integrate[Expand[(a x + b) Exp[-x^2/w^2]],{x,-Infinity,0}] 2 2 2 -(a w ) + b Sqrt[Pi] Sqrt[w ] Out[5]= If[Re[w ] > 0, -----------------------------, 2 b a x > Integrate[------ + ------, {x, -Infinity, 0}]] 2 2 2 2 x /w x /w E E In[6]:= i4 = Integrate[ Expand[(a x + b) Exp[-x^2/w^2]], {x,-Infinity,0}, Assumptions->{w>0}] w (b Sqrt[Pi] - a w) Out[6]= -------------------- 2 In[7]:= i6 = Integrate[ Expand[(a x + b) Exp[-x^2/w^2]], {x,-Infinity,0}, GenerateConditions->False] 2 2 -(a w ) + b Sqrt[Pi] Sqrt[w ] Out[7]= ----------------------------- 2 mit freundlichen Grüßen, Roman Mäder ----------------------------------------------------------------------- MathConsult Dr. R. Mäder Aryanastrasse 21 Mathematik- und Informatik-Beratung CH-8704 Herrliberg T: +41-1-991 6343 mailto:maeder@XXXXXXX.ch F: +41-1-991 6345 http://www.mathconsult.ch ----------------------------------------------------------------------- |