The method of multiple scales

van der Pol equation

x'' (t)  +  ϵ x' (t) (x (((t))^2) - 
                1) +  x (t) == 0

with the perturbation parameter

ϵ = 1/10

Periodic Solution

With the initial condition

x (0) = 2,  x' (0) = 0

tmpsol = 
        NDSolve[{x''[t]  +  1/10 x'[t] ( x[t]^2 - 1)  +  
                x[t] == 0, x[0] == 2, x'[0] == 0}, 
          x[t], {t, 0, 20}];
Plot[ {x[t]  /.  tmpsol , 2  Cos[t]}, {t, 0, 20}, 
      PlotStyle -> {RGBColor[0, 1, 0], RGBColor[1, 1, 0]}]

tmpsol1 = 
        NDSolve[{y'[t]  +  1/10 y[t] ( x[t]^2 - 1)  +  
                x[t] == 0, x'[t] == y[t], x[0] == 2, 
            y[0] == 0}, {x[t], y[t]}, {t, 0, 
            7}];
tmpsol2 = 
NDSolve[{y'[t]  +  x[t] == 
            0, x'[t] == y[t], x[0] == 2, 
          y[0] == 0}, {x[t], y[t]}, {t, 0, 7}]; 
    ParametricPlot[{{x[t], y[t]}  /.  tmpsol1 ,  {x[t], y[t]}  /.  
          tmpsol2 , {2 Cos[t]  +  
            1/10 ( 
                3/4 Sin[t]  - 1/4 Sin[3  t]), 
-2 
              Sin[t] +  
            1/10 ( 3/4 Cos[t]  - 3/4 Cos[3  t])}},  {t, 0, 7}, 
      AspectRatio -> 1, 
      PlotStyle -> {RGBColor[0, 1, 0], RGBColor[1, 1, 0], 
          RGBColor[0, 0, 0]}]

Nonperiodic solutions

Initial condition

x (0) = 1,  x' (0) = 0

Numerical Solution

tmpsol = 
        NDSolve[{x''[t]  +  1/10 x'[t] ( x[t]^2 - 1)  +  
                x[t] == 0, x[0] == 1, x'[0] == 0}, 
          x[t], {t, 0, 100}];
Plot[ {x[t]  /.  tmpsol }, {t, 0, 100}, 
      PlotStyle -> {RGBColor[0, 1, 0]}]

tmpsol1 = 
        NDSolve[{y'[t]  +  1/10 y[t] ( x[t]^2 - 1)  +  
                x[t] == 0, x'[t] == y[t], x[0] == 1, 
            y[0] == 0}, {x[t], y[t]}, {t, 0, 
            30}];
ParametricPlot[{{x[t], y[t]}  /.  tmpsol1 },  {t, 0, 30}, 
      AspectRatio -> 1, 
      PlotStyle -> {RGBColor[0, 1, 0], RGBColor[1, 1, 0], 
          RGBColor[0, 0, 0]}]

Naive perturbative solution

tmpsol = 
        NDSolve[{x''[t]  +  1/10 x'[t] ( x[t]^2 - 1)  +  
                x[t] == 0, x[0] == 1, x'[0] == 0}, 
          x[t], {t, 0, 100}];
Plot[ {x[t]  /.  tmpsol , 
Cos[t]  +  
          1/10 ( 
              3/8 (t  Cos[t] - Sin[t]) - 
                1/32 (Sin[3  t] - 3 Sin[t]))}, {t, 0, 20}, 
      PlotStyle -> {RGBColor[0, 1, 0], RGBColor[1, 0, 0]}]

tmpsol = 
        NDSolve[{x''[t]  +  1/10 x'[t] ( x[t]^2 - 1)  +  
                x[t] == 0, x[0] == 1, x'[0] == 0}, 
          x[t], {t, 0, 100}];
Plot[ {x[t]  /.  tmpsol , 
Cos[t]  +  
          1/10 ( 
              3/8 (t  Cos[t] - Sin[t]) - 
                1/32 (Sin[3  t] - 3 Sin[t]))}, {t, 0, 50}, 
      PlotStyle -> {RGBColor[0, 1, 0], RGBColor[1, 0, 0]}]

Solution obtained with the method of Multiple Scales

tmpsol = 
        NDSolve[{x''[t]  +  1/10 x'[t] ( x[t]^2 - 1)  +  
                x[t] == 0, x[0] == 1, x'[0] == 0}, 
          x[t], {t, 0, 100}];
Plot[ {x[t]  /.  
          tmpsol , 
2 (1 + 
                  3  Exp[-t/10])^(-1/2) Cos[t]  + 
          1/10 ( 0)}, {t, 0, 50}, 
      PlotStyle -> {RGBColor[0, 1, 0], RGBColor[0, 0, 0]}]