#Regular Expansion for Duffing's Equation #We choose initial conditions y(0)=1 and y'(0)=0 so y(t)=cos(t) to O(e). restart; macro(e=epsilon); N := 3; Order := N+1; z := add(y[k](t)*epsilon^k, k = 0 .. N); DE := y -> diff(y, t, t)+y+e*y^3; des := series( DE(z), e); dos := dsolve({coeff(des, e, 0), y[0](0) = 1, (D(y[0]))(0) = 0}, y[0](t)); assign(dos); for k to N do tmp:=dsolve({coeff(des,e,k),y[k](0)=0,(D(y[k]))(0)=0},y[k](t)); assign(tmp); end do: Delta := DE(z): ResidualSeries := map(combine, series(Delta, e, Order+3), trig);