这个提交的文件包含一组分析n维凸多面体。它适用于相当低维N——基本上足够低,顶点和方面列举使用MATLAB的convhulln()命令是容易掌握的。现在,它也仅限于有限的多面体(即。多面体)。有界凸多面体可以被表示为一个有限集的凸包顶点V(我:)或通过使用线性约束等式和不等式,
* x < = b,
Aeq * x =说真的
在这里,一个和Aeq麦根PxN矩阵而b和beq mx₁和Px1列向量,分别。(在)平等代表表达了多面体是两个区域的交集。一个地区是一个坚实的n维形状,所描述的不平等,而另一个是可能低维子空间,所描述的平等。上面的截图说明了这一点,显示3 d三角形可以表示成一个四面体的交集(固体形状R ^ 3)和一个平面。
包包含两种表示之间的转换的工具(见VERT2LCON和LCON2VERT)以及在十字路口和工会的多面体的形式(见intersectionHull和unionHull)。
包是灵感来自迈克尔Kleder vert2con和con2vert功能,这仅限于在R ^ N N维多面体拥有零卷。因此,例如,他们不能处理一个三角形漂浮在R ^ 3描绘在上面的截图。尽管一个三角形非零卷(即。、区)在R ^ 2 0 R ^ 3卷。扩展了这个包封面一般有界的多面体。注意:然而,当使用线性约束数据,b, Aeq,说真的代表一个给定的多面体,重要的是不平等* x < = b仍然是选择与一个地区的非零n维体积。零容积多面体捕获通过添加等式约束Aeq * x =说真的。
例子:
考虑定义的三维多面体x + y + z = 1, x > = 0, y > = 0, z > = 0。等价约束/平等可以从已知的顶点获得通过,
> > [A, b, Aeq beq] = vert2lcon(眼(3))
一个=
0.4082 -0.8165 0.4082
0.4082 0.4082 -0.8165
-0.8165 0.4082 0.4082
b =
0.4082
0.4082
0.4082
Aeq =
0.5774 0.5774 0.5774
说真的=
0.5774
相反,顶点可以做得到的,
> > V = lcon2vert (A, b, Aeq, beq)
V =
1.0000 0.0000 0.0000
0.0000 0.0000 1.0000
-0.0000 1.0000 0.0000
当一个多面体的内部点是已知的先验,一个可以用QLCON2VERT,更快的版本LCON2VERT利用已知点避开一些计算密集型步骤。
引用作为
马特·J (2023)。分析n维凸多面体(//www.tianjin-qmedu.com/matlabcentral/fileexchange/30892-analyze-n-dimensional-convex-polyhedra), MATLAB中央文件交换。检索。
MATLAB版本兼容性
平台的兼容性
窗户 macOS Linux标签
版本 | 发表 | 发布说明 | |
---|---|---|---|
1.9.0.2 | 描述性的文本编辑 |
||
1.9.0.1 | 编辑的描述性文本。 |
||
1.9.0.0 | Bug修复——等式约束的情况下系统Aeq * x =说真的有一个独特的解决方案是处理不当 |
||
1.8.0.0 | 小的语法和拼写编辑描述页面。 |
||
1.7.0.0 | 添加截图 |
||
1.6.0.0 | *改善lcon2vert错误检查 |
||
1.5.0.0 | 如果lcon2vert未能找到一个初始内点的许多迭代alg它使用后,它将退出与V = []。 |
||
1.4.0.0 | 各种各样的bug修复和改进的鲁棒性。这些地址失败案例发现最近由用户。 |
||
1.3.0.0 | * lcon2vert进一步的鲁棒性 |
||
1.2.0.0 | 改善CON2VERT子程序的可靠性,在性能方面和错误报告。 |
||
1.1.0.0 | 添加LCON2VERT VERT2CON的逆 |
||
1.0.0.0 |