0

Can anyone help me solve this equation to isolate $d_f$?

$$ U=\frac{2\cdot λ_g}{\pi\cdot B+d_f}\cdot \ln\left(\frac{\pi\cdot B}{d_f}+1\right) $$

(original equation from ISO13370)

I can get the values from the natural log with inverse log, but then I'm still left with the $d_f$ term in the other part of the equation.

Help please!!!

Blue
  • 75,673
  • 1
    Welcome to MSE. Your question is phrased as an isolated problem, without any further information or context. This does not match many users' quality standards, so it may attract downvotes, or closed. To prevent that, please [edit] the question. This will help you recognise and resolve the issues. Concretely: please provide context, and include your work and thoughts on the problem. These changes can help in formulating more appropriate answers. – José Carlos Santos Oct 27 '21 at 05:56
  • Since $d_f$ is both inside and outside the logarithm, the equation is transcendental and resists algebraic solution. Numerical methods (or perhaps special functions) are required. – Blue Oct 27 '21 at 06:03
  • Thanks @Blue. I've been staring at this all afternoon, and your response helps me realise I'm not going mad! this is for a coding project, so won't be hard to get the code to iterate through possible answers. – Sam Archer Oct 27 '21 at 06:59
  • Is $d_f >0$ or not ? – Claude Leibovici Oct 27 '21 at 08:56
  • @ClaudeLeibovici, df should be > 0. – Sam Archer Oct 27 '21 at 09:48
  • Have a look at my answer and, please, answer my last question. Cheers :-) – Claude Leibovici Oct 27 '21 at 09:58

1 Answers1

0

Changing notations : $a=2\lambda_g$, $b=\pi B$, $d_f=x$, $y=U$, you want to solve for $x$ the equation $$y=\frac a {b+x}\log \left(\frac{b}{x}+1\right)$$ where (having read the $ISO 13370$ norm) I suppose that all $(a,b,c,x,y)$ are positive.

Now, let $x=\frac b z$ to make $$\frac b a y=\frac{z }{z+1}\log (z+1) < \log(z+1)$$ and the rhs is a nice, smooth, increasing function. So we have an upper bound of the solution $$z_0=e^{\frac{b }{a}y}-1$$

Now, starting with this guess $z_0=(e^k-1)$, start Newton iteration for the function $$f(z)=\frac{z }{z+1}\log (z+1)-k\qquad \text{where} \quad k=\frac b a y$$ $$f'(z)=\frac{z+\log (z+1)}{(z+1)^2}$$ that is to say $$z_{n+1}=z_n-\frac {f(z_n)}{f'(z_n)}$$ It would converge very fast.

Let me try for $k=12.34$, the iterates would be $$\left( \begin{array}{cc} n & z_n \\ 0 & 228660.9521 \\ 1 & 228673.2914 \\ 2 & 228673.2918 \end{array} \right)$$ For the case where $z$ is small compared to $1$ (so $k$), $z_0$ could be too far from the solution. So, using series expansion close to $z=0$, $$k=z^2-\frac{3 z^3}{2}+\frac{11 z^4}{6}-\frac{25 z^5}{12}+\frac{137 z^6}{60}-\frac{49 z^7}{20}+\frac{363 z^8}{140}+O\left(z^9\right)$$ and using series reversion $$z=\sqrt{k}+\frac{3 k}{4}+\frac{47 k^{3/2}}{96}+\frac{7 k^2}{24}+\frac{14939 k^{5/2}}{92160}+\frac{49 k^3}{576}+\frac{876719 k^{7/2}}{20643840}+O\left(k^4\right)$$ Trying for $k=0.1234$, the above truncated series would give $z=0.470552$ while the exact solution is $z=0.470558$.

  • Amazing. Thanks so much this Claude - really helpful. I've implemented an iterative approach in the Python programming language, but this will be much faster. – Sam Archer Oct 28 '21 at 20:16
  • @SamArcher. You are welcome ! Please tell me if $k$ is supposed to be large or small (give me an order of magnitude. I think that we could have a close-to-explicit formula. – Claude Leibovici Oct 29 '21 at 03:08