Programa para el testeo de las funciones.Para compilar o código test_pca.cpp:
g++ -static -o test_pca test_pca.cpp -lpdsmlmm -lpdsramm -lpdsspmm
Para executar o programa:
Retornando por consola:
X.Size():4817 3 Y.Size():4817 1
Cov:
722.59415501536 14.961544421002 11.686206559208
14.961544421002 0.75443715373377 0.62073051164566
11.686206559208 0.62073051164566 0.58423274700635
----- PCA :
Lambda:
0.040376009288378 0.79896638098228 723.09348252583
V:
0.002354418240855 -0.026186985073638 0.99965428947634
-0.68370404747296 0.7294648756777 0.020719383399118
0.72975559756938 0.68351681542247 0.016186682276604
Data 3D
Reduced data 2D
Código test_pca.cpp:
#include <iostream>
#include <Pds/Ra>
#include <Pds/Ml>
int main(void)
{
Pds::Matrix X(Pds::Ra::TextFormat,"../test/pca-data-x.txt");
Pds::Matrix Y(Pds::Ra::TextFormat,"../test/pca-data-y.txt");
Pds::Octave::Plot::ScatterX3DY(X,Y,"testando3d.m","test_pca_3d.png");
std::cout<<"X.Size():"<<X.Size()<<"\tY.Size():"<<Y.Size()<<"\n\n";
Pca.
Print(
"----- PCA :\n");
Pds::Octave::Plot::ScatterX2DY(X1,Y,"testando2d.m","test_pca_2d.png");
return 0;
}
La clase tipo Pds::PCA . Esta clase genera una matriz de Nlin lineas y 1 columna. Para usar incluir P...
void Print(std::string str="") const
Imprime en pantalla el contenido del PCA.
Pds::Vector Transform(const Pds::Vector &x, unsigned int N) const
Evalua el objeto de tipo Pds::PCA.