Intégration numérique de double intégrale avec deux variables

Sep 04 2020

J'essaye d'intégrer numériquement la double intégrale suivante dans MATHEMATICA. Cette question a également été posée à Wolfram Community

$Im$ est la partie imaginaire de l'expression, $i$ est le nombre imaginaire, $x$ et $y$ sont des variables alors que $a, b, c$ et $Q$ sont des constantes supérieures à 0.

Voici ma tentative pour résoudre ce problème.

a = 3
b = 0.0137
c = 0.0023
Q = 6
NIntegrate[
  Im[Exp[-I x c + b (I x y/(y^a - I x))]]/x, {x, 0, ∞}, {y, 0, Q},
  AccuracyGoal -> 10]

Est-ce la bonne façon d'appliquer l'intégration numérique avec plus d'une variable? J'obtiens une erreur lorsque j'exécute cette expression qui se lit comme suit

évalué à des valeurs non numériques pour tous les points d'échantillonnage de la région \ avec des limites {{[Infinity], 0.}, {0, 6}}.

Quelqu'un peut-il s'il vous plaît me guider pour corriger la mise en œuvre de l'expression donnée ci-dessus.

Réponses

3 Akku14 Sep 05 2020 at 02:57

ComplexExpand les fonctions et les intégrer séparément (parce que je suis pressé, je ne montre pas de résultats intermédiaires)

ceRe = ComplexExpand[Re[(I x y)/(y^3 - I x)], 
          TargetFunctions -> {Re, Im}]

ceIm = ComplexExpand[Im[(I x y)/(y^3 - I x)], 
          TargetFunctions -> {Re, Im}]

intRe[x_] = Integrate[ceRe, {y, 0, 6}, Assumptions -> x > 0]

intIm[x_] = Integrate[ceIm, {y, 0, 6}, Assumptions -> x > 0]

ii[x_] = ComplexExpand[Im[Exp[-I x c + b*(intRe[x] + I intIm[x])]]/x, 
TargetFunctions -> {Re, Im}] /. {b -> 137/10000, c -> 23/10000} //
   Simplify[#, x > 0] &

Plot[ii[x], {x, 0, 10000}]

nint = NIntegrate[ii[x], {x, 0, \[Infinity]}, MaxRecursion -> 50]

(*   -0.989098   *)