EngWiPy
- 1,361
- 61
OK, thanks. I'm trying to do the mathematical derivations all over again. But I suspect it's just a technical issue with Mathematica.
The forum discussion centers on resolving the Mathematica error NIntegrate::ncvb, which indicates failure to converge to the desired accuracy during numerical integration. The user is attempting to evaluate an integral involving exponential functions and the ExpIntegralE function, but encounters issues primarily due to the choice of limits and precision settings. Key recommendations include adjusting the precision goal and allowing for more recursion in the NIntegrate function. The discussion also highlights the importance of verifying the mathematical formulation of the integral being evaluated.
PREREQUISITESMathematica users, computational mathematicians, and researchers involved in numerical analysis and integration tasks.
For[yQdB = -10, yQdB <= 15, yQdB++;
yQ = 10^(yQdB/10);
INTEGRAND =
Simplify[1/x^2*Exp[(GSS*(x + GSS*yQ))/(x*yp) - x]*
Exp[-(GSS*(x + GSS*yQ))/(x*yp) T]/T];
A1 = 0.5*((GSS^2)*yQ)/yp*
NIntegrate[INTEGRAND, {T, 1, \[Infinity]}, {x, Cons, Infinity},
PrecisionGoal -> 5, MaxRecursion -> 12, WorkingPrecision -> 20];
Print["A1 = ", 0.5*((GSS^2)*yQ)/yp,
"\[Times] NIntegrate[ 1/x^2\[Times]Exp[ ( ", GSS, "\[Times](x +",
GSS*yQ, "))/(x\[Times]", yp, ") - x]\[Times] ExpIntegralE[1, (",
GSS, "\[Times](x + ", GSS*yQ, "))/(x\[Times]", yp, ")]"]]
yp = 10^(5/10);
GSS = 100;
Cons = 10^-7;
results = {};
For[yQdB = -10, yQdB <= 15, yQdB++;
yQ = 10^(yQdB/10);
INTEGRAND =
Simplify[1/x^2*Exp[(GSS*(x + GSS*yQ))/(x*yp) - x]*
Exp[-(GSS*(x + GSS*yQ))/(x*yp) T]/T];
A1 = 0.5*((GSS^2)*yQ)/yp*
NIntegrate[INTEGRAND, {T, 1, \[Infinity]}, {x, Cons, Infinity},
PrecisionGoal -> 5, MaxRecursion -> 12, WorkingPrecision -> 20];
results = Join[results, {yQdB, A1}];
Print[{yQdB, A1}];]