三维矢量阵列的两个主成分矢量

时间:2017-12-31 19:28:13

标签: python arrays matlab vector statistics

我有一组10个3D矢量(作为x,y,z值),我被要求找到这个矢量阵列的两个主要分量矢量。

怎么办? 有什么计算? 我无法找到这个问题的简单数学运算。我在MATLAB和一些python库中找到了PCA函数,但我被要求进行所有计算。

感谢您的回答......

1 个答案:

答案 0 :(得分:0)

PCA算法基于计算样本的协方差矩阵的第一特征向量。 为此,您可以使用MATLAB的coveig函数,如下所示:

X = rand(10,3) %generate samples randomly
NUM_OF_EIGENS = 2; %number of eigen vectors to extract

C = cov(X);
[principalComponents, eigenValues]=  eigs(C,NUM_OF_EIGENS);

可以如下提取两个主要组成部分:

principalComponents(:,1)
principalComponents(:,2)