我正在尝试从矢量创建二维网格。 所以,例如我有:
x = 1:1:10;
z = 2:2:20;
现在,我想创建一个网格,其网格单元格两侧都有x,网格单元格值为z。 我试着这样做:
[X,Y] = meshgrid(x, x);
newZ = griddata(x, x ,z, X, Y);
但是这给了我错误:
潜在的三角测量是空的 - 分数可能是 共线的。
需要帮助解决这个问题。
答案 0 :(得分:0)
在高级别中,griddata()
将每个点的变量z值的2d曲面作为输入的第一部分,并且查询指向输入的第二部分。更具体地说,当我们研究函数的定义时:
vq = griddata(x,y,v,xq,yq)
x
和y
指定x和y值的范围,v
就像平面中的z值,xq
和yq
一起是查询点。在这里,v
(在您的情况下,z
)应该是一个二维矩阵,更具体地说,v
的大小是[length(x), length(y)]
,而在您的情况下,你把z
作为向量。由于大小不匹配,Matlab会生成警告。
供参考:http://www.mathworks.com/help/matlab/ref/griddata.html?refresh=true