0

让我们有一个线性系统 Ax<= b。为了找到这个多面体集合的一个顶点,我们需要选择 A 的 m 个线性独立的列,并用相应的变量求解系统。如何使用 MATLAB 生成所有m 线性无关列?然后我会找到我拥有的多面体的所有顶点。

我能想到的是:生成所有子集的 (n, m) 组合。逐一检查排名。每当等级为 =m 时,请采用这些解决方案,因为它们具有完整的 m 等级。有没有更有效的方法?

4

1 回答 1

2

要查找线性独立列,您可以使用eigqr

对于eig等于零的特征值将指示非独立列

对于qrR 矩阵对角线上的零点将表示非独立列

例如:

mat2 =
 1     1     1
 1     1     1
 0     0     2

qr

R =
-1.414213562373095  -1.414213562373095  -1.414213562373095
               0                   0                   0
               0                   0   2.000000000000000

eig给出

ans =
 2
 0
 2
于 2018-10-03T14:31:54.457 回答