MATLAB: Bug with cosd and sind functions

cosdMATLABnot a bugsind

The first numerical derivative of the function sine should give the cosine, but there is an error with the degree functions. The equivalent radiant functions works fine. I have found this problem in Matlab R2016b but I still have it on the R2017a release.
>> ( sin(pi/6+0.00001) - sin(pi/6-0.00001) )/(2*0.00001)
ans =
0.8660
>> cos(pi/6)
ans =
0.8660
>> ( sind(30+0.0001) - sind(30-0.0001) )/(2*0.0001) % error
ans =
0.0151
>> cosd(30)
ans =
0.8660

Best Answer

This is not a bug. The derivative of sin(x) with respect to x is cos(x). But sind(x) is not sin(x), it is sin(k*x) for a constant k. See this Wikipedia page.