конвульс работает, только если у вас выпуклая форма (например, эллипсоид). Если в вашем распределении данных есть вогнутые кривые, такие как банановая форма, конвульс не будет работать. К счастью, в MATLAB есть функция для обработки этого: alphashape
в зависимости от значения «альфа», вы получите больше или меньше граней в полученном многоугольнике.
Как только вы получите координаты x, y граней, вы можете либо построить их напрямую, но у многоугольника будут плоские стороны, либо:
вместо интерполяции вы можете определить сетку x, y, z, в которой должны просматриваться данные, и спросить, находится ли x, y в альфа-форме? Если это так, присвойте ему значение z = 1, а если нет, присвойте ему значение z = 0., тогда просто обведите контур сетки, где z = 1.
Вы также можете использовать Impoly для рисования многоугольника вручную
hobbysplines на обмене файлами Matlab также позволяет сгладить края многоугольника