文档

将数据表示为一个表面上

函数绘图数据网格

MATLAB®图形定义的表面z坐标点的上方一个矩形网格中x- - - - - -y飞机。情节是由加入邻点与直线。表面情节是有用的可视化矩阵太大以数字的形式显示和图形两个变量的函数。

MATLAB可以创造不同形式的表面情节。网情节框表面颜色只有线连接定义点。表面情节显示连接线路和面临的表面颜色。此表列出了各种形式。

函数

用于创建

,冲浪

曲面图

meshc,surfc

曲面图和等高线图下方

meshz

曲面图与窗帘情节(基准面)

pcolor

平面绘图(价值比例只有颜色)

surfl

曲面图照亮从指定的方向

表面

高级功能是基于底层函数()来创建表面图形对象

网格和插值数据的功能

这些函数是非常有用的,当你需要重组和插入数据,这样您就可以表示该数据作为一个表面。

函数

用于创建

meshgrid

矩形网格在2 d和3 d空间

griddata

插入数据分散

griddedInterpolant

Interpolant网格数据

scatteredInterpolant

插入数据分散

如何插入数据的讨论,请参阅插值网格数据插值分散的数据

网和表面情节

冲浪命令创建三维表面数据块矩阵。如果Z是一个矩阵的元素Z (i, j)定义在一个潜在的表面的高度(i, j)网格,然后

网格(Z)

生成一个颜色的,戴着一副金属框的表面并显示它在三维视图中。同样的,

冲浪(Z)

生成一个颜色,表面的面视图并显示它在三维视图中。通常,四边形面,每一个都是一个常数的颜色,概述了黑色的网格线,但是阴影命令允许您消除网格线(阴影平()或选择插值阴影在方面阴影插值函数)。

表面对象属性提供额外的控制表面的视觉外观。标记,您可以指定边缘线风格,顶点着色,照明的特点,等等。

可视化两个变量的函数

  1. 显示两个变量的函数,z=f(x, y),生成XY重复的行和列组成的矩阵,分别在函数的域。您将使用这些矩阵评估和图形功能。

  2. meshgrid两个向量函数转换指定的域,xy到矩阵XY。然后使用这些矩阵评价函数的两个变量:行X向量的副本吗x的列Y向量的副本吗y

例1。例如:说明meshgrid的使用

说明使用meshgrid,考虑罪(r) / rsinc函数。早8点到晚8点之间来评估这个函数xy,你只需要通过一个向量参数meshgrid,然后用在两个方向。

(X, Y) = meshgrid (8: .5:8);R =√X。^ 2 + y ^ 2) +每股收益;

矩阵R包含的中心的距离矩阵,这是原点。添加每股收益防止除以零(下一步)生产值的数据。

形成了sinc功能和绘图Z结果在三维表面。

Z =罪(R)。/ R;图网(X, Y, Z)

隐线消除

默认情况下,MATLAB删除线网中隐藏情节,即使情节的脸不是填满。你可以禁用隐线消除并允许网格图的面孔是透明的隐藏的命令:

隐藏的

强调表面形状

MATLAB提供了大量的技术,可以提高你的图表内容的信息。例如,这张图的sinc函数使用相同的数据与前面的图,但使用照明,视图调整,colormap强调不同的形状画函数(daspect,,视图,camlight)。

图colormap hsv冲浪(X, Y, Z, FaceColor,插值函数,…‘EdgeColor’,‘没有’,……“FaceLighting”、“古尔戈”)daspect([5 5 1])轴紧(-50,30)camlight左视图

看到冲浪表面情节功能的更多信息。

表面的非均匀采样数据

您可以使用meshgrid创建一个网格的均匀采样数据点的评估和图sinc函数。MATLAB然后构造曲面图通过连接相邻矩阵元素组成一个四边形的网格。

从非均匀采样数据生成曲面图,使用scatteredInterpolant在均匀间隔的点插入的值,然后使用冲浪在通常的方式。

例子——表面显示不一致的数据

例评估sinc函数随机点在特定的范围内,然后生成均匀抽样数据显示曲面图。这个过程包括以下任务:

  • 使用linspace生成均匀间隔的值不均匀采样数据的范围。

  • 使用meshgrid网格生成策划的输出linspace

  • 使用scatteredInterpolant定期不定期抽样数据插入到间隔的返回的网格meshgrid

  • 使用绘图函数来显示数据。

  1. 产生不均匀抽样数据范围内的[8]和用它来评估功能:

    x =兰德(100 1)* 16 - 8;y =兰德(100 1)* 16 - 8;r =√x。^ 2 + y ^ 2) +每股收益;z =罪(r)。/ r;
  2. linspace函数提供了一种方便的方法来创建均匀间隔的数据数量所需的元素。以下语句的范围内随机生成矢量数据和生成的决议一样,8:。8在前面的声明sinc例子:

    xlin = linspace (min (x)马克斯(x), 33);ylin = linspace (min (y), max (y), 33);
  3. 现在使用这些点来生成一个间隔均匀网格:

    (X, Y) = meshgrid (xlin ylin);
  4. 这个过程的关键是使用scatteredInterpolant插入的值函数的均匀间隔的点,根据原始数据点的值函数(在本例中是随机)。这句话使用默认的线性插值生成新数据:

    f = scatteredInterpolant (x, y, z);Z = f (X, Y);
  5. 情节插值和非均匀数据生产:

    图网(X, Y, Z)%以内插值替换的;持有plot3 (x, y, z,“。”,“MarkerSize”15)%不均匀

改变数据

假设您有一个数据集合使用以下(X, Y, Z)三胞胎:

X Y Z
1 1 152年
2 1 89年
3 1 One hundred.
4 1 One hundred.
5 1 One hundred.
1 2 103年
2 2 0
3 2 One hundred.
4 2 One hundred.
5 2 One hundred.
1 3 89年
2 3 13
3 3 One hundred.
4 3 One hundred.
5 3 One hundred.
1 4 115年
2 4 One hundred.
3 4 187年
4 4 200年
5 4 111年
1 5 One hundred.
2 5 85年
3 5 111年
4 5 97年
5 5 48

你可以用向量形式表示数据使用各种MATLAB图形类型,如冲浪,轮廓,stem3,首先重组数据。使用(X, Y)值来定义的坐标在一个X - Y平面有一个Z值。的重塑转置函数可以调整您的数据,以便(X, Y, Z)三胞胎形成一个矩形网格:

x =重塑(x 5 5) ';y =重塑(y, 5、5) ';z =重塑(z, 5、5) ';

在三个5-by-5数组重塑的结果:

x = 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 y = 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 z = 152 89 100 100 100 103 0 100 100 100 89 100 100 100 115 100 187 200 111 100 85 111 97 48

你现在可以代表Z关于X和y的值,例如,创建一个3 d茎图:

stem3 (x, y, z,“MarkerFaceColor”,‘g’)

参数的表面

的函数画表面可以带另外两个向量或矩阵参数来描述与特定的表面xy数据。如果Z是一个——- - - - - -n矩阵,x是一个n向量,y是一个向量,然后

网格(x, y, Z, C)

描述了一个网格表面顶点有颜色C (i, j)和位于点

(x (j), y (i)、Z (i, j))

在哪里x对应的列Zy它的行。

更一般的,如果X,Y,Z,C是相同的维数的矩阵,然后呢

网格(X, Y, Z, C)

描述了一个网格表面顶点有颜色C (i, j)和位于点

(X (i, j), Y (i, j)、Z (i, j))

示例使用球坐标绘制一个球体和颜色模式的利弊阿达玛矩阵,正交矩阵用于信号处理编码理论。向量θφ在范围内- - - - - -π≤θ≤π,- - - - - -π/ 2φ≤π/ 2。因为θ是一个行向量,φ是一个列向量,矩阵的乘法产生X,Y,Z向量外产品。s manbetx 845

图k = 5;n = 2 ^ k - 1;θ=π* (- n: 2: n) / n;φ=(π/ 2)* (- n: 2: n) / n;X = cos(φ)* cos(θ);Y = cos(φ)* sin(θ);Z =罪(φ)*的(大小(θ));colormap ([0 0 0; 1 1 1]) C =阿达玛(2 ^ k);冲浪(X, Y, Z, C)轴广场

这个主题有帮助吗?