Я пытаюсь интегрировать функцию и продолжать получать предупреждение:Matlab интеграл возвращения бесконечное не-число
Warning: Infinite or Not-a-Number value encountered.
Я был не в состоянии определить, почему это так, и надеялся, что кто-то может быть в состоянии пролить некоторый свет. Я считаю, что один из параметров дает значение Inf, но я не смог определить, какой из них. Любая помощь будет оценена по достоинству.
lm = 1.75;
Cm = 3.2E6;
fe = 1380;
H = 13.5;
q = 1E-5;
Cw = 4.2E6;
y = 0.0;
x = 0.1;
ts = [0.1 97/24];
Mt = 100;
t = linspace(ts(1)*86400, ts(2)*86400, Mt); % [s]
QL = fe/H;
z = H/2;
Dt = lm/Cm;
r = x.^2+y.^2;
vT = q*Cw*Cm;
T = zeros(size(t));
for i = 1:length(t)
tt = t(i);
fun = @(ze) T_GIGF(z,ze,Dt,tt,vT,r)/sqrt(pi)./sqrt(r+(z-ze).^2);
T(i) = QL/(4*pi*lm)*exp(vT*x/2*Dt).*...
(integral(fun,0,H)-...
integral(fun,-H,0));
end
function func = T_GIGF(z,ze,a,tt,VT,r)
u1 = (r+(z-ze).^2)/(4*a*tt);
u2 = VT^2*(r+(z-ze).^2)/(16*a^2);
func = 0.5*sqrt(pi)*(exp(-2*sqrt(u2)).*erfc(sqrt(u1)-sqrt(u2./u1))+...
exp(+2*sqrt(u2)).*erfc(sqrt(u1)+sqrt(u2./u1)));
end