2016-02-12 79 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