在matlab中找到矩阵P中线性独立列的数量?

时间:2017-04-12 17:42:45

标签: matlab linear eigenvalue eigenvector

我无法找到完成功能的方法,这决定了矩阵是否可以对角化。命令[P,D] = eig(A)产生特征值的对角矩阵D和全矩阵P,其列是对应的特征向量,使得AP = PD。显然,如果P是可逆的,则其列形成基础,A是可对角化的。如果P不可逆,则矩阵A不可对角化,或者等效地,A没有足够的线性独立的特征向量来形成基础。

L =对角线(A)

n =大小(A,1)

[P,D] = eig(A);

//我必须找到P个线性独立列的数量?

//我必须将k与n进行比较以确定A是否可以对角化?

1 个答案:

答案 0 :(得分:0)

有几种方法可以检查矩阵的可逆性(在你的情况下为P)。

  1. rank(P)== min(size(P)) - P是满级
  2. isempty(null(P))== 1 - 空零空间
  3. cond(P)<阈值 - 检查条件号
  4. 用于将方矩阵分类为机器可逆的MATLAB默认阈值是cond(A)< 1 /((MAX(尺寸(A))* EPS)。