0
$\begingroup$

I'm trying to find R in the transcendental equation.

$R + u_r\,t=(\frac{a_1\,B}{\nu}\, \gamma_0^2)^{\frac{3}{4}} \sigma R \,e^{\frac{3 \sigma}{v_{sh}\,t_{acc}}(R-R^*)}$

Everything except R is a constant i.e.

$R + K_1=K_2 R \,e^{K_3(R-K_4)}$

where $K_{1,2,3,4}$ are known constants.

How can I use Mathematica for find R?

$\endgroup$
1
  • 1
    $\begingroup$ If all constants have numerical values, use FindRoot. $\endgroup$
    – bbgodfrey
    Nov 25, 2018 at 14:05

1 Answer 1

6
$\begingroup$
K1 = 1; K2 = 1; K3 = 1; K4 = 1;

Plot[r + K1 - K2*r*Exp[K3 (r - K4)], {r, -2, 2}]

enter image description here

For exact solutions (expressed as Root objects) use Solve by constraining the range of r

Solve[{r + K1 == K2*r*Exp[K3 (r - K4)], -2 < r < 2}, r]

(* {{r -> Root[{-1 - #1 + E^(-1 + #1) #1 &, -1.13422002963071713234}]}, {r -> 
   Root[{-1 - #1 + E^(-1 + #1) #1 &, 1.50855472406037552015}]}} *)

Use N to get approximate numeric values.

% // N

(* {{r -> -1.13422}, {r -> 1.50855}} *)

Similarly with NSolve

NSolve[{r + K1 == K2*r*Exp[K3 (r - K4)], -2 < r < 2}, r]

(* {{r -> -1.13422}, {r -> 1.50855}} *)

With FindRoot you need to use two starting values

FindRoot[r + K1 == K2*r*Exp[K3 (r - K4)], {r, #}] & /@ {-2, 2}

(* {{r -> -1.13422}, {r -> 1.50855}} *)
$\endgroup$

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