I ran into this problem using a slightly complicated model, but made as simple an example as I could to identify the exact problem.
What I found was that, when solving a system of differential equations numerically, if NDSolve was asked to deal with both a floor function (e.g. Floor) and an algebraic transformation (e.g. y[t-5]), then it will not work. For example, the code
NDSolve[{y'[t] == y[t - 7]*Floor[t], y[0] == 3}, {y[t]}, {t, 0, 2000}]
returns the errors
NDSolve::ihist: "Conditions given at t = 0.` will be interpreted as initial history functions for t/;t<=0.. "NDSolve::ndssc: Step size changed sign at t == 14.`. and it only Interpolates from
[{{0,14}},<>]
Even though running NDSolve with a function involving either y[t-7] or Floor alone works fine. (For example, NDSolve is able to compute the following two lines of code.)
NDSolve[{x'[t] == Floor[t], x[0] == 0}, {x[t]}, {t, 0, 2000}]
NDSolve[{y'[t] == y[t - 7], y[0] == 3}, {y[t]}, {t, 0, 2000}]
Finally, and most perplexingly, if you run NDSolve on the previous two functions together instead of separately,
even though they do not depend on each other, it still returns errors as in the first example.
NDSolve[{x'[t] == Floor[t], y'[t] == y[t - 7], x[0] == 0,
y[0] == 3}, {x[t], y[t]}, {t, 0, 2000}]
NDSolve::ihist: "Conditions given at t = 0.` will be interpreted as initial history functions for t/;t<=0.. "NDSolve::ndssc: Step size changed sign at t == 14.`. Interpolates from
[{{0,14}},<>]
Does anyone know anything about an error like this?