Home | Develop | Download | Contact
test_matrix_statistics.cpp
1 
8 #include <Pds/Ra>
9 
10 int main(void)
11 {
12  unsigned int L=4;
13  Pds::Matrix A(L,L);
14  A.FillRandC(0.5);
15  A.Print("A:\n");
16 
17  Pds::Matrix B=A+2.0*Pds::RandU(L,L);
18 
19 
20  std::cout<<"A.Max() : "<<A.Max() <<std::endl;
21  std::cout<<"A.Min() : "<<A.Min() <<std::endl;
22  std::cout<<"A.Sum() : "<<A.Sum() <<std::endl;
23  std::cout<<"A.Mean() : "<<A.Mean()<<std::endl;
24  std::cout<<"A.MeanInCols() :\n"<<A.MeanInCols();
25  std::cout<<"A.Std() : "<<A.Std() <<std::endl;
26  std::cout<<"A.Corr(B): "<<A.Corr(B)<<std::endl;
27 
28  Pds::Matrix C("-2 2 2 \n-1 2 -1\n 1 0 3");
29 
30  Pds::Matrix D("1 1\n1 -1");
31 
32  C.Print("C:\n");
33  D.Print("D:\n");
34 
35  C.XCorr(D).Print("C.XCorr(D):\n");
36  C.XCorr(D,true).Print("C.XCorr(D,true):\n");
37 
38  C.Print("\nC:\n");
40  C.MinInCols(Lin).Print("C.MinInCols(Lin):\n");
41  Lin.Print("Lin:\n");
42 
43  A.Print("A:\n");
44  std::vector<Pds::Matrix> G(2);
45  G[0]=A.GetRows(0,2); G[0].Print("G[0]:\n");
46  G[1]=A.GetRows(3,L-1); G[1].Print("G[1]:\n");
47  double IG=A.InformationGain(G,0.5);
48  std::cout<<"IG: "<<IG<<"\n";
49  std::cout<<"IG: "<< A.BinaryEntropy(0.5)
50  -(G[0].Nel()*1.0/A.Nel())*G[0].BinaryEntropy(0.5)
51  -(G[1].Nel()*1.0/A.Nel())*G[1].BinaryEntropy(0.5)<<"\n";
52 
53  return 0;
54 }
La clase tipo Array . Esta clase genera una agrupación de 2 datos. Para usar incluir Pds/Array.
Definition: Array.hpp:68
La clase tipo Pds::Matrix . Esta clase genera una matriz de Nlin lineas y Ncol columnas....
Definition: Matrix.hpp:86
void Print(std::string str) const
Imprime en pantalla el contenido del array.
Pds::Matrix RandU(unsigned int N)
Crea una matriz con datos aleatórios uniformemente distribuidos entre 0.0 y 1.0.

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed