Home | Develop | Download | Contact
test_matrixfunc.cpp
1 
8 #include <Pds/Ra>
9 
10 int main(void)
11 {
12  Pds::Matrix A = Pds::Eye(3);
13  A.Print("\nA:\n");
14 
15  Pds::Matrix B = Pds::Ones(3);
16  B.Print("\nB:\n");
17 
18  Pds::Matrix C = Pds::Zeros(3);
19  C.Print("\nC:\n");
20 
21  Pds::Matrix D = Pds::RandU(3);
22  D.Print("\nD:\n");
23 
24  Pds::Matrix E = Pds::RandN(3);
25  E.Print("\nE:\n");
26 
27  Pds::Matrix F = Pds::MatrixId(2,3);
28  F.Print("\nF:\n");
29 
30  Pds::Matrix G = Pds::Diag(F);
31  G.Print("\nG:\n");
32 
33  Pds::Matrix H = Pds::MergeHor({A,B,C});
34  H.Print("\nH=[A,B,C]:\n");
35 
36  Pds::Matrix I = Pds::MergeVer({A,B,C});
37  I.Print("\nI=[A;B;C]:\n");
38 
39  I.MakeEmpty();
40  std::list<Pds::Matrix> List={A,B,C};
41  I.FusionVer(List);
42  I.Print("\nI.FusionVer(List):\n");
43  std::cout<<"List.size(): "<<List.size()<<"\n";
44  for (auto pmat = List.begin(); pmat != List.end(); pmat++)
45  pmat->Print("\nList{0}:\n");
46 
47 
48  std::cout<<"\n((3,3)): "<<Pds::NmultichooseK(3,3)<<std::endl;
50  J.Print("J=MultisetIndexSum(3,3):\n");
51 
52  std::cout<<"\n((3,2)): "<<Pds::NmultichooseK(3,2)<<std::endl;
54  K.Print("K=MultisetIndexSum(3,2):\n");
55 
56  std::cout<<"\n((3,1)): "<<Pds::NmultichooseK(3,1)<<std::endl;
58  L.Print("L=MultisetIndexSum(3,1):\n");
59 
60  Pds::Matrix ID;
61  F.Print("\nF:\n");
62  Pds::Matrix M=Pds::Monomials(F,2,ID);
63  M.Print("\nM=Pds::Monomials(F,2,ID):\n");
64  ID.T().Print("\nID.T():\n");
65 
67  O.Print("\nO:\n");
68  ID.T().Print("\nID.T():\n");
69 
70  std::cout<<Pds::MultisetIndexSumToString(ID)<<std::endl;
71 
72  A.Print("\nA:\n");
73  std::cout<<"Pds::Find(A): "<<Pds::Ra::IndicesToString(Pds::Find(A),", ")<<std::endl;
74 
75  Pds::CountingTable(2,3).Print("\nPds::CountingTable(2,3):\n");
76 
77  Pds::CountingTable(3,-1,1,14).Print("\nPds::CountingTable(3,-1,1,14):\n");
78 
79  Pds::Matrix X;
80  Pds::Matrix Y;
81  Pds::Meshgrid(Pds::LinSpace(-3,3,7),Pds::LinSpace(-2,2,5),X,Y);
82  X.Print("\nX:\n");
83  Y.Print("\nY:\n");
84 
85  X.FindRows(Pds::Vector("1 0 1 1 0 0 1")).Print("\nX.FindRows(Pds::Vector(\"1 0 1 1 0 0 1\")):\n");
86  X.FindRows(Pds::Vector("1 0 1 1 0 0 1"),0.5).Print("\nX.FindRows(Pds::Vector(\"1 0 1 1 0 0 1\"),0.5):\n");
87  return 0;
88 }
La clase tipo Pds::Matrix . Esta clase genera una matriz de Nlin lineas y Ncol columnas....
Definition: Matrix.hpp:86
La clase tipo Pds::Vector . Esta clase genera una matriz de Nlin lineas y 1 columna....
Definition: Vector.hpp:78
Pds::Matrix RandN(unsigned int N)
Crea una matriz con datos aleatórios con distribución Normal de media cero 0.0 y desvío padrón 1....
Pds::Matrix Zeros(const Pds::Size &S)
Retorna una matriz con ceros.
Pds::Matrix Diag(Matrix A)
Retorna una matriz diagonal usando los dats de tra matriz, se lee primero todos los elementos de una ...
Pds::Matrix MatrixId(unsigned int N)
Crea una matriz con datos correspondentes ao Id de cada elemento.
Pds::Matrix RegressorMatrix(const std::initializer_list< Pds::Matrix > list)
Retorna una Regressor Matrix , creado concatenando verticalmente las matrices en una lista ....
bool Meshgrid(const Pds::Vector &SpaceX, const Pds::Vector &SpaceY, Pds::Matrix &X, Pds::Matrix &Y)
Crea una matriz e una , a partir de los datos en y , respectivamente.
Pds::Matrix MergeVer(const std::initializer_list< Pds::Matrix > list)
Retorna una matriz concatenando verticalmente otras. Si las matrices no tienen el mismo número de c...
std::vector< unsigned int > Find(const Pds::Matrix &A)
Retorna una lista de indices donde existe un 1 en la matriz A.
Pds::Matrix Monomials(const Pds::Matrix &X, unsigned int M, Pds::Matrix &ID)
Dada uma matriz , compuesta por la concatenacion de vectores columna . La funcion retorna una matriz...
Pds::Matrix MergeHor(const std::initializer_list< Pds::Matrix > list)
Retorna una matriz concatenando horizontalmente otras. Si las matrices no tienen el mismo número de...
Pds::Matrix CountingTable(unsigned int N, unsigned int M)
Retorna una matriz de columnas y lineas. La lineas de representan un conteo con numeros enteros ...
Pds::Matrix Eye(unsigned int N)
Retorna una matriz con unos en la diagonal y el resto ceros.
Pds::Matrix Ones(const Pds::Size &S)
Retorna una matriz con unos.
std::string MultisetIndexSumToString(const Pds::Matrix &ID, std::string Separator=", ", unsigned int n=1)
Retorna una cadena que representa una matriz de indices con lineas y columnas. Los indices estan ...
Pds::Matrix MultisetIndexSum(unsigned int N, unsigned int M)
Retorna una matriz de columnas y lineas. La lineas de tienen todas las combinaciones de numeros ...
Pds::Matrix RandU(unsigned int N)
Crea una matriz con datos aleatórios uniformemente distribuidos entre 0.0 y 1.0.
Vector LinSpace(double start, double end, unsigned int N)
Retorna un vector con elementos desde start hasta end con N elementos.
unsigned int NmultichooseK(unsigned int n, unsigned int k)
Retorna el combinatorio (n,k)
void MakeEmpty(void)
libera los datos internos de la matriz y la convierte en una matriz nula. es decir con lineas y colum...
void Print(std::string str) const
Imprime en pantalla el contenido de la matriz después del texto indicado en str.
Pds::Matrix T(void) const
Transpuesta de si mismo (A), el resultado es cargado en B.
Pds::Matrix FindRows(const Pds::Vector &B) const
Retorna una nueva matriz con las lineas donde existe un 1 en la matriz B. En verdad B es binarizado i...
bool FusionVer(std::list< Pds::Matrix > &list)
Concatena verticalmente varias matrices. Si las matrices no tienen el mismo número de columnas se c...
std::string IndicesToString(std::list< unsigned int > IDs, std::string separator="")
Convierte una lista de indices a un std::string.

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed