MATLAB 中contour的应用
contour函数(绘制矩阵的等高线图)
1、contour(Z) 绘制包含矩阵Z的等值线的等高线,自动选择等高线的层级
2、contour(X,Y,Z) 指定X,Y的坐标
例如:x = linspace(-2*pi,2*pi);
y = linspace(0,4*pi);
[X,Y] = meshgrid(x,y);
Z = sin(X)+cos(Y); %Z为大小为100*100的矩阵
contour(Z)和contour(X,Y,Z)的不同在于坐标轴,contour(Z)默认为矩阵的大小生成坐标轴,而contour(X,Y,Z)指定了坐标轴。
3、contour(___,levels)
1)将levels设置为标量n,n为等高线的层数,程序会自动选择层所在的高度。
2)若想得到某一个高度的等高线,将levels设置为二元行向量。
3)若想得到固定的n个高度的等高线,将levels可以设置为n元行向量,其中向量中的值为高度值。
4)若向以固定的间隔进行分层来产生等高线,可以将levels设置为类似于-6:1:8
例如: [X,Y,Z] = peaks; %Z为49*49的矩阵,其最大值为8.0752,最小值为-6.5466
4、contour(___,LineSpec) 指定等高线的线型和颜色。
例如:contour(X,Y,Z,'--');
5、contour(___,Name,Value) 使用一个或多个名称-值对组参数指定等高线图的其他选项
例如:contour(X,Y,Z,'ShowText','on'); %显示每一层的高度
6、contour(ax,___) 在目标坐标区中显示等高线图。将坐标区指定为上述任一语法中的第一个参数。
7、M = contour(___) M存储的是等高线的信息,第一列第一行存储层级高度信息,第一列第二行存储该层级的坐标个数n,从第二列开始存储n个坐标的x坐标和y坐标,其中x坐标在第一行,y坐标在第二行,第一个层级存储之后,从第n+2列开始存储第二个层级的信息。
例如:
8、[M,c] = contour(___)
c可以用来设置等高线的属性,其中LineWidth用来设置等高线的宽度,LabelSpacing显示标签的间距
例如c.LineWidth = 3; %LineWidth默认为0.5,3则变宽