convex hull for 6 dimension

2 views (last 30 days)
lkscan
lkscan on 12 Jun 2018
Hi,
Could you help me on the convhulln function, please?
I am using convhulln to generate the convex hull for 65536 points in 6 dimension as following
CH_op = convhulln(W_s.',{'Qt','Pp'})
W_s.' is a matrix 65536 * 6.
However, matlab cannot find the convex hull for me and the error message is shown as
Error using builtin QH6114 qhull precision error: initial simplex is not convex. Distance=-1.4e-14
While executing: | qhull Qt Pp Options selected for Qhull 2010.1 2010/01/14: run-id 43581145 Qtriangulate Pprecision-ignore Qxact_merge _zero-centrum _max-width 1.4e+02 Error-roundoff 4.8e-13 _one-merge 6.3e-12 _near-inside 3.2e-11 Visible-distance 2.9e-12 U-coplanar-distance 2.9e-12 Width-outside 5.8e-12 _wide-facet 1.7e-11 _narrow-hull 0
The input to qhull appears to be less than 6 dimensional, or a computation has overflowed.
Qhull could not construct a clearly convex simplex from points:
The center point is coplanar with a facet, or a vertex is coplanar with a neighboring facet. The maximum round off error for computing distances is 4.8e-13. The center point, facets and distances to the center point are as follows:
facet p41132 p40498 p61334 p4033 p63049 p0 distance= -5.7e-15 facet p60819 p40498 p61334 p4033 p63049 p0 distance= -5.2e-15 facet p60819 p41132 p61334 p4033 p63049 p0 distance= -4.3e-15 facet p60819 p41132 p40498 p4033 p63049 p0 distance= -2.8e-15 facet p60819 p41132 p40498 p61334 p63049 p0 distance= -1.1e-15 facet p60819 p41132 p40498 p61334 p4033 p0 distance= -1.6e-15 facet p60819 p41132 p40498 p61334 p4033 p63049 distance= -9.1e-16
These points either have a maximum or minimum x-coordinate, or they maximize the determinant for k coordinates. Trial points are first selected from points that maximize a coordinate.
The min and max coordinates for each dimension are: 0: 0 28.07 difference= 28.07 1: -43.39 29.57 difference= 72.95 2: 0 137.8 difference= 137.8 3: -1.684 29.75 difference= 31.43 4: -49.65 35.83 difference= 85.48 5: 0 137.8 difference= 137.8
If the input should be full dimensional, you have several options that may determine an initial simplex: - use 'QJ' to joggle the input and make it full dimensional - use 'QbB' to scale the points to the unit cube - use 'QR0' to randomly rotate the input for different maximum points - use 'Qs' to search all points for the initial simplex - use 'En' to specify a maximum roundoff error less than 4.8e-13. - trace execution with 'T3' to see the determinant for each point.
If the input is lower dimensional: - use 'QJ' to joggle the input and make it full dimensional - use 'Qbk:0Bk:0' to delete coordinate k from the input. You should pick the coordinate with the least range. The hull will have the correct topology. - determine the flat containing the points, rotate the points into a coordinate plane, and delete the other coordinates. - add one or more points to make the input full dimensional.

Answers (0)

Categories

Find more on Bounding Regions in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!