Возможный дубликат:
Как мне создать график прибоя в 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);