I think this is a very good question. Here is my explanation, but maybe someone can give a better one.
In this equation:
dsolve('D2y+5*Dy+6*y=dirac(t)','y(0)=0','Dy(0)=0','t');
Dy is actually discontinuous at the origin. The way the initial conditions are interpreted is that Dy(0) means the average of Dy(0+) and Dy(0-).
Here (0+) means the limit from the positive side, (0-) means the limit from the negative side. If you look at x around the origin, you will indeed see that the derivative is actually discontinuous at the origin. At (0-) it is negative, and at (0+) it is positive with the same magnitude so that the AVERAGE value is zero, It's a little different than how it is defined for Laplace transforms, where initial conditions are taken at (0-).
Try this for example:
dsolve('Dy = dirac(t)', 'y(0) = 0')
And you will see that it is not exactly the step function, but rather a step function that is shifted down by one half to make the average value at y(0) = 0.
ans = heaviside(t) - 1/2
In fact these two evaluate to be the same:
dsolve('D2y+5*Dy+6*y=dirac(t)','y(0)=0','Dy(0)=0','t');
diff(dsolve('D2y+5*Dy+6*y=heaviside(t)-1/2','y(0)=0','Dy(0)=0','t'));
Note, also, that the following two expressions where I simply added a delay will also give you the same answers, because in this case there is no discontinuity at the t = 0 and the initial conditions are in agreement regardless of which definition you use:
dsolve('D2y+5*Dy+6*y=dirac(t-1)','y(0)=0','Dy(0)=0','t');
diff(dsolve('D2y+5*Dy+6*y=heaviside(t-1)','y(0)=0','Dy(0)=0','t');
Best Answer