I'm trying to solve a system of differential equations using DSolve, but I am not getting any output beyond a repetition of my input:

 {p''[t] + 2 Cosh[c[t]] c'[t] p'[t]/Sinh[c[t]] == 0, 
  c''[t] - Sinh[c[t]] Cosh[c[t]] (p'[t])^2 == 0,
  c[0] == b, p[0] == 0,
  c'[0] == 0, p'[0] == 1},
 {c[t], p[t]}, t]

I saw this question already, but I don't have any floating point numbers so that can't be the issue here. Why is DSolve not returning anything here?

  • $\begingroup$ Hi! and welcome to MSE! In general, nonlinear ODEs are difficult. Do you know if this has a known symbolic solutIon? Otherwise, you might consider ParametricNDSolve, if a numerical approximation depending on the parameter b would be sufficient. $\endgroup$
    – Michael E2
    Apr 28, 2015 at 19:32
  • $\begingroup$ Hi! It should have a known solution, yes, I just don't know what it is. It's on a homework assignment so I assume it's doable, I just couldn't figure it out for the life of me so I turned to Mathematica. $\endgroup$
    – johnpaton
    Apr 28, 2015 at 21:12

1 Answer 1


This set of equations certainly is solvable analytically, although DSolve seems unable to do so without assistance. Begin by solving the first equation only, applying the relevant boundary conditions, and solving algebraically for p'[t].

Solve[Quiet@DSolve[{p''[t] + 2 Cosh[c[t]] c'[t] p'[t]/Sinh[c[t]] == 0, 
       c[0] == b}, c[t], t][[1, 1]] /. {p'[0] -> 1, Rule -> Equal}, p'[t]][[1, 1]]
(* Derivative[1][p][t] -> Csch[c[t]]^2 Sinh[b]^2 *)

This expression can be substituted into the second equation to yield a second order ODE for c[t] only, and this can be solved with DSolve, although applying the remaining boundary conditions is not straightforward. So, consider multiplying the new ODE by c'[t] and integrating just once.

C[1] == Integrate[(c''[t] - Sinh[c[t]] Cosh[c[t]] (p'[t])^2 /. %) c'[t], t]
(* C[1] == 1/2 Coth[c[t]]^2 Sinh[b]^4 + 1/2 Derivative[1][c][t]^2 *)

The constant then can be evaluated to yield a first order ODE,

% /. t -> 0 /. {c[0] -> b, c'[0] -> 0}
%% /. (% /. Equal -> Rule)
(* 1/2 Cosh[b]^2 Sinh[b]^2 == 1/2 Coth[c[t]]^2 Sinh[b]^4 + 1/2 Derivative[1][c][t]^2 *)

which I must leave to the OP to solve, since I am out of time.


Your Answer

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

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