Take the 2-minute tour ×
Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

I get this error when trying to integrate a seemingly simple expression:

eradius = 2.8179403267*10^-15;
n = 10^-10/(1.6*10^-19);
gamma = 1600/0.511;
lb = 0.549267;
theta2 = 0.046892183133281855;
eta3 = -(theta1*lb) - (theta1*d);
rho2 = lb/theta2;

CSR3linear = 
  (0.22*eradius*n)/(gamma*rho2^(2/3)*(s/lb (sigma3end - sigma3beg) + sigma3beg)^(4/3));

kick3 = NIntegrate[(eta3 + s^2/(2 rho2))*CSR3linear, {s, 0, lb}] /. 
        {theta1 -> {0.06}, 
         d -> {8.60435},
         sigma3beg -> {1.300512*10^-004},
         sigma3end -> {1.472289*10^-005}};

NIntegrate::inumr: The integrand has evaluated to non-numerical values for all sampling points in the region with boundaries {{0,0.549267}}.

What am I doing wrong here? Also, the choice to have the parameters theta1, d sigma3beg and sigma3end as lists in the integration is because its actually a long list of numbers for each parameter (~20) that would take forever to input separately and record each output; would much prefer the solution to outputed in one list.

share|improve this question

1 Answer 1

You try to integrate before theta1 etc. are given numeric values. If I understand correctly how you wish to deal with the lists of parameters, then use Map to apply NIntegrate to each integrand:

kick3 = Map[
  NIntegrate[#, {s, 0, lb}] &,
  (eta3 + s^2/(2 rho2))*
    CSR3linear /. {theta1 -> {0.06}, d -> {8.60435}, 
    sigma3beg -> {1.300512*10^-004}, sigma3end -> {1.472289*10^-005}}
  ]
(*
  {-3.91073*10^-6}
*)
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.