Integral within exponential within integral

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)

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

Asked:

on 8 Jun 2016

Answered:

on 9 Jun 2016

Community Treasure Hunt

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

Start Hunting!