INT and INTEGRAL wont evaluate definite integral

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?

 Accepted 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
.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!