dr/dt* ln(a*r*dr/dt)=b/r^7 how to solve this equation
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
kindly help me to solve this equation a = 0.5, b=2, r(0)=1.2
2 comentarios
John D'Errico
el 20 de Feb. de 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
el 20 de Feb. de 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.)
Respuestas (1)
Roger Stafford
el 20 de Feb. de 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 comentario
Torsten
el 21 de Feb. de 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.
Ver también
Categorías
Más información sobre Numerical Integration and Differential Equations en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!