如何用matlab画出这样的图?我试过meshc指令,传入参数后能画出曲面和等高线,效果如下:但是等高线的标注似乎没有办法加上去;也是过mesh+hold on+contour,效果如下:但是坐标轴只能从0开始,设置

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/08 10:14:53

如何用matlab画出这样的图?我试过meshc指令,传入参数后能画出曲面和等高线,效果如下:但是等高线的标注似乎没有办法加上去;也是过mesh+hold on+contour,效果如下:但是坐标轴只能从0开始,设置
如何用matlab画出这样的图?

我试过meshc指令,传入参数后能画出曲面和等高线,效果如下:

但是等高线的标注似乎没有办法加上去;
也是过mesh+hold on+contour,效果如下:但是坐标轴只能从0开始,设置不了的.

如何用matlab画出这样的图?我试过meshc指令,传入参数后能画出曲面和等高线,效果如下:但是等高线的标注似乎没有办法加上去;也是过mesh+hold on+contour,效果如下:但是坐标轴只能从0开始,设置
[x y z]=peaks;
h=mesh(x,y,z);hold on  %现根据数据画图
a = get(gca,'zlim');   %获得图像的z方向上下限
zpos = a(1);           %zpos为下限
[cc,hh]=contour3(x,y,z,[-5:2:5]);%画轮廓线
hold off
for i = 1:length(hh)
    zz = get(hh(i),'Zdata'); %获得轮廓线的高度数据
    set(hh(i),'Zdata',zpos*ones(size(zz)));
    %将轮廓线的高度数据改为zpos
    %不一定要显示在原来图像的z下限
    %可以根据需要显示在指定的z=zpos平面
end
clabel(cc,hh);%标注轮廓线
set(h,'edgecolor','k'); %改网格颜色
set(hh,'edgecolor','k');%改轮廓线颜色