# I need help solving this hyperbolic equation [duplicate]

I have some data and I'd like to calculate the radius of curvature. The formula is: $$R_{oc}\space Sinh\left[\frac{D_{LSS}}{R_{OC}}\right]=\frac{s_*}{\theta_*}$$ Noting that $$s_*$$ is sh, $$\theta_*$$ is angle,$$D_{LSS}$$ is distance, $$R_{OC}$$ is Roc, I tried using Solve to solve the equation:

Solve[Roc*Sinh[distance/Roc] == sh/angle, Roc]


and got:

Solve::nsmet: This system cannot be solved with the methods available to Solve.

So I tried supplying some values and doing it numerically:

sh = 7.74*^21;
angle = 1.0411/100.;
distance = 5.32*^23;
NSolve[Roc*Sinh[distance/Roc] == sh/angle, Roc]


And I got the equation spit back out at me. Can someone help me solve this equation either analytically or numerically?

Note: I suspect a third option might be to use optimization, but I just can't figure out how to set up the function.

• That doesn't look like an equation with a closed form solution. You'd need FindRoot[] with a good starting point for this. – J. M.'s torpor May 10 '20 at 16:48

Clear["Global*"]

sh = 774*^19;
angle = 10411*^-6;
distance = 532*^21;

arg = NArgMin[
{(Roc*Sinh[distance/Roc] - sh/angle)^2, Roc > 10^20},
Roc, WorkingPrecision -> 30] // N

(* 3.63412*10^23 *)

FindRoot[
Roc*Sinh[distance/Roc] == sh/angle,
{Roc, 10^23}]

(* {Roc -> 3.63412*10^23} *)

NSolve[
{Roc*Sinh[distance/Roc] == sh/angle,
10^22 < Roc < 10^24}, Roc][[1]]

(* {Roc -> 3.63412*10^23} *)
`