【功能】绘制三维曲面网格图。三维曲面网格图的最大优点是较好地解决了数据在三维空间的可视化问题。
【语法】mesh( z ),z 为待绘制函数。
示例代码如下:
x=-8:0.5:8;
y=x';
X=ones(size(y))*x;
Y=y*ones(size(x));
R=sqrt(X.*X+Y.*Y);
z=sin(R)./R;
mesh(z) %大家只需了解mesh()的效果就行,不用纠结上面代码
mesh多个图像分别使用不同颜色区别显示
close all
clear
clc
[x,y] = meshgrid(-pi:0.1:pi);
A1 = 0.5*sin(1)-2*cos(1)+sin(2)-1.5*cos(2);
A2 = 1.5*sin(1)-cos(1)+2*sin(2)-0.5*cos(2);
B1 =0.5.*sin(x)-2.*cos(x)+sin(y)-1.5.*cos(y);
B2 = 1.5.*sin(x)-cos(x)+2.*sin(y)-0.5.*cos(y);
f1 = 1+(A1-B1).^2+(A2-B2).^2;
f2 =(x+3).^2+(y+1).^2;
figure(1)
mesh(x,y,f1,'edgecolor','r','linewidth',0.5)
hold on
mesh(x,y,f2,'edgecolor','g','linewidth',0.5)
xlabel('x'),ylabel('y'),zlabel('f')
legend('f1','f2')
colourbar
1.caxis([cmin cmax])
用来控制colorbar的上下边界,通过控制边界可以使各个子图使用同样范围的colorbar。默认情况下不使用控制Colorbar函数时是以函数值大小依次来进行颜色填充,对于自定义的情况则需要手动设定,这也是博主今天同事问到才注意,一般情况下默认基本上就够用了。
clear all
clc
subplot(2,1,1)
[x y]=meshgrid(-1:0.01:1);
f=x.^2+y.^2;
mesh(x,y,f)
colorbar
caxis([0 4])
subplot(2,1,2)
[x y]=meshgrid(-1:0.01:1);
f=x.^2+y.^2+2;
mesh(x,y,f)
colorbar
caxis([0 4])
2.在上面的例子中我们使两个子图的colorbar保持一致,这时候就出现了另外一个问题,
既然两个图的colorbar一样,那我们为什么不合二为一呢?我们将colorbar统一放到两个
图形的右边,这时候就需要对子图的大小、位置进行控制。
clear all
clc
h1=subplot(2,1,1);
% get(h1,'Position')
set(h1,'Position',[0.2 0.6 0.5 0.35])
[x y]=meshgrid(-1:0.01:1);
f=x.^2+y.^2;
mesh(x,y,f)
h=colorbar;
% get(h, 'Position')
set(h,'Position',[0.8 0.1 0.05 0.8])
caxis([0 4])
h2=subplot(2,1,2);
% get(h2,'Position')
set(h2,'Position',[0.2 0.1 0.5 0.35])
[x y]=meshgrid(-1:0.01:1);
f=x.^2+y.^2+2;
mesh(x,y,f)
% colorbar
% caxis([0 4])