Hi,
the reason for this behavior is that your sampling rate (t) is 100 Hz. The steps of t = 0.01 and the integer multiples of 100 result in the calculation of a, being always an integer multiple of 2 * Pi. This always results in 1. If you want to calculate for 100 or Integer multiple from 100, you should change the sampling rate. Maybe a prime number which is not in your range to calculate is a good choice.
So it can be said, that the plot is correct, but it is not doing what you expected for the reason mentioned above.
EDIT:
In addtion, you should have a look what happens, if you do 50 or 25 - this will not be a cosine wave but a Kind of sawtooth, which is also a result of the sampling rate t=0.01 you have choosen. By choosing 50 you get an a which is always -1 1 -1 1 -1 1...
It gets even worse if you use 33 or 34 - try that. Then suddenly it looks as if you are dealing with superimposed oscilations, although this is definitely not true, because if you scan with t = 0.001, you recognize the correct behavior.
So you should think about the range of your values and then choose a sampling rate which is giving you the expected results.
Best regards
Stephan