Using for example an ODE like

ode = t^3 y''[t] + t y'[t] + y[t]

with the following boundary conditions

bc = {y[1] == 0, y'[1] == 1};

And using NDSolve, we have:


sol = NDSolve[Flatten[{ode ==0, bc}],y,{t,ti,tf}]

We can see that t = 0 is an irregular singular point of ODE. And even using a high WorkingPrecision, PrecisionGoal, and AccuracyGoal, y[ti] still being "wrong". What is the most efficient way to have a good solution close to t=0 using NDSolve?

I'm saying that it's wrong because defining the following function

testfunc[t_] = Log10[Abs[ode/.sol]]

We can see that testfunc[ti] = 29.827 when this needed to be close to 0.

  • $\begingroup$ Symbolic solution?: DSolve[{ode == 0, bc}, y, t] $\endgroup$
    – Michael E2
    Mar 24 at 11:40


Your Answer

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