Community Tip - Did you get an answer that solved your problem? Please mark it as an Accepted Solution so others with the same problem can find the answer easily. X
Hmm, with your range variable you demand a precision of 20000 points, but odesolve by default has only a resolution of 1000 points!
So what you get to see is mostly the effect of (nonlinear) interpolation.
If you need a precision that high, you must also tell the solve block so by adding the last optional argument in "odesolve".
The difference is quite significant as you can see here:
I also prefer using "CreateSpace" instead of defining a range variable, but this may be a matter of personal preference.