There's a bug in the OpenGL renderer that produces faulty face lighting in surface plots, see picture above and http://www.mathworks.com/matlabcentral/newsreader/view_thread/249184 .
This submission contains a function that computes face normal data for the 'VertexNormals' property of the surface that fixes the lighting (facenorm.m) as well as a workaround function that you can just use in place of surf (surfo.m).
Only use this if you get erroneous surface plots and you can't go without OpenGL and flat lighting.
Andres (2021). surfo (https://www.mathworks.com/matlabcentral/fileexchange/23882-surfo), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!