首页 > 其他 > 详细

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

时间:2020-03-09 14:11:03      阅读:122      评论:0      收藏:0      [点我收藏+]

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三维绘图(三)绘制等值线图

原文:https://www.cnblogs.com/zhicungaoyuan-mingzhi/p/12447763.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!