In this forum you find many questions concerning these white lines on PDF. Under some of them you find my answer, that this is not a problem of Matlab, but of the program, which displays the PDF. If it is Acrobat reader, open the Preferences and deselect "Smooth line art" and/or "smooth images".
It is an inherent problem: If two triangles with different colors are touching, it cannot be uniquely defined, how the pixels on the edge are drawn. The decision to apply an anti-aliasing, "smoothing", causes the edge to be a mixture of the color of the area and background of the paper. If both triangles use this, you see the white color of the background at the edge. Disabling the smoothing let this effect vanish. This is a problem of the definition of surfaces as 2D vector graphics in the PDF format.
Maybe it is better to use the OpenGL renderer and export this as a bitmap instead of vector graphics. See e.g. print -dpng. You can set a higher resolution there also e.g. by -r 600, if you are afraid for pixel artifacts in the output.