Integral within exponential within integral
Show older comments
I am trying to numerically integrate a few different expressions, but they all have an integral within an exponential, surrounded by another integral, i.e.

I can't seem to get this to solve based on my code below
syms s p t
W = 3.18*10^(-22)
b = 10^(-23)
X = 300
L = 0.374
intlim = 0.589
myfuncirc = @(s,p,t) (-W).*sqrt((L.^2)-(s.^2)).*(((-p.*cos(t))+sqrt(1-((p.^2).*((sin(t)).^2)))-sqrt(L.^2-s.^2)).^(-2))
s_min = 0
s_max = L
t_min = 0
t_max = pi
integral(@(p)(p.*exp(-(integral2(@(s,t) myfuncirc(s,t,p),s_min,s_max,t_min,t_max))/(b.*X))),0,intlim,'Arrayvalued',true)
I get the error message show below, while I'm expecting a number >0,<1
Warning: Infinite or Not-a-Number value encountered.
> In funfun\private\integralCalc>iterateArrayValued at 267
In funfun\private\integralCalc>vadapt at 130
In funfun\private\integralCalc at 75
In integral at 88
I'm also attempting a similar integration in the following form, but also not getting expected answers

pmax = y
pmin = 0
ymax = 1
ymin = @(x) x
xmax = 1
xmin = 0
integral3(@(x,y,p) (exp(-(integral(@(s)myfun(s,p),0,lam,'ArrayValued',true)./(k.*T)))),xmin,xmax,ymin,ymax,pmin,pmax,'Method','iterated')
Warning: Infinite or Not-a-Number value encountered.
> In funfun\private\integralCalc>iterateScalarValued at 349
In funfun\private\integralCalc>vadapt at 132
In funfun\private\integralCalc at 75
In funfun\private\integral2Calc>@(xi,y1i,y2i)integralCalc(@(y)fun(xi*ones(size(y)),y),y1i,y2i,opstruct.integralOptions) at 17
In funfun\private\integral2Calc>@(x)arrayfun(@(xi,y1i,y2i)integralCalc(@(y)fun(xi*ones(size(y)),y),y1i,y2i,opstruct.integralOptions),x,ymin(x),ymax(x)) at 17
In funfun\private\integralCalc>iterateScalarValued at 314
In funfun\private\integralCalc>vadapt at 132
In funfun\private\integralCalc at 75
In funfun\private\integral2Calc>integral2i at 20
In funfun\private\integral2Calc at 7
In integral3>innerintegral at 137
In funfun\private\integralCalc>iterateScalarValued at 314
In funfun\private\integralCalc>vadapt at 132
In funfun\private\integralCalc at 75
In integral3 at 121
Warning: The integration was unsuccessful.
> In integral3 at 125
Thanks!
Answers (1)
Walter Roberson
on 9 Jun 2016
0 votes
In your first case, if you let p = 0, then when t = 1, there is a singularity in mycircfunc at s = s_max .
Categories
Find more on Mathematics in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!