Azzera filtri
Azzera filtri

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

2 visualizzazioni (ultimi 30 giorni)
vishal  vyas
vishal vyas il 20 Feb 2018
Commentato: Torsten il 21 Feb 2018
kindly help me to solve this equation a = 0.5, b=2, r(0)=1.2
  2 Commenti
John D'Errico
John D'Errico il 20 Feb 2018
I'll suggest you probably won't get much of an answer here, because this is not a question about MATLAB. You are asking how to solve that nonlinear differential equation. So it is a question purely about mathematics, on a problem with no clear solution and I will guess no direct analytical solution. You might catch someone here with an idea, but far more likely to get a result is by asking on a site where the question is on-topic.
Walter Roberson
Walter Roberson il 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.)

Accedi per commentare.

Risposte (1)

Roger Stafford
Roger Stafford il 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 Commento
Torsten
Torsten il 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.

Accedi per commentare.

Categorie

Scopri di più su Programming in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by