matlab mesh()函数功能演示(已验证)

【功能】绘制三维曲面网格图。三维曲面网格图的最大优点是较好地解决了数据在三维空间的可视化问题。
【语法】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])

猜你喜欢

转载自blog.csdn.net/Vertira/article/details/130734945
今日推荐