MATLAB: How to draw equipotential lines on surface plot

plotsurf

I created a basic surface plot using meshgrid and a function d(x,y). My plot has a global minimum < -1 and a global maximum > 1. I want to draw three equipotential lines onto my surface plot, one where d(x,y) = -1, one where d(x,y) = 0 and one where d(x,y) = 1.
What is an easy and elegant way to do that? Thanks.

Best Answer

If I understand correctly what you want to do, use the contour3 (link) function.
The code would go something like this:
X = [ ... ];
Y = [ ... ];
Z = [ ... ];
figure
surf(X, Y, Z)
hold on
contour3(X, Y, Z, [-1, 0, 1])
hold off
grid on