0
$\begingroup$

I need help to find a solution to the differential equation bellow. The solution obtained with this code is a very small negative number in all the domain, and it was mathematically proved that exists a positive solution to this problem. Any hints?

solu = NDSolve[{-z''[t] == (Sin[2 + z[t]] z[t]^2)/(1 + t)^4.5,z[0] == 0., z'[10000] == 0.}, z, {t, 0., 10000}, Method -> {"Shooting","StartingInitialConditions" -> {z[0] == 0., z'[0] == 0.15}}]
LogLinearPlot[Chop[Evaluate[z[t] /. solu]], {t, 0.1, 10000}]
$\endgroup$
5
  • $\begingroup$ Well, the zero function is a solution that satisfies the ODE & BCS. (It's also, trivially, a polynomial.) $\endgroup$
    – Michael E2
    Commented Jul 9, 2016 at 3:59
  • $\begingroup$ I cannot see how you can expect to get non-trivial polynomial solutions... $\endgroup$ Commented Jul 9, 2016 at 4:16
  • $\begingroup$ It seems likely that this nonlinear ODE system has no solution except z == 0 due to the Sin[2 + z[t]] term in the ODE. Remove it, and solutions can be obtained easily, as in your earlier question. $\endgroup$
    – bbgodfrey
    Commented Jul 9, 2016 at 5:09
  • $\begingroup$ It was mathematically proved that exists a positive solution to this equation...but what we are obtaining is negative, i dont know why. $\endgroup$
    – Stratus
    Commented Jul 9, 2016 at 18:59
  • $\begingroup$ Note that Bob Hanlon's solutions are essentially zero. The negative values may be due only to rounding error. Do you get different negative solutions? $\endgroup$
    – Michael E2
    Commented Jul 10, 2016 at 5:17

1 Answer 1

3
$\begingroup$
solu = NDSolve[{-z''[t] == (Sin[2 + z[t]] z[t]^2)/(1 + t)^(9/2), z[0] == 0, 
     z'[10000] == 0}, z, {t, 0, 10000}, 
    Method -> {"Shooting", 
      "StartingInitialConditions" -> {z[0] == 0, z'[0] == 15/100}}][[1]];

LogLinearPlot[z[t] /. solu, {t, 0.1, 10000}]

enter image description here

Since the values are so small, Using Chop returns zero ("Chop uses a default tolerance of 10^-10").

With higher precision the values are even smaller

solu = NDSolve[{-z''[t] == (Sin[2 + z[t]] z[t]^2)/(1 + t)^(9/2), z[0] == 0, 
     z'[10000] == 0}, z, {t, 0, 10000}, 
    Method -> {"Shooting", 
      "StartingInitialConditions" -> {z[0] == 0, z'[0] == 15/100}},
    WorkingPrecision -> 20][[1]];

LogLinearPlot[z[t] /. solu, {t, 1/10, 10000},
 WorkingPrecision -> 20]

enter image description here

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.