Home | Develop | Download | Contact
example_ra_indices.cpp
1
63#include <Pds/Ra>
64#include <ctime>
65
66int main(void)
67{
68 Pds::Matrix A(5,5);
69 A.FillId();
70 A.Print("\nA:\n");
71 //(A/Pds::Ra::Pi-4).Print("\nA:\n");
72
73 std::srand(std::time(0));
74
75 // Getting index vector
76 std::vector<unsigned int> Vec=Pds::Ra::IndicesRandVector(0,4,3);
77 std::cout<<"Vec:\t"<<Pds::Ra::IndicesToString(Vec,",")<<"\n";
78
79 // Getting index list
80 std::list<unsigned int> List=Pds::Ra::IndicesRandList(0,4,3);
81 std::cout<<"List:\t"<<Pds::Ra::IndicesToString(Vec,",")<<"\n";
82
83 // Getting rows from matrix and index list
84 Pds::Matrix B=A.GetRows(List);
85 B.Print("\nA.GetRows(List):\n");
86
87 // Getting rows from matrix and index list
88 B.Fill(-1.0);
89 A.GetRows(3,5,B);
90 B.Print("\nB:\n");
91
92 // Getting columns from matrix and index list
93 B=A.GetCols(List);
94 B.Print("\nA.GetCols(List):\n");
95
96 // 0 1 2 3 4 5 6 7 8 9 10 11 12 13
97 //Pds::Vector V="1 0 1 1 1 0 0 0 1 0 1 1 0 0";
98 //Pds::Vector V="1 1 1 1 1 1 1 1 1 1 1 1 1 1";
99 Pds::Vector V="0 0 0 0 0 0 0 0 0 0 0 0 0 0";
100 V.T().Print("\nV.T():\n");
101 std::vector<unsigned int> ID;
102 ID=Pds::Ra::IndicesRandVector(V,0.5,8);
103 std::cout<<Pds::Ra::IndicesToString(ID,",")<<std::endl;
104
105 std::cout<<"ID:\n";
106 std::string str=Pds::Ra::IndicesXmlToString({1, 2 ,5,0},"Indices");
107 std::cout<<str;
108 ID=Pds::Ra::IndicesXmlFromString(str,"Indices");
109 std::cout<<Pds::Ra::IndicesToString(ID,",")<<"\n";
110
111 unsigned int lin=0;
112 unsigned int col=0;
113 std::cout<<Pds::Ra::Ind2Sub(Pds::Size(3,2),5,lin,col)<<"\n";
114 std::cout<<lin<<"\n";
115 std::cout<<col<<"\n";
116
117 return 0;
118}
La clase tipo Pds::Matrix . Esta clase genera una matriz de Nlin lineas y Ncol columnas....
Definition: Matrix.hpp:96
La clase tipo Pds::Size . Esta clase genera un objeto con dos parametros Nlin y Ncol....
Definition: Size.hpp:57
La clase tipo Pds::Vector . Esta clase genera una matriz de Nlin lineas y 1 columna....
Definition: Vector.hpp:80
Pds::Matrix GetCols(unsigned int col_init, unsigned int col_end) const
Retorna una sub matriz escojida desde la columna col_init hasta col_end, inclusive....
bool Fill(Pds::AbstractRV &RV)
Inicializa la matriz con un valor aleatório.
Pds::Matrix T(void) const
Transpuesta de si mismo (A), el resultado es cargado en B.
bool GetRows(unsigned int lin_init, unsigned int lin_end, Pds::Matrix &B) const
Retorna una sub matriz escojida desde la linea lin_init hasta lin_end, inclusive. Hace una verificaci...
void Print(const std::string &str, unsigned int precision) const
Imprime en pantalla el contenido de la matriz después del texto indicado en str.
std::string IndicesToString(std::list< unsigned int > IDs, std::string separator="")
Convierte una lista de indices a un std::string.
std::vector< unsigned int > IndicesXmlFromString(const std::string &str, const std::string &TagName)
Lee una lista de indices desde un std::string en Xml.
std::string IndicesXmlToString(const std::vector< unsigned int > &ID, const std::string &TagName)
Convierte una lista de indices a un std::string en Xml.
std::list< unsigned int > IndicesRandList(unsigned int Init, unsigned int End, unsigned int N)
Retorna una lista aleatoria de indices.
bool Ind2Sub(const Pds::Size Sz, unsigned int ID, unsigned int &lin, unsigned int &col)
Convierte un indice ID a un formato (lin,col).
std::vector< unsigned int > IndicesRandVector(unsigned int Init, unsigned int End, unsigned int N)
Retorna una lista aleatoria de indices.

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed