2016-02-12 85 views
0

我想从矢量创建一个2-D网格。 所以,比如我有:从Matlab中的矢量数据创建2D网格

x = 1:1:10; 
z = 2:2:20; 

现在,我要创建具有X上的网格单元和z为网格单元值的两侧的网格。 我试图做它:

[X,Y] = meshgrid(x, x); 
newZ = griddata(x, x ,z, X, Y); 

但是这给了我错误:

The underlying triangulation is empty - the points may be collinear.

需要帮助解决这一点。

+0

你所说的“Z为网格单元值”,因为z是一个向量是什么意思?你可以请一个期望的输出的例子 –

回答

0

在高层次中,griddata()将每个点的变量z值为2d的曲面作为输入的第一部分,查询点指定为输入的第二部分。更具体地,当我们看到函数的定义:

vq = griddata(x,y,v,xq,yq) 

xy指定x和y值的范围内,v就像z值在一个平面上,和xqyq一起是查询点。在这里,v(在你的情况下,z)预计是一个2D矩阵,更具体地说,v的大小是[length(x), length(y)],而在你的情况下,你把z作为一个向量。由于尺寸不匹配,Matlab会生成警告。

供您参考:http://www.mathworks.com/help/matlab/ref/griddata.html?refresh=true