convex hull for 6 dimension
2 次查看(过去 30 天)
显示 更早的评论
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.
0 个评论
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Bounding Regions 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!