0
$\begingroup$

I was trying to solve this equation for different value of a constant (a) but the solution is not different for those values?!! b and m are positive values.

Clear["Global`*"]
eqns = {(y'[t]/ y[t])^2 == b / y[t]^(3m) + a/3};
Simplify[DSolve[eqns, y[t], t], Assumptions -> {a > 0}]
Simplify[DSolve[eqns, y[t], t], Assumptions -> {a < 0}]
$\endgroup$
3
  • 1
    $\begingroup$ Why do you think it is not working? You clearly do get a solution, but Mathematica just cannot express it explicitly so it is written as a InverseFunction. If there exists an explicit solution, you will probably need to do some manual transformations – see for example DSolve returning InverseFunction while I believe the answer isn't so complicated. $\endgroup$
    – Domen
    Jan 10, 2023 at 14:38
  • $\begingroup$ I'm sorry, you'r right but I want to know the manual transformations $\endgroup$ Jan 10, 2023 at 14:49
  • $\begingroup$ Then please change the title and the content of your question accordingly :) $\endgroup$
    – Domen
    Jan 10, 2023 at 15:31

1 Answer 1

1
$\begingroup$

You could try to solve the inverse problem

eqns = {(y'[t]/y[t])^2 == b/y[t]^(3 m) + a/3} 
solys = Solve[eqns, y'[t]]

odes = Map[t'[y] == 1/y'[t] /. # /. y[t] -> y &, solys](* ode in t[y]:
{Derivative[1][t][y] == -(Sqrt[3]/Sqrt[a y^2 + 3 b y^(2 - 3 m)   ]), 
Derivative[1][t][y] == Sqrt[3]/Sqrt[a y^2 + 3 b y^(2 - 3 m)]} *)


DSolve[odes[[1]], t, y]
(* {{t -> Function[{y}, -((2 y Sqrt[a + 3 b y^(-3 m)]ArcTanh[Sqrt[a + 3 b y^(-3 m)]/Sqrt[a]])/(Sqrt[3] Sqrt[a] m Sqrt[y^2 (a + 3 b y^(-3 m))])) + C[1]]}}*)

DSolve[odes[[2]], t, y]
(*{{t -> Function[{y}, (2 y Sqrt[a + 3 b y^(-3 m)]ArcTanh[Sqrt[a + 3 b y^(-3 m)]/Sqrt[a]])/(Sqrt[3] Sqrt[a] m Sqrt[y^2 (a + 3 b y^(-3 m))]) + C[1]]}}*)

Hope it helps!

$\endgroup$
2
  • $\begingroup$ This is a good idea but I'm working on some condition that my solution will be Sin [] and Sinh[] ! $\endgroup$ Jan 10, 2023 at 17:06
  • $\begingroup$ Like this Clear["Global`*"] eqns = {(y'[t]/ y[t]) == Sqrt[b/ y[t]^(3m) + a/3]}; Simplify[DSolve[eqns, y[t], t], Assumptions -> {a > 0, b > 0, m > 1}] $\endgroup$ Jan 10, 2023 at 17:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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