Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Second order, nonlinear differential equation help

  1. Sep 6, 2011 #1
    I've been trying to solve this one for a while. My professor wasn't even sure how to do it. Any suggestions?
    y''+t*y+y*y'=sin(t)
     
  2. jcsd
  3. Sep 6, 2011 #2
    Yeah. How about a power series solution? Huh? What do you mean that yy' thing? No? How about the Mathematica code below then. Looks pretty close to me.

    Code (Text):

    Remove[a];

    nmax = 25;

    myleftside = Sum[n*(n - 1)*Subscript[a, n]*t^(n - 2), {n, 0, nmax}] +
        Sum[Subscript[a, n - 3]*t^(n - 2), {n, 3, nmax + 2}] +
        Sum[Subscript[a, k]*Subscript[a, n - k]*(n - k)*t^(n - 1), {n, 0, nmax + 1}, {k, 0, n}];

    myrightside = Sum[((-1)^n*t^(2*n + 1))/(2*n + 1)!, {n, 0, nmax}];

    myclist = Flatten[Table[Solve[Coefficient[myleftside, t, n] == Coefficient[myrightside, t, n],
          Subscript[a, n + 2]], {n, 0, nmax}]];

    Subscript[a, 0] = 0;
    Subscript[a, 1] = 1;

    mysec = Table[Subscript[a, n] = Subscript[a, n] /. myclist, {n, 2, nmax}];

    thef[t_] := Sum[Subscript[a, n]*t^n, {n, 0, nmax}];

    p1 = Plot[thef[t], {t, 0, 2}, PlotStyle -> Red];

    mysol = NDSolve[{Derivative[2][y][t] + t*y[t] + y[t]*Derivative[1][y][t] == Sin[t], y[0] == 0,
        Derivative[1][y][0] == 1}, y, {t, 0, 2}];

    p2 = Plot[y[t] /. mysol, {t, 0, 2}, PlotStyle -> Blue];

    Show[{p1, p2}]

     
     
    Last edited: Sep 6, 2011
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook