我有一個選項卡分隔XYZ文件,其中包含3列,例如,MATLAB XYZ到網格
586231.8 2525785.4 15.11
586215.1 2525785.8 14.6
586164.7 2525941 14.58
586199.4 2525857.8 15.22
586219.8 2525731 14.6
586242.2 2525829.2 14.41
第1列和第2列是X和Y座標(在UTM米中),第3列是在點X,Y的相關Z值;例如點的高程(z)爲z(x,y)
我可以在這個文件中使用dlmread()
來讀取工作空間中的3個變量,例如, X = 41322x1 double
,但我想用這些變量創建大小爲(m x n)
的表面。我將如何去做這件事?
從以下評論中,我嘗試使用TriScatteredInterp(請參閱下面的命令)。我不斷得到下面顯示的結果(它似乎是讓我的一些表面雖然):
任何想法是怎麼回事,導致這個結果?我認爲問題在於meshgrid
命令,儘管我不確定在哪裏(或爲什麼)。我目前把下面的命令集來計算上圖中(我的X和Y列是米,我知道我的網格大小爲8M,因此TI/TJ在787-8往上走):
F = TriScatteredInterp(x,y,z,'nearest');
ti = ((min(x)):8:(max(x)));
tj = ((min(y)):8:(max(y)));
[qx,qy] = meshgrid(ti,tj);
qz = F(qx,qy);
imagesc(qz) %produces the above figure^
繼從您的建議我已經使用了[TriScatteredInterp(http://www.mathworks.co.uk/help/techdoc/ref/triscatteredinterp.html)功能。任何想法如何將其轉化爲實際表面? – MBL
請按照幫助中的示例進行操作:http://www.mathworks.co.uk/help/techdoc/ref/triscatteredinterp.html – Nzbuu
我已將我的結果圖像添加到原始問題中。任何想法是怎麼回事? – MBL