There are ways to approximate a non-positive definite matrix to positive definite. You can try (please talk to math people or Internet). However, sometimes these ways are no good enough as Matlab still complains. As a result, it is the best way for solution to fix your data (smoothing and so on).
Try changing the precision from double to single (matlab program has to initialize a matrix using the like statement :)
B = zeros(m,n)
By default B is of double precision, so to change it to single precision
A=single(B)
But this is not a generic method, even it could help getting arround your problem, it would possibly not work all the time.