0
可能重複:
How do I make a surf plot in MATLAB with irregularly spaced data?Surf在MATLAB插數據
我有這樣的數據:
data = [
x1 y1 z1
x2 y2 z2
...
xn yn zn
];
我需要得到這個數據的表面。第三行,z - 將是表面的高度。但X和Y都不單調的連續數據,所以這不起作用:
[X Y] = meshgrid(data(:,1), data(:,2));
Z = interp2(data(:,1), data(:,2), data(:,3), X, Y);
,因爲我在第一排和第二排的數據是不是單調。
更新:
TriScatteredInterp可以做到這一點(由於@Rody Oldenhuis)
F = TriScatteredInterp(data(:,1), data(:,2), data(:,3))
ti=1:10:600;
[qx qy] = meshgrid(ti, ti);
qz = F(qx, qy);
mesh(qx, qy, qz);
是的,謝謝! 'TriScatteredInterp'幫助我完成我的任務 –