MATLAB: INT and INTEGRAL wont evaluate definite integral

intintegral

Hi,
MATLAB wont evaluate the integral shown below,
syms z
c=30e-6
k=6.35e-13
sigma_max=8.3e8
sigma_Z=sigma_max*(exp(-0.8475*k*z)-0.5773*exp(-0.3933*k*z))
funct=(1-(z/c)^2)*(0.2945-0.3912*(z/c)^2+0.7685*(z/c)^4-0.9442*(z/c)^6+0.5094*(z/c)^8)
b=(sigma_Z*(1+funct))/sqrt(c^2-z^2)
K_quasistatic=2*sqrt(c/pi)*int(b,z,0,c)
and instead just spits the integral back out at me as shown below with no error messages,
K_quasistatic =
(7125501346998159*int(((479159000*exp(-(4946719265301551*z)/19807040628566084398385987584) - 830000000*exp(-(1332425812783837*z)/2475880078570760549798248448))*(((10000000000*z^2)/9 - 1)*((566000000000000000000000000000000000000*z^8)/729 - (944200000000000000000000000000*z^6)/729 + (76850000000000000000*z^4)/81 - (1304000000*z^2)/3 + 589/2000) - 1))/(4352132950612665/4835703278458516698824704 - z^2)^(1/2), z, 0, 3/100000))/1152921504606846976
I've tried using anonymous functions but that threw back a bunch on errors…
Can anyone help?

Best Answer

It will if you use vpaintegral (introduced in R2016b) instead:
K_quasistatic=2*sqrt(c/pi)*vpaintegral(b,z,0,c)
produces:
K_quasistatic =
3826404.5510884817460158579474888
.