Для одной 2D матрицы вы можете использовать функцию SURF для построения трехмерной поверхности:
% generate random square 2D matrix 20x20
x = rand(20);
% make some (10) mountains
x(randi(numel(x),10,1))=rand(10,1)+5;
% plot surface
surf(x)
Как вы хотите построить несколько поверхностей? На одной фигуре?
Чтобы обозначить большие точки, давайте пороговые данные:
cutvalue = 1;
iHigh = find(x(:) > cutvalue);
[irow,icol] = ind2sub(size(x), iHigh);
hold on
plot3(icol, irow, x(iHigh), 'ro')
hold off