MATLAB三维绘图(三)绘制等值线图

1、使用contour函数绘制等值图,示例:

%% 显示不同颜色的梯度图
clear; clc; close all;
x = -3.5:0.2:3.5; 
y = -3.5:0.2:3.5;
[X,Y] = meshgrid(x,y);  % 获取网格
Z = X.*exp(-X.^2-Y.^2);
subplot(2,1,1); 
mesh(X,Y,Z);   % 绘制三维图
axis square;  % 坐标轴之间的尺度相等
subplot(2,1,2); 
contour(X,Y,Z); % 显示不同高度的线段
axis square;  % 坐标轴之间的尺度相等

效果显示:

等变图神经网络结构 等值网络图怎么画_二维


2、使用clabel函数查看等值线上的值,示例:

%% 使用clabel函数查看等值线的值
clear; clc; close all;
x = -3.5:0.2:3.5; 
y = -3.5:0.2:3.5;
[X,Y] = meshgrid(x,y); 
Z = X.*exp(-X.^2-Y.^2);
[C,h] = contour(Z); % 显示梯度,并且获取梯度数据进行操作
clabel(C,h); % 显示梯度的值

效果显示:

等变图神经网络结构 等值网络图怎么画_等变图神经网络结构_02


3、使用contourf函数查看等值线,示例:

%% 使用contourf函数显示等值线,并且有颜色填充
clear; clc; close all;
x = -3.5:0.2:3.5; 
y = -3.5:0.2:3.5;
[X,Y] = meshgrid(x,y); 
Z = X.*exp(-X.^2-Y.^2);
contourf(Z);   % 显示梯度,并且使用颜色进行填充

效果显示:

等变图神经网络结构 等值网络图怎么画_MATLAB_03


4、使用meshc函数和surfc函数查看原图和等值线图的对比,示例:

%% meshc和surfc显示三维图,并且显示不同的等高线
clear; clc; close all;
x = -3.5:0.2:3.5; 
y = -3.5:0.2:3.5;
[X,Y] = meshgrid(x,y);  % 获取网格
Z = X.*exp(-X.^2-Y.^2);
subplot(1,2,1); 
meshc(X,Y,Z);  % 绘制三维图,并且显示等高线
subplot(1,2,2); 
surfc(X,Y,Z);  % 绘制三维图,并且显示等高线

效果显示:

等变图神经网络结构 等值网络图怎么画_hg_04


说明:一般情况下如果想看原来图像和等值线的对比图,在函数后面加字母c即可,如meshc查看mesh函数绘制图形的等值图和原图的对比。

4、使用隐含数绘制等值线图:

使用ezcontour函数绘制,示例:

%% 符号函数的等值线图
clear; clc; close all;
figure;
ezcontour('x.*exp(-x.^2-y.^2)',[-3 3]);

效果显示:

等变图神经网络结构 等值网络图怎么画_等变图神经网络结构_05


使用ezmeshc函数绘制,示例:

%%  带有等值线的三维网格图
clear; clc; close all;
figure;
ezmeshc('x.*exp(-5*x.^2-8*y.^2)');

效果显示:

等变图神经网络结构 等值网络图怎么画_MATLAB_06


使用ezsurfc函数绘制,示例:

%%  带有等值线的三维彩色的曲面图
clear; clc; close all;
figure;
ezsurfc('4*x.*exp(-4*x.^2 - 6*y.^2)');

效果显示:

等变图神经网络结构 等值网络图怎么画_二维_07