Skip to main content
2 of 4
added 454 characters in body
Artes
  • 57.9k
  • 13
  • 159
  • 247

Since Mathematica is a really powerful symbolic computing system I recommend a to proceed symbolically as far as we can.

We define a function curve depending on t and four real positive parameters a, b, c, d:

curve[t_, a_, b_, c_, d_] := a Exp[-((b (c - d t)^2)/t)]/Sqrt[t]

Now Mathematica can evaluate such an integral symbolically:

integral[x0_, x_, a_, b_, c_, d_] =
  Integrate[ curve[ t, a, b, c, d], { t, x0, x}, 
             Assumptions -> Join[{ x0 <= x, x >= 0}, 
                                  Thread[# > 0 &[{a, b, c, d}]]]]
-((a Sqrt[ Pi] (Erf[Sqrt[b/x] (c - d x)] - E^(4 b c d) Erf[Sqrt[b/x] (c + d x)] 
+ Erf[(b (-c + d x0))/Sqrt[b x0]] 
+ E^(4 b c d) Erf[(b (c + d x0))/Sqrt[b x0]]))/(2 Sqrt[b] d))

We have assumed lower limit of integration x0, if we had assumed x0 == 0 the system couldn't provide a symbolic result yielding only an unsatisfactory warning:

Integrate::idiv: "Integral of E^(-((b (c-d t)^2)/t))/Sqrt[t] does not converge on {0, x}."

However our integral can be evaluated in the limit as x0 -> 0:

Limit[ integral[x0, x, a, b, c, d], x0 -> 0, 
       Assumptions -> {x >= 0, a > 0, b > 0, c > 0, d > 0}]
 (a Sqrt[ Pi] (1 - E^(4 b c d) - Erf[ Sqrt[b/x] (c - d x)]
+ E^(4 b c d) Erf[ Sqrt[b/x] (c + d x)]))/(2 Sqrt[b] d)

Now you can solve your equation with Solve providing rational parameters (possibly using appropriate options), otherwise for real parameters use NSolve or FindRoot. Now, it is reasonable to search for numeric solutions since there are Erf functions involved. Your original parameters haven't been justified and it might be necessary it play with AccuracyGoal and PrecissionGoal. E.g. we can easily find the upper limit of integration x these reasonable parameters:

FindRoot[ area[x, 0.2, 0.3, 6.1, 3.1] == 0.01, {x, 0.5}, 
          AccuracyGoal -> 5, PrecisionGoal -> 5]
{x -> 1.26325}
Artes
  • 57.9k
  • 13
  • 159
  • 247