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

1st order nonlinear ODE

  1. Sep 30, 2010 #1
    Can anyone help with the following:

    dy/dx = ay / (bx2 +xy )

    a,b constants

  2. jcsd
  3. Sep 30, 2010 #2
    The key is to consider the unknown function x(y) instead of y(x)

    Attached Files:

    • ODE.JPG
      File size:
      42.2 KB
  4. Sep 30, 2010 #3
    Hi. Thanks for that. However, I'm not convinced your use of the Ei is correct if you define:

    [tex]Ei(x)=\int_{-\infty}^x \frac{e^t}{t}dt[/tex]

    If I start with the expression:

    [tex]d(e^y t)=-\frac{e^y}{y}[/tex]

    then integrating from y_0, t_0 to y,t:

    [tex]\int_{\substack{t=t_0 \\ y=y_0}}}^{y,t}d(e^y t)=-\int_{y_0}^y \frac{e^y}{y}dy[/tex]

    and get:

    [tex]x(y)=\frac{e^y}{\frac{e^{y_0}}{x_0}-\int_{y_0}^y \frac{e^y}{y}dy}[/tex]

    Now, that agrees with numerical calculations but I'm not sure how I could express that in terms of Ei(x) though.
  5. Oct 1, 2010 #4
    Of course, you cannot express that in terms of Ei(x), but in terms of Ei(y).
    May be, writing "in terms of" isn't the good wording. What I mean is that Ei(y) is the special function involved in the formula for x(y), as it was shown.
    But I never said that Ei(x) is involved in an hypothetical formula for y(x). On the contrary, I said that the analytical inversion of x(y) in order to obtain y(x) is probably utopian with a finite number of elementary functions and even with classical special functions.
  6. Oct 1, 2010 #5
    thanks guys! - I appreciate the help
  7. Oct 1, 2010 #6
    Ok, I messed that up. I meant Ei(y) but I see as long as you define Ei(y) appropriately, I see what you mean.

    Here's the numerical check of:

    [tex]y'=\frac{y}{x^2+xy},\quad y(1)=1[/tex]

    Code (Text):

    mysol = NDSolve[{Derivative[1][y][x] ==
          y[x]/(x^2 + x*y[x]), y[1] == 1}, y,
        {x, 1, 5}];

    p1 = Plot[y[x] /. mysol, {x, 1, 5}];

    myx[y_] := Exp[y]/(Exp[1] -
         NIntegrate[Exp[u]/u, {u, 1, y}]);

    mytable = Table[{myx[y], y},
        {y, 1, 1.6, 0.01}];

    p2 = ListPlot[mytable, Joined -> True];

    Show[{p1, p2}]
    Notice how I tabulate the numbers in terms of {x(y),y} to retrieve the inverse numerically. The two plots superimpose nicely.
  8. Oct 1, 2010 #7
    For me where was no doubt.
    Nevertheless its a good idea to check it numerically. Well donne !
  9. Oct 13, 2010 #8
    Is this a research question, or just homework? If it's serious, I may be able to get somewhere with an analytic (explicit) solution... possibly.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook