1
$\begingroup$

I have pasted a code that has been giving me some trouble and errors when I try to compute.

ERROR: "The integrand 1435.1232 E^(-6.4703566*10^6 s^2) deEntrance[s,phi]^2 has evaluated to non-numerical values for all sampling points in the region with boundaries "

I tried implementing the ?NumericQ function to ensure the functions are evaluated numerically with no issues but have no success. I've been at it for days, so if anyone can be of any help I would greatly appreciate it!

e = 1.60217657*10^-19;
rcgs = 2.8179403267*10^-13;
gamma = 1600/0.511;
n = (10^-10)/e;
lm = 0.549267;
theta = 0.07;
r = lm/theta;
sigmaSbeg = 2.759026*10^-004;
sigmaSend = 2.779847*10^-004;

eta1[phi_] := -(phi^2/(2 r))
eta1prime[phi_] := -((phi*theta)/lm)    
sL[phi_?NumericQ] := (r*phi^3)/24
lambdaBeg[z_] := 1/(sigmaSbeg*Sqrt[2 Pi]) Exp[-(z^2/(2*sigmaSbeg^2))]
lambdaEnd[z_] := 1/(sigmaSend*Sqrt[2 Pi]) Exp[-(z^2/(2*sigmaSend^2))]
lambdaCompress[z_, phi_] := 
     1/((((sigmaSend - sigmaSbeg)/theta)*phi + sigmaSbeg)*Sqrt[2 Pi])
     Exp[-(z^2/(2*(((sigmaSend - sigmaSbeg)/theta)*phi + sigmaSbeg)^2))]

deEntrance[s_, phi_?NumericQ] := With[{sL = sL[phi]}, 
(-((2*n*rcgs*gamma^-1)/(3^(1/3) r^(2/3))))*((lambdaCompress[s - sL, phi] - 
lambdaBeg[s - 4 sL])/sL^(1/3) + NIntegrate[
  (1/(s - sprime)^(1/3)*D[lambdaCompress[sprime, phi], sprime]),{sprime, s - sL, s}])]

deEntranceRMS[x_, phi_] := Sqrt[
NIntegrate[lambdaEnd[s]*(deEntrance[s, phi])^2, {s, -x*sigmaSend, x*sigmaSend}] - 
(NIntegrate[lambdaEnd[s]*(deEntrance[s, phi]), {s,-x*sigmaSend, x*sigmaSend}])^2]

kick1 = NIntegrate[(eta1[phi])*deEntranceRMS[3, phi], {phi, 0.0, lm}]
kick1prime = NIntegrate[(eta1prime[phi])*deEntranceRMS[3, phi], {phi, 0.0, lm}]
$\endgroup$
3
  • 1
    $\begingroup$ you need the NumericQ in more places such as deEntranceRMS. Be sure to restart your kernel or Clear things when you modify the argument patterns. $\endgroup$
    – george2079
    Jun 22, 2014 at 12:22
  • $\begingroup$ Hmm, yeah that's definitly my issue. I tried many places where I thought ?NumericQ should go, but no success. ANy help? $\endgroup$ Jun 22, 2014 at 20:50
  • $\begingroup$ test evaluate each function that appears explicitly in NIntegrate with symbolic arguments. If you get an error add NumericQ. ( The one i mentioned in the first comment would be a good place to start.) $\endgroup$
    – george2079
    Jun 23, 2014 at 12:33

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.