利用MATLAB进行特征值分解,数据的维数是关于10000的,所以协方差矩阵是10000*10000。当我在MATLAB中使用eig()函数时,它非常慢。有没有办法加快特征值分解。我使用特征值分解进行主成分分析(PCA),所以我只使用顶部K特征值和特征向量。不需要得到所有的特征值和特征向量。我尝试过使用Intel-MKL进行特征分解,但是当我使用mex接口时,会出现一些错误。我把它发布在链接https://stackoverflow.com/questions/19220271/how-to-use-intel-mkl-for-speed-my-own-matlab-mex-cpp-applications中
请给我一些建议,谢谢。
发布于 2013-10-08 04:13:04
如果数据稀疏,或者对第一个k值感兴趣,则使用k。例如,eigs(A,k)返回k个最大震级特征值。请注意,仅对于前几个特征值,eigs将更快,对于k>某些值(可能是5.),则要慢一些。
https://stackoverflow.com/questions/19238004
复制相似问题