# Problem with Solve for simple equation

I have a simple question, but just can't figure it out.

I have the following model equation to get a peak. I want to get the the two t-values on the left and right side of the peak, where the model has a height (y-value) of 1*10^-6.

model=(1.87429 E^(-((0.982704 (30.8 - 3.35121 t)^2)/t)))/Sqrt[t]


I tried:

Solve[model == 10^-6, t]


but the result is {}.

and I get the message

Solve::ifun: Inverse functions are being used by Solve, so some solutions may not be found; use Reduce for complete solution information.

I then tried Reduce, but that also doesn't work.

The problem seems really easy, but I think I have a fundamental misunderstanding here.

• If you are really interested in finding the maximum (peak) of model, why don't you just go for it directly? FindMaximum[model, {t, 10}] returns {0.618628, {t -> 9.16809}}. Sep 18, 2015 at 13:48

model = (1.87429 E^(-((0.982704 (30.8 - 3.35121 t)^2)/t)))/Sqrt[t];

LogPlot[{model, 10^-6}, {t, 6, 14}]


Use NSolve and restrict the domain to Reals

NSolve[model == 10^-6, t, Reals]

(*  {{t -> 6.39267}, {t -> 13.1499}}  *)


Or use Reduce restricted to Reals

Off[Reduce::ratnz]

Reduce[model == 10^-6, t, Reals]

(*  t == 6.39267 || t == 13.1499  *)


Solve tries to find a closed form solution - and is not successful in this case. You can get a solution to your problem by using a numerical method, e.g. FindRoot. First

f[t_] := (1.87429 E^(-((0.982704 (30.8 - 3.35121 t)^2)/t)))/Sqrt[t]


then (I did a Plot to have an estimate of the solution)

sol = FindRoot[f[t] - 10^(-6), {t, 6.}]


(* {t -> 6.39267} *)

result:

f[t /. sol]


(* 10.^(-6) *)

• +1 for telling me, why Solve didn't work in that context. Thanks
– Niki
Sep 18, 2015 at 15:51

Sometimes plotting and/or reformulating the equation for a variety of ranges the variable of interest along with FindRoot works:

model = (1.87429 E^(-((0.982704 (30.8 - 3.35121 t)^2)/t)))/Sqrt[t]
Plot[Log10[model], {t, 6, 7}]
FindRoot[Log10[model] == -6, {t, 6}]

(* {t -> 6.39267} *)