MATLAB: What’s the difference between surf and surface

functionmatlab functionsurfsurface

I think they are essentially the same function? But why do we have both of them? Are there any differences that I should keep in mind when making choices?

Best Answer

The difference is that surf checks first to see if the axes Nextplot property says to replace plot, and if so then it does a cla. Then either way it calls surface()
In other words if "hold on" is not in effect (or the internal equivalent) then surf will erase the current plot. surface() will not do that.
The difference is sort of like the difference between line() and plot(). line() never erases the current plot. plot() might erase the current plot, and whether it does or not it will call line to do the drawing work.
Related Question