Я пытаюсь численно интегрировать несколько разных выражений, но все они имеют интеграл внутри экспоненты, окруженный другим интегралом, т.е.
Кажется, я не могу решить эту проблему, используя приведенный ниже код:
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)
Я получаю сообщение об ошибке, показанное ниже, но я ожидаю число от 0 до 1:
Предупреждение. Обнаружено бесконечное значение или значение Not-a-Number. В funfun\private\integralCalc>iterateArrayValued на 267 В funfun\private\integralCalc>vadapt на 130 В funfun\private\integralCalc на 75 В Inintegral на 88
Я также пытаюсь выполнить аналогичную интеграцию в следующей форме, но также не получаю ожидаемых ответов:
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')
Предупреждение. Обнаружено бесконечное значение или значение Not-a-Number. > В funfun\private\integralCalc>iterateScalarValued на 349 В funfun\private\integralCalc>vadapt на 132 В funfun\private\integralCalc на 75 В funfun\private\integral2Calc>@(xi,y1i,y2i)integralCalc(@(y) fun(xiones(size(y)),y),y1i,y2i,opstruct.integralOptions) в 17 In funfun\private\integral2Calc>@(x)arrayfun(@(xi,y1i,y2i)integralCalc( @(y)fun(xiones(size(y)),y),y1i,y2i,opstruct.integralOptions),x,ymin(x),ymax(x)) at 17 In funfun\private\ IntegerCalc>itateScalarValued на 314 In funfun\private\integralCalc>vadapt на 132 In funfun\private\integralCalc на 75 In funfun\private\integral2Calc>integral2i на 20 In funfun\private\integral2Calc на 7 In Inintegral3>innerintegral на 137 In funfun\ private\integralCalc>iterateScalarValued на 314 В funfun\private\integralCalc>vadapt на 132 В funfun\private\integralCalc на 75 В Inintegral3 на 121 Предупреждение: интеграция не удалась. > В интеграле3 при 125