How to calculate the following complex integration

1 view (last 30 days)
I want to integrate something similar to the following:
int_0^inf(exp(c*int_z^inf(1- int_0^inf(1/(x*y) dx))*ydy))dz
I tried the following:
syms x y z
g = int(1/(x*y),x,0,inf);
f = int((1-g)*y,y,z,inf);
f = @(x,y,z) exp(c*f);
h = integral(@(z) f(x,y,z) , 0,inf)
but I get the following error:
Error using integralCalc/finalInputChecks (line 511)
Input function must return 'double' or 'single' values. Found 'sym'.
Error in integralCalc/iterateScalarValued (line 315)
finalInputChecks(x,fx);
Error in integralCalc/vadapt (line 132)
[q,errbnd] = iterateScalarValued(u,tinterval,pathlen);
Error in integralCalc (line 83)
[q,errbnd] = vadapt(@AToInfInvTransform,interval);
Error in integral (line 88)
Q = integralCalc(fun,a,b,opstruct);
  3 Comments
Hesham
Hesham on 16 Dec 2017
Hi David,
Assuming it does converge, what would be the syntax used?
David Goodmanson
David Goodmanson on 16 Dec 2017
Hi Hesham,
I can't assume the impossible as a working hypothesis. The syntax is correct, though, and should give you the result g = Inf/y

Sign in to comment.

Answers (1)

Walter Roberson
Walter Roberson on 16 Dec 2017
syms x y z c
g = int(1/(x*y),x,0,inf);
f = int((1-g)*y,y,z,inf);
f2 = exp(c*f);
h = int(f2,z,0,inf)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!