# dr/dt* ln(a*r*dr/dt)=b/r^7 how to solve this equation

1 view (last 30 days)

Show older comments

kindly help me to solve this equation a = 0.5, b=2, r(0)=1.2

##### 2 Comments

John D'Errico
on 20 Feb 2018

Walter Roberson
on 20 Feb 2018

There is no easy solution for that. The rule is:

r(t) = RootOf(int(P^7*LambertW(1/P^6), P = Z .. 6/5)+2*t)

which is to say that at each point, t, r(t) is the lower bound of the integral P^7*LambertW(1/P^6) such that integrating over P from lower bound to 6/5, plus 2*t, gives 0. (P is an arbitrary variable name here.)

### Answers (1)

Roger Stafford
on 20 Feb 2018

Here is how I would approach your problem. First we write

a*r*dr/dt*log(a*r*dr/dt) = a*b/r^6

Now define w:

w = log(a*r*dr/dt)

and therefore

a*r*dr/dt = exp(w)

Thus

exp(w)*w = a*b/r^6

Hence

w = lambertw(a*b/r^6)

a*r*dr/dt = exp(lambertw(a*b/r^6))

dr/dt = 1/(a*r)*exp(lambertw(a*b/r^6))

Now finally you have a differential equation in the form that Matlab's ode functions can evaluate numerically, provided you have the lambertw function available.

##### 1 Comment

Torsten
on 21 Feb 2018

Alternatively, by setting

y1 = r

y2 = dr/dt,

you can use ODE15S to solve the differential-algebraic system

y1' = y2

y2*log(a*y1*y2)-b/y1^7 = 0

Best wishes

Torsten.

### See Also

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!