Classic definition of Entropy is for discrete variables and it is always positive, but the extension of Shannon Entropy to the continues variables CAN BE NEGATIVE. This kind of entropy is called "differential entropy" and it is calculated as:
H[x] = 1/2 * (1 + ln(2 * pi * sigma^2)) ,
in which sigma is the variance of your random variable.
I'm not sure how you calculate entropy in MATLAB (discrete or continues) but this may explains why you get negative values.
I would like to add here that I found that MATLAB uses signal amplitude instead of probability to compute Shannon entropy. May be this is the reason for getting negative values..