我已完成以下代码:
u=linspace(0,1,40);
v=linspace(0,1,40);
[u,v]=meshgrid(u,v);
x=u;
y=v.*sqrt(u);
z=x+y+1;
meshz(x,y,z)
xlabel('x-axis')
ylabel('y-axis')
其中给出了以下图像:
现在,我想将网格墙减少到x-y平面(z=0
)。我尝试了以下,但没有用:
u=linspace(0,1,40);
v=linspace(0,1,40);
[u,v]=meshgrid(u,v);
x=u;
y=v.*sqrt(u);
z=x+y+1;
meshz(x,y,z)
xlabel('x-axis')
ylabel('y-axis')
v=axis;
v(5)=0;
axis(v)
产生以下图片:
我尝试了其他一些内容,例如上一个代码:添加hold on
,再次调用meshz(x,y,z)
,但它们无效。如何将meshz
墙向下延伸到x-y平面?
答案 0 :(得分:3)
执行此操作的一种方法是通过某些meshz
直接操纵handle graphics生成的'ZData'
:
...
h = meshz(x,y,z); % Get handle
Z = get(h,'ZData'); % Get ZData
Z([1 end],:) = 0; % Set border to 0, or other desired value
Z(2:end-1,[1 end]) = 0;
set(h,'ZData',Z); % Set ZData
...
产生