
绘制镂空图要求将z<0.1部分镂空,绘制切面图要求将z>0.5部分切平
clc,clear,close all;
x = -1.5*pi:0.1:1.5*pi;
y = -1.5*pi:0.1:1.5*pi;
[X,Y]=meshgrid(x,y);
Z = (cos(X).*sin(Y))./Y;
Z(Z>0.5) = 0.5;
Z(Z<0.1) = nan;
surf(X,Y,Z)
axis([-5 5 -5 5 -1 0.5])

clc,clear,close all;
x = -1.5*pi:0.01:1.5*pi; %步长间隔缩小,采样密集些绘制出来更平滑
y = -1.5*pi:0.01:1.5*pi;
[X,Y]=meshgrid(x,y);
Z = (cos(X).*sin(Y))./Y;
Z(Z>=0.5) = 0.5;
Z(Z<0.1) = nan;
Z(Z==0.1) = 0.1;
s = surf(X,Y,Z,'FaceAlpha',0.5); %设置颜色属性,防止surf绘制后一团黑
s.EdgeColor = 'none';
axis([-5 5 -5 5 -1 0.5])

z<0.1处就镂空效果不是很自然,z<-0.1处再镂空对比更明显:
clc,clear,close all;
x = -1.5*pi:0.01:1.5*pi;
y = -1.5*pi:0.01:1.5*pi;
[X,Y]=meshgrid(x,y);
Z = (cos(X).*sin(Y))./Y;
Z(Z>=0.5) = 0.5;
Z(Z<-0.1) = nan;
Z(Z== -0.1) = -0.1;
s = surf(X,Y,Z,'FaceAlpha',0.5);
s.EdgeColor = 'none';
axis([-5 5 -5 5 -1 0.5])
