matlab等高线(MATLAB的contour函数绘制2维等高线)

等高线(英语:Contour line)指的是地形图上高程相等的各点所连成的闭合曲线。在绘制和地形相关的数据时,经常要使用等高线。MATLAB的contour函数能够绘制等高线。 1.contour函数绘制矩阵的等高...

等高线(英语:Contour line)指的是地形图上高程相等的各点所连成的闭合曲线。在绘制和地形相关的数据时,经常要使用等高线。MATLAB的contour函数能够绘制等高线。

1.contour函数绘制矩阵的等高线图

语法contour(Z)contour(X,Y,Z)contour(___,levels)contour(___,LineSpec)contour(___,Name,Value)contour(ax,___)M=contour(___)[M,c]=contour(___)说明contour(Z) 创建一个包含矩阵 Z 的等值线的等高线图,其中 Z 包含 x-y 平面上的高度值。MATLAB会自动选择要显示的等高线。Z 的行索引和列索引分别是平面中的 x 和 y 坐标。contour(X,Y,Z) 指定 Z 中各值的 x 和 y 坐标。contour(___,levels) 将要显示的等高线指定为上述任一语法中的最后一个参数。将 levels 指定为标量值 n,以在 n 个自动选择的层级(高度)上显示等高线。要在某些特定高度绘制等高线,请将 levels 指定为**递增值的向量。要在一个高度 (k) 绘制等高线,请将 levels 指定为二元素行向量 [k k]。contour(___,LineSpec) 指定等高线的线型和颜色。contour(___,Name,Value) 使用一个或多个名称-值对组参数指定等高线图的其他选项。请在所有其他输入参数之后指定这些选项。有关属性列表,请参阅 Contour 属性。contour(ax,___) 在目标坐标区中显示等高线图。将坐标区指定为上述任一语法中的第一个参数。M=contour(___) 返回等高线矩阵 M,其中包含每个层级的顶点的 (x, y) 坐标。[M,c]=contour(___) 返回等高线矩阵和等高线对象 c。显示等高线图后,使用 c 设置属性。

2.绘制函数的等高线

程序

clc;clear all;close all;x = linspace(-2*pi,2*pi);y = linspace(0,4*pi);[X,Y] = meshgrid(x,y);%创建矩阵 X 和 Y,用于在 x-y 平面中定义一个网格。将矩阵 Z 定义为该网格上方的高度。然后绘制 Z 的等高线。Z = 2.*sin(X)+3.*cos(Y);contour(X,Y,Z)

运行结果

MATLAB的contour函数绘制2维等高线

3.绘制多个层级的等高线

程序

clc;clear all;close all;figure;subplot(3,1,1)[X,Y,Z] = peaks;contour(X,Y,Z,20)subplot(3,1,2)contour(X,Y,Z,30)subplot(3,1,3)[X,Y,Z] = peaks;contour(X,Y,Z,'--')

运行结果

MATLAB的contour函数绘制2维等高线

4.带标签的等高线

程序

clc;clear all;close all;figure;x = -2:0.2:2;y = -2:0.2:3;[X,Y] = meshgrid(x,y);Z = X.*exp(-X.^2-Y.^2);% 将 Z 定义为两个变量 X 和 Y 的函数。然后创建该函数的等高线图,并通过将 ShowText 属性设置为 'on' 来显示标签。contour(X,Y,Z,'ShowText','on')

运行结果

MATLAB的contour函数绘制2维等高线

clabel函数可以为等高线图添加高程标签

程序

clc;clear all;close all;x=-100:50:100;y=-100:50:100;[x,y]=meshgrid(x,y);z=(1./sqrt((y-10.5).^2+x.^2)-1./sqrt((y+10.5).^2+x.^2));%创建一个等高线图并获取等高线矩阵 C 和等高线对象 h。然后,为等高线图添加标签。[C,h] = contour(x,y,z,-0.5:0.002:0.5); clabel(C,h)%仅为等高线层级为 2 或 6 的等高线添加标签。figure;[C,h] = contour(x,y,z,-0.5:0.002:0.5); v= [2,6];clabel(C,h,v)%使用 Name,Value 对组参数,将标签的字体大小设置为 15 磅并将颜色设置为红色。figure;[C,h] = contour(x,y,z,-0.5:0.002:0.5); clabel(C,h,'FontSize',15,'Color','red')%通过重新发出 clabel 命令设置其他属性。例如,将字体粗细设置为粗体并将颜色更改为蓝色。clabel(C,h,'FontWeight','bold','Color','blue')figure;%创建一个等高线图并返回等高线矩阵 C。然后,为等高线添加标签。C = contour(x,y,z,-0.5:0.002:0.5); clabel(C)

运行结果

MATLAB的contour函数绘制2维等高线

MATLAB的contour函数绘制2维等高线

MATLAB的contour函数绘制2维等高线

MATLAB的contour函数绘制2维等高线

5.自定义线宽

程序

clc;clear all;close all;figure;x = -2:0.2:2;y = -2:0.2:3;[X,Y] = meshgrid(x,y);Z = X.*exp(-X.^2-Y.^2);% 将 Z 定义为两个变量 X 和 Y 的函数。然后创建该函数的等高线图,并通过将 ShowText 属性设置为 'on' 来显示标签。[M,c] =contour(X,Y,Z,'ShowText','on')%通过将 LineWidth 属性设置为 3,使等高线更粗。c.LineWidth = 3;

运行结果

MATLAB的contour函数绘制2维等高线

6.实例

实例1

程序

clc;clear all;close all;figure(1)subplot(1,2,1)peaks(3);subplot(1,2,2)[c,h] = contour(peaks(3));clabel(c,h,'fontsize',14);

运行结果

MATLAB的contour函数绘制2维等高线

实例2

程序

clc;clear all;close all;x=-100:1:100;y=-100:1:100;[x,y]=meshgrid(x,y);z=(1./sqrt((y-10.5).^2+x.^2)-1./sqrt((y+10.5).^2+x.^2));contour(x,y,z,-0.5:0.002:0.5)

运行结果

MATLAB的contour函数绘制2维等高线

本文内容来源于网络,仅供参考学习,如内容、图片有任何版权问题,请联系处理,24小时内删除。

作 者 | 郭志龙编 辑 | 郭志龙校 对 | 郭志龙

  • 发表于 2023-02-07 18:07
  • 阅读 ( 135 )
  • 分类:互联网

0 条评论

请先 登录 后评论
野战营康08
野战营康08

697 篇文章

你可能感兴趣的文章

相关问题