# Plot slope field in Mathematica for a difficult differential equation

I am trying to plot slope field for $\ddot{a}(t)$ for this differential equation but I don't know how to

$\frac{d}{dt}\ddot{a}(t)=2\frac{\dot{a}(t)}{a(t)}\ddot{a}(t)$

I want to show that already accelerating solutions (with $\ddot{a}$ small and positive) are driven to accelerate even more, and already decelerating ones (with $\ddot{a}$ small and negative) are driven to further deceleration. So essentially I want to find out what $\dddot{a}(t)$ would look like with respect to time.

• 4612 and 43478 might help. – C. E. Jun 1 '14 at 18:53
• I tried using DSolve, NDSolve and VectorPlot but I'm not sure how to begin. I know how to plot first or second order differential equation but this one is different. – user14701 Jun 1 '14 at 18:54
• sol = ParametricNDSolve[{f'''[t] == 2 f'[t] f''[t]/f[t], f == 1, f' == 1, f'' == a}, f, {t, 1, 2}, a]; Plot[ Evaluate[Table[f'''[a][t] /. sol, {a, -2, 2, 1}]], {t, 1, 2}, PlotRange -> All] – Dr. belisarius Jun 1 '14 at 19:12
• Are you sure that ther is a third derivative on the left? I think you have mistyped something... Are this a jerk parameter, related to scale factor? – m0nhawk Jun 1 '14 at 19:23
• Yeap, there is a derivative on the left, this describes the rate of change of the second derivative of a. – user14701 Jun 1 '14 at 20:33

A slope field is a two-dimensional image that represents the value of f(t,y) for values values of t and y for a first-order differential equation y'(t)=f(t,y(t)).

You have a third-order DE. You cannot plot a slope field.

You may be thinking of the phase portrait, which is a similar representation of the slope of an autonomous second order DE y''=f(y,y').

However, your equation is third order. The best you can do is to draw the three-dimensional phase-space for a third-order DE by converting the system into a system of first-order DEs:

$x = a(t)$

$y = a'(t)$

$z = a''(t)$

$x' = y$

$y' = z$

$z' = 2yz/x$

You can plot a unit vector in this direction in space using:

VectorPlot3D[
{y, z, 2 y z/x}/Norm[{y, z, 2 y z/x}],
{x, -3, 3}, {y, -3, 3}, {z, -3, 3},
VectorStyle -> "Segment"
]


You can adjust the viewing window accordingly, I'm guessing [-3,3] is probably not what you want. You can change VectorStyle to something else, but the arrowheads often obscure the image. Options like this:

VectorStyle -> "Arrow3D", VectorScale -> {0.2, Scaled[0.1]}