Two things. First of all, Integrate
accepts multiple "iterators", i.e. {x, x1, x2}
, so you can specify a multiple integral without nesting them, as follows
Integrate[x y, {x, 0, 1}, {y, 0, x}]
integrates x y
over the triangle bounded by y == x
, x == 0
, and x == 1
. Note, the order of the limits, they go from outer to inner, so the integration is performed from right to left. Then, your integral becomes
Integrate[Exp[-0.099308 s] Exp[0.041657423 u] Exp[-3.1413 s + 3.12 u]
* ((u/(s - u))^(1/2) BesselI[1,2 (u (s - u))^(1/2)]
+ 0.293 BesselI[0,2 (u (s - u))^(1/2)]),
{s,0,10}, {u,0,s}]
Second, Mathematica has a number of numerical equivalents to its standard algorithms, like NSolve
, NDSolve
, NSum
, and NIntegrate
. They are all identifiable by the leading N
, which is a function in its own right, too. The nice thing about these functions is that they have the same signature as their analytical equivalent. So, to numerically integrate your integral, you simply change Integrate
to NIntegrate
, as follows
NIntegrate[Exp[-0.099308 s] Exp[0.041657423 u] Exp[-3.1413 s + 3.12 u]
* ((u/(s - u))^(1/2) BesselI[1,2 (u (s - u))^(1/2)]
+ 0.293 BesselI[0,2 (u (s - u))^(1/2)]),
{s,0,10}, {u,0,s}]
which gives 27.4182
, as noted by tkott, but without any warnings generated.