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

How to solve this 2nd order nonlinear differential equation

  1. May 15, 2008 #1
    Hello all,

    This is the first time Ive stumbled across this site, but it appears to be extremely helpful. I am a meteorology grad student, and in my research, I have run across the following 2nd order non linear differential equation. It is of the form:

    y'' + a*y*y' + b*y=0

    where a and b are constants

    Can this equation be solved analytically? If not, what program does one recommend for solving it numerically? There is also a slightly more complex form of this equation:

    y'' + a*y*y' + b*y=c

    where a, b and c are constants

    If anyone could assist me in solving this or direct me to a source for solving it numerically, it would be most appreciated.


  2. jcsd
  3. May 15, 2008 #2
    Try the substitution y' = u to reduce it to a first order system of two ODEs. (Source:Tenenbaum/Pollard)
    Ie., your first ODE becomes the system y' = u, uu' = -ayu - by, where in the second eq. u is treated as u(y) and u' = du/dy, which we can then plug into the first equation to integrate for y(x). The second equation is separable, so there is a straightforward analytic solution.
    Last edited: May 15, 2008
  4. May 15, 2008 #3

    Im not following you. Could you go into a let more detail if possible. Thanks,

  5. May 15, 2008 #4


    User Avatar
    Homework Helper

    Assuming y is function of x, y' = u. u' = d^2y/dx^2 = d/dy (dy/dx) dy/dx by the chain rule. This is equivalent to u du/dy. Hence u' = u du/dy.

    After substituting for y' = u, the ODE is u' = -ayu - by. Replacing u' with u du/dy gives:
    u du/dy = -y(au+b) This equation is separable and hence solvable. Once you have u(y), you have dy/dx = u(y), which is again separable and solvable.
  6. May 15, 2008 #5

    I understand how you get: u' = -ayu - by when you set y'=u

    I dont understand how u'=u du/dy . I appreciate you trying to work me through this. Any additional explanation would be appreciated.

    Specifcally, how is this so:

    Last edited: May 15, 2008
  7. May 15, 2008 #6


    User Avatar
    Homework Helper

    That follows from the chain rule.

    [tex]\frac{d^2y}{dx^2} = \frac{d}{dx} \left ( \frac{dy}{dx} \right ) = \frac{d}{dy} \left ( \frac{dy}{dx} \right ) \ \frac{dy}{dx}[/tex]

    Replace [tex]\frac{dy}{dx}[/tex] with u.
  8. May 27, 2008 #7
    When I solve u' = -ayu - by I get:

    [tex]\frac{u}{a}-\frac{b}{a^2}ln[|{au+b}|]+C_1 =-\frac{1}{2}y^2 + C_2 [/tex]

    So then we need to make the above equation u=u(y) correct? Since we have a ln (natural log), is this possible? Any more help is most appreciated. Thanks,

  9. May 29, 2008 #8
    anyone care to comment on the solution?
  10. Jun 2, 2008 #9
  11. Jun 2, 2008 #10


    User Avatar
    Science Advisor

    I don't get that. From du/dy= -y(au+ b) we can get du/(au+b)= -ydy so, integrating both sides, (1/a)ln(au+ b)= -(1/2)y2+ C. I don't know what you mean by "make u= u(y) correct". Solve for u? Without your additional "u/a" that's easy:
    [tex]au+ b= C'e^{-\frac{y^2}{2}}[/tex]
    where C'= aeC.
  12. Jun 2, 2008 #11


    User Avatar
    Homework Helper

    Actually u' isn't du/dy.

    [tex]u' = \frac{du}{dx} = \frac{du}{dy} (\frac{dy}{dx}) = u \frac{du}{dy}[/tex]

    That's where the u/a term comes, once you do long division of u/(au+b).
  13. Jun 4, 2008 #12

    How do you rewrite u in terms of y only? Can it be done?
  14. Jun 4, 2008 #13


    User Avatar
    Homework Helper

    Honestly I have no idea if it's possible. It never occurred to me earlier because I didn't actually attempted the DE itself, I just noted it would be solvable if such could be done.
  15. Jul 28, 2008 #14


    User Avatar
    Science Advisor

    Yes, that is a simple application of the chain rule. In fact, that application to differential equations is a standard method called "quadrature"
  16. Jul 29, 2008 #15


    User Avatar
    Homework Helper

    Actually he was referring to this post:
    I really don't see how to write u in terms of y there. And anyway the post which resurrected this thread and which preceded yours appears to have been deleted.
  17. Apr 22, 2010 #16
    Does anyone can help me to solve this second order non linear ODE:

    y'' + (2/x)(y') - (1/2y)(y')(y') = K,

    y' = dy/dx

    y'' = dy'/dx

    y = y(x)

    I've already guess y=Ax^2 satisty this equation, but I want to solve it analitically..

    Please help!
    Thank before..
  18. Dec 12, 2010 #17
    I'm trying to solve y''(t) + w02 y(t) = k y(t)2 sin(w t). Does anybody know, how to get a particular solution?

  19. Dec 12, 2010 #18


    User Avatar
    Homework Helper

    There's probably no general analytic expression. At least, wolfram alpha doesn't give one, even when I give it initial conditions.

    How large is k supposed to be compared to [itex]\omega_0^2[/itex]? If it's supposed to be small, you could do perturbation theory to get an approximation solution valid when [itex]ky(t) \ll \omega_0^2[/itex].
  20. Dec 14, 2010 #19
    try (f(x+0) - f(x))/0
    divide out the zero
    and say tadah, solved numerically. whatever the hell that means.
    Last edited: Dec 14, 2010
  21. Dec 18, 2010 #20
    Thanks for your help. The instructions say 'solve the problem analitically', so I guess I counstructed a wrong equation. It's without y^2, so there's no problem anymore. Tnx.
  22. Dec 18, 2010 #21
    To recap:

    u \equiv y'

    Then, the second derivative became:

    y'' = \frac{d y'}{d x} = \frac{d u}{d y} \frac{d y}{d x} = u \frac{d u}{d y}

    and your equation becomes:

    u u' + a y u + b y = c

    where [itex]u' \equiv du/dy[/itex]. I think some previous posters made a mistake in converting the second derivative.
  23. Mar 31, 2011 #22
    Suggest than use the program wxmaxima or maple!
  24. Mar 31, 2011 #23
    Thanks for advice. However, it turned out that I constructed a wrong differential equation at the beginning. A new one was very simple to solve.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook