The original function is

$$f=\frac{1}{e^{\frac{\phi }{k t}}-1}-\frac{m+1}{e^{\frac{(m+1) \phi }{k t}}-1}$$

I want to express $e^{\frac{\phi }{k t}}$ about $m$ and $f$, so I tried:

f = 1/(# - 1) - (1 + m)/(#^(1 + m) - 1)&
g = InverseFunction[f]

which gives

0^(1/(-2 - m))&


  {1/(x - 1) - (1 + m)/(x^(1 + m) - 1) == y && m > 0 && 1 > x > 0}, 
  x, Reals]

which takes forever to finish the computation. How can I find the inverse I'm looking for?

Suppose I get the "approximate" analytical solution as @Alexei's suggested, e.g. $$e^{\frac{\phi }{k t}}=a+\frac{b}{f}$$

How to substitute the result (subexpression) into another expression made up with $e^{\frac{\phi }{k t}}$? see

$$m k \log \left(\frac{e^{\frac{\phi }{k t}}-e^{-\frac{m \phi }{k t}}}{e^{\frac{\phi }{k t}}-m}\right)$$

I tried ReplaceAll but terms mixed with $m$ like $e^{-\frac{m \phi }{k t}}$ are left over.


2 Answers 2


Let us define the equation:

eq[m_, f_] := 1/(x - 1) - (m + 1)/(x^(m + 1) - 1) == f;

where x stays for Exp[f/(k t)]. If one applies the function Solve to it, Mma clearly answers that it cannot provide exact solution of this equation. It should not be expected, therefore, that one can find any other analytical solution.

Numerically, it is another story. Let us solve it for m=1 and f within the interval from 0.1 to 1:

lst = Table[{f, FindRoot[eq[1, f], {x, 0.1}][[1, 2]]}, {f, 0.1, 1, 

The obtained list can be further fitted to a simple analytical functions as follows:

    ff = FindFit[lst, a + b/f, {a, b}, f];
  ListPlot[lst, Frame -> True, 
   FrameLabel -> {Style["f", 16, Italic], 
     Style["\!\(\*SuperscriptBox[\(\[ExponentialE]\), \
\(\[CurlyPhi]/kt\)]\)", 16, Italic]}],
  Plot[a + b/f /. ff, {f, 0, 1}, PlotStyle -> Red]
  }, Epilog -> Inset[ff, Scaled[{0.8, 0.8}]]]

which shows the solution (points) and the fitting (solid red line) with the function -1+1/f:

enter image description here

You may do the same with any m. In principle, you also may find, how the coefficients a and b depend upon m, then you will get an approximate, but still all-analytical solution.

Have fun!


Something like this:

f[x_, m_] := 1/(x - 1) - (1 + m)/(x^(1 + m) - 1)

g[y_, m_] := x /. NSolve[f[x, m] == y, x]

Your Answer

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

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