I would plot the differential equation function (not the integrated differential equation) as a function of time with the parameters that are causing the problem. There may be a discontinuity or singularity that you will only discover by plotting the function.
The easiest way to do this is to use a for loop. Iterate over your time vector (use the linspace function to generate it), and save the output of each iteration to a separate row or column in a matrix. Then plot the matrix as a function of time. In my experience, this usually reveals the problem.
Since there will be one row or column for each value of your time vector, and you know the size of the output vector, preallocate the matrix.
Best Answer