How pca() function works in matlab
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Atinesh Singh
le 11 Août 2016
Commenté : Walter Roberson
le 16 Août 2016
I'm trying to apply pca() function on 3d data, But I'm getting empty COEFF matrix
x1 = randn(400,1);
y1 = randn(400,1);
z1 = randn(400,1);
plot3(x1,y1,z1,'r.');
[COEFF] = pca([x1;y1;z1]')
0 commentaires
Réponse acceptée
Jason Millen
le 16 Août 2016
Modifié(e) : Jason Millen
le 16 Août 2016
The reason you are getting an empty 1200-by-0 matrix is because you are passing a 1-by-1200 matrix to pca.
I believe what you want to do is pass it a 400-by-3 matrix, which can be accomplished with [x1';y1';z1']'. Thus, if you call pca([x1';y1';z1']'), you will get a 3-by-3 coefficient matrix.
3 commentaires
Jason Millen
le 16 Août 2016
I believe there is a transpose operator given before the matrix is passed into pca, making it 1-by-1200. Please correct me if I am wrong.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Dimensionality Reduction and Feature Extraction dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!