私はそのようなデータを持っています:
data = [
x1 y1 z1
x2 y2 z2
...
xn yn zn
];
このデータの表面を取得する必要があります。3 行目、z - サーフェスの高さになります。しかし、X と Y は単調連続データではないため、これは機能しません。
[X Y] = meshgrid(data(:,1), data(:,2));
Z = interp2(data(:,1), data(:,2), data(:,3), X, Y);
1 行目と 2 行目のデータが単調ではないためです。
アップデート:
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);