matlab中 [c,h] = contour(X, Y, Z, [0 0]),X,Y为大小为mx1, nx1, z的大小为mxn,请给个图和例子说明 20
以下是contour的具体用法:
等高线绘图,显示了矩阵Z的等值线。可以使用clabel来标记等高线。
contour(Z)
《Simulink与信号处理》
输入:Z——矩阵
功能:绘制矩阵Z的等高线图,Z可以视为x-y平面的高度矩阵。
注:Z大小至少为2*2,至少2个不同的值。等高线的个数和值是基于Z的最小值和最大值来自动选取的。其中,x和y的范围为[1:n] 和[1:m], [m,n] = size(Z).
contour(Z,n)
输入:Z——矩阵、n——正整数
功能:绘制矩阵Z的n条等高线
contour(Z,v)
输入:Z——矩阵、v——单调递增向量
功能:绘制由向量v指定的等高线
contour(X,Y,Z), contour(X,Y,Z,n), contour(X,Y,Z,v)
功能:绘制由X和Y指定的x-y坐标轴。当X和Y为矩阵时,应该与Z有同样的维数,并且是单调递增的
contour(...,LineSpec) 输入:LineSpec——线类型
[C,h] = contour(...)
输出:C——标记矩阵、h——等高线句柄
注:可以通过clabel函数来做标记
另外我按照你的要求,写了一个例子。PS:contour中的[0 0]的使用应该是有问题的。所以在下面的例子中我改了一下。
clc;
clear all;
close all;
X=[1,2,3]; %m*1
Y=[1,2,3]; %n*1
Z=[1,2,3;1,2,3;1,2,3]; %m*n
[c,h] = contour(X, Y, Z, 30);%此处的30即为上述用法中的n,即画30条等高线
下面是程序运行结果图:
参考资料: http://wiki.ilovematlab.cn/doc-view-941.html