在Matlab中有内置的built-in function PCA降维函数:
[coeff,score,latent,tsquared,explained]=princomp(X),其中输出score即为经过PCA变换后的数据,但是默认取全部主成分,如X是100x20,其中100是样本数,20是特征维数,则PCA变换后的score仍然为100x20。若要降维为10维,可以直接取前10列即可,或者用参数'NumComponents',10指定。
目前,princomp即将在以后的Matlab版本中不再被包含,取而代之的是built-in function pca,其用法与princomp一样,目前在Matlab R2015b版本中两者均包含。
eg:[~,score]=pca(X,'NumComponets',10);
还有内置函数pcacov直接对协方差矩阵执行PCA变换。