# Can DSolve give results in parametric form?

Can DSolve give results in parametric form?

For example the cycloid equation is:

DSolve[{(x'[t])^2 == r/x[t] - 1}, x[t], t]


And the solution is usually given in parametric form:

$$x=r \,(t- Sin[t]) \quad y=r\,(1- Cos[t])$$

but Mathematica (10) give a resolt in terms of InverseFunction

So I wonder can DSolve give result in parametric form?

• Are you sure that's the cycloid equation? I've never seen it in that form. – Michael Seifert Aug 15 '17 at 15:19
• Also, your parametric solution should be $x = r(t - \sin t)$ or something similar; right now your parametric solution is just a circle. – Michael Seifert Aug 15 '17 at 15:19
• @MichaelSeifert You are right I corrected and added a link to wikipedia: en.wikipedia.org/wiki/Cycloid – mattiav27 Aug 15 '17 at 15:23
• I don't believe DSolve[] is capable of parametric solutions yet. Here's another simple example (the equiangular spiral): DSolve[{y'[x] == (x + y[x])/(x - y[x]), y[1] == 0}, y, x]. – J. M. will be back soon Aug 15 '17 at 15:23

This more an extended comment as a solution. For convenience, begin from the ODE in the form given in the Wikipedia reference cited in the question.

y'[x]^2 == 2 r/y[x] - 1


The OP wishes DSolve to provide the parametric answer,

{y[t] -> r - r Cos[t], x[t] -> r (t - Sin[t])}


However, this result is not unique. For instance, replacing t by a t, where a is any real constant, also is a valid parametric solution. And, there are infinitely more equivalent parametric solutions. Obtaining the desired solution requires specifying an additional relationship.

Here is a simple illustration. Rewrite the ODE in terms of a parameter t.

y'[t]^2 == x'[t]^2 (2 r/y[t] - 1)


This ODE cannot, of course, be solved without a second relationship among x, y, and t. For instance, specify

x'[t] == y[t]


(Other second equations are possible but yield different parametric representations.) Now solve the set of ODEs, impose the boundary conditions that x and y vanish at t == 0, and simplify

FullSimplify[First@DSolve[{y'[t]^2 == x'[t]^2 (2 r/y[t] - 1), x'[t] == y[t],
x[0] == 0}, {x[t], y[t]}, t] /. C[1] -> 0]

(* {y[t] -> r - r Cos[t], x[t] -> r (t - Sin[t])} *)


as desired. This example is meant to show that DSolve is capable with assistance of producing parametric solutions. It is not, however, capable of producing any particular parametric solution that someone might desire without very particular assistance.

• As noted, a lot of manual intervention (and clever choices) is still necessary, since there are multiple ways to parametrize a curve. The functions here should be helpful in converting the original DE to a corresponding parametric form. – J. M. will be back soon Aug 16 '17 at 0:24