Duffing Differential Equation

Author

Eric W. Weisstein
May 3, 2004

This notebook downloaded from http://mathworld.wolfram.com/notebooks/DifferentialEquations/DuffingDifferentialEquation.nb.

For more information, see Eric's MathWorld entry http://mathworld.wolfram.com/DuffingDifferentialEquation.html.

©2005 Wolfram Research, Inc. except for portions noted otherwise

Unforced

DSolve[x''[t]+δ x'[t]+x[t]^3-x[t]==0,x[t],t]

DSolve[x''[t]+δ x'[t]+x[t]^3-x[t]==0,x[t],t]

Unforced, δ = 0

solns=DSolve[x''[t]+x[t]^3-x[t]==0,x[t],t]

DSolve[{y'[t]+x[t]^3-x[t]==0,x'[t]==y[t]},{x[t],y[t]},t]

Check

FullSimplify[x''[t]+x[t]^3-x[t]/.x->Function[t,solns[[1,1,-1]]]]

FullSimplify[x''[t]+x[t]^3-x[t]/.x->Function[t,solns[[2,1,-1]]]]

Solution by quadratures

Solve[h==xdot^2/2-x^2/2+x^4/4,xdot]

Integrate[1/Sqrt[2h+x^2+x^4/2],{x,0,x},Assumptions->x>0&&h>0]//Timing

(kernel segfaults)

FullSimplify[Integrate[1/Sqrt[2h+x^2+x^4/2],x],h>0]

Phase Portrait

<<Graphics`Colors`

ParametricPlot[Evaluate[Join[
Join@@({x[t],y[t]}/.NDSolve[{y'[t]+x[t]^3-x[t]==0,x'[t]==y[t],x[0]==1,y[0]==#},{x[t],y[t]},{t,0,11}]&/@Range[0,1.5,.2]),
Join@@({x[t],y[t]}/.NDSolve[{y'[t]+x[t]^3-x[t]==0,x'[t]==y[t],x[0]==-1,y[0]==#},{x[t],y[t]},{t,0,11}]&/@Range[0,.6,.2]),
Join@@({x[t],y[t]}/.NDSolve[{y'[t]+x[t]^3-x[t]==0,x'[t]==y[t],x[0]==0,y[0]==#},{x[t],y[t]},{t,0,11}]&/@{-.01,.01})
]
],
{t,0,11},PlotStyle->Red,AxesLabel->TraditionalForm/@{x,y}]