为什么eig()的特征值按升序排序?

时间:2018-11-27 15:36:02

标签: matlab matrix linear-algebra pca eigenvalue

我正在尝试使用eig查找矩阵的特征值。 我用示例数据定义矩阵:

A = magic(5)

A =

17    24     1     8    15
23     5     7    14    16
 4     6    13    20    22
10    12    19    21     3
11    18    25     2     9

D = eig(A,'matrix')

D =


65.0000  0  0  0  0

0  -21.2768         0         0         0

0  0  -13.1263         0         0

0         0         0   21.2768         0

0         0         0         0   13.1263

但是如果我使用

C = cov(A)

并从协方差矩阵中获得特征值,这就是结果:

DC = eig(C,'matrix')

DC =


        -0.0000         0         0         0         0

         0   35.4072         0         0         0

         0         0   44.9139         0         0

         0         0         0  117.5861         0

         0         0         0         0  127.0928

为什么协方差矩阵的特征值按升序排序?

1 个答案:

答案 0 :(得分:3)

排序只是方便的选择。正如function contains(obj, target) { for (var key in obj) { if (obj[key] === target) { return true; } } return false; } var fruits = { apples: false, oranges: true, bananas: true }; console.log(contains(fruits, true));(x,y)一样有效,没有像特征向量的“真实”位置这样的东西。由于许多矩阵技术都按照特征值递减的顺序(即最重要的是最重要的)对特征向量进行处理,因此合理地构造它们是有意义的。