本篇博客用于记录平日工作学习里使用Matlab时遇到的绘图函数,这里并不试图对Matlab的绘图函数做深入的研究和探讨,所写函数笔记仅以时间为轴,遇到什么就记录什么 ~( ̄▽ ̄)~
目录
contour
20151206
1. contour()
功能:
在MATLAB中,该函数用于绘制矩阵的等高线
语法:
contour(Z)
contour(Z,n)
contour(Z,v)
contour(X,Y,Z)
contour(X,Y,Z,n)
contour(X,Y,Z,v)
contour(…,LineSpec)
contour(…,Name,Value)
contour(ax,…)
[C,h] = contour(…)
解析及示例:
1)contour(Z)
Z是一个2-D矩阵,contour(Z) 根据2-D矩阵 Z 自动计算所对应3-D空间的曲面形状,也就是contour(Z) 以(x, y)为输入,Z(x, y)为输出,自动拟合出函数:z=func(x, y),并绘制曲面图形。
其绘图区间的x、y、z轴范围分别为:
x:[1:n]
y:[1:m]
z:[min(Z): max(Z)]
其中[m, n] = size(Z)
代码:
Z = [4 5 2; 6 7 9; 1 4 5]
figure
contour(Z)
figure
surf(Z)
2)contour(X,Y,Z)
矩阵X和矩阵Y构成了一个坐标矩阵,矩阵Z是一个关于坐标的函数, 绘制的等高线被限定在由X、Y指定的区域内,理解了这样一种矩阵表达方法,就可以很方便的使用contour(X,Y,Z)进行可视化分析工作,这里的关键在于利用meshgrid()函数生成矩阵X和矩阵Y,该函数根据向量 x 和向量 y 生成矩阵X和矩阵Y,进一步设定函数关系计算出矩阵Z。
代码:
x = linspace(-2*pi,2*pi);
y = linspace(0,4*pi);
[X,Y] = meshgrid(x,y);
Z = sin(X)+cos(Y);
figure
contour(X,Y,Z)
figure
surf(X,Y,Z)
3)关于参数 n 和 v
参数 n:指定等高线的数量;
参数 v:指定 Z 的取值
代码:
[X,Y,Z] = peaks;
figure
contour(X,Y,Z,5) % 绘制5条等高线
figure
contour(X,Y,Z,20) % 绘制20条等高线
图形:
代码:
x = -3:0.125:3;
y = -3:0.125:3;
[X,Y] = meshgrid(x,y);
Z = peaks(X,Y);
figure
v = [1,1]; % 绘制指定值的等高线
contour(X,Y,Z,v, 'ShowText','on')
figure
v = [1 3 5]; % 绘制指定3个值的等高线
contour(X,Y,Z, v, 'ShowText','on')
参考:
http://cn.mathworks.com/help/matlab/ref/contour.html
http://baike.baidu.com/view/8031996.htm