我一直在试图通过解决两个m-by-n矩阵A和B是否等效
[a,ja] = rref(A,tol)
[b,jb] = rref(B,tol)
然后比较
isequal(a,b) & isequal(ja,jb)
首先,我真的不明白ja
和jb
是什么。我的问题是,对于A和B,降排梯队形式非常简单,并且在所有情况下都是相同的。我不知道这是不是故意的。例如,我只得到的等价
A = rand(40,3)
B = rand(40,3)
我不确定这是不是无稽之谈。
看起来您正在尝试检查两个矩阵的缩减行梯队形式是否在元素方面等效。根据您对A
和B
的定义,它们是(我认为这实际上是一个超定系统)。然而,我认为您可能已经翻转了行和列。相反,如果您创建A
和B
,使列多于行(即,欠定系统的增广矩阵):
A = rand(3,40)
B = rand(3,40)
然后,当您运行rref
时,您将看到一个非常不同的输出,并且您的比较将返回false,正如您所期望的那样。
此外,我认为使用以下内容就足够了,因为两个元素相等的矩阵肯定会共享相同的秩(或其近似值):
a = rref(A,tol);
b = rref(B,tol);
isequal(a,b)