I cannot run your code.
Adapt this to your cylinder:
D = 10;
[X,Y,Z] = cylinder(D);
r = D;
ang = linspace(0, 2*pi);
xcirc = r*cos(ang);
ycirc = r*sin(ang);
zcirc = ones(size(ang))*max(Z(:));
figure
surf(X, Y, Z)
hold on
patch(xcirc, ycirc, zcirc, 'r')
hold off
grid on
This creates a red ‘top’ to the cylinder. To cap it on the other end, duplicate the patch call, however substituting:
zcirc = ones(size(ang))*min(Z(:));
in the second call.
Best Answer