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

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); % 显示梯度的值

效果显示:
在这里插入图片描述
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);   % 显示梯度,并且使用颜色进行填充

效果显示:
在这里插入图片描述
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);  % 绘制三维图,并且显示等高线

效果显示:
在这里插入图片描述
说明:一般情况下如果想看原来图像和等值线的对比图,在函数后面加字母c即可,如meshc查看mesh函数绘制图形的等值图和原图的对比。
4、使用隐含数绘制等值线图:
使用ezcontour函数绘制,示例:

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

效果显示:
在这里插入图片描述
使用ezmeshc函数绘制,示例:

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

效果显示:
在这里插入图片描述
使用ezsurfc函数绘制,示例:

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

效果显示:
在这里插入图片描述

想了解更多绘图信息,请看下面博文:
三维:
MATLAB三维绘图(五)高级三维绘图
MATLAB三维绘图(四)绘制特殊的三维图
MATLAB三维绘图(二)使用隐函数作三维图
MATLAB三维绘图(一)三维基础绘图
MATLAB三维绘图基础meshgrid函数的用法解析

二维:
MATLAB二维绘图(四)其他特殊的二维绘图函数介绍及用法
MATLAB二维绘图(三)操作绘图句柄显示特定的效果
MATLAB二维绘图(二)向图中添加标题,坐标轴,图标和文字信息
MATLAB二维绘图(一)使用plot函数进行简单绘图
fill填充函数解析及用法示例

posted @ 2020-03-09 11:51  SZU_黄其才  阅读(7753)  评论(0编辑  收藏  举报