Clase que implementa un vector columna de valores reales. Más...
Namespaces | |
namespace | Pds |
Nombre de espacio para Pds (Procesamiento Digital de Senales) | |
Estructuras de datos | |
class | Pds::Vector |
La clase tipo Pds::Vector . Esta clase genera una matriz de Nlin lineas y 1 columna. Para usar incluir Pds/Vector. Más... | |
Varios tipos de constructores | |
Crean una objeto Pds::Vector | |
Pds::Vector::Vector (void) | |
Crea un objeto de tipo Pds::Vector. Más... | |
Pds::Vector::Vector (unsigned int N) | |
Crea un objeto de tipo Pds::Vector. Más... | |
Pds::Vector::Vector (const Pds::Size &S) | |
Crea un objeto de tipo Pds::Vector con elementos inicializados con cero. Más... | |
Pds::Vector::Vector (const Pds::Matrix &B) | |
Crea un objeto de tipo Pds::Vector copiando datos desde una matriz. Toda la matriz es vectorizada leyendo columna a columna. Más... | |
template<class Datum > | |
Pds::Vector::Vector (const Pds::Array< Datum > &B) | |
Crea un objeto de tipo Pds::Vector copiando datos desde un arreglo. Más... | |
Pds::Vector::Vector (const char *str) | |
Crea un objeto de tipo Pds::Vector copiando datos desde una cadena. Más... | |
Pds::Vector::Vector (const std::initializer_list< double > list) | |
Crea un objeto de tipo Pds::Vector copiando datos desde una lista. Más... | |
Pds::Vector::Vector (const std::vector< double > &vec) | |
Crea un objeto de tipo Pds::Vector copiando datos desde una std::vector. Más... | |
Pds::Vector::Vector (const std::vector< int > &vec) | |
Crea un objeto de tipo Pds::Vector copiando datos desde una std::vector. Más... | |
Pds::Vector::Vector (const std::vector< bool > &vec) | |
Crea un objeto de tipo Pds::Vector copiando datos desde una std::vector. Más... | |
Pds::Vector::Vector (unsigned int N, double val) | |
Crea un objeto de tipo Pds::Vector. Más... | |
Pds::Vector::Vector (const Pds::Matrix &B, unsigned int col) | |
Crea un objeto de tipo Pds::Vector copiando datos desde una columna de una matriz. Más... | |
Pds::Vector::Vector (double(*func)(double), const Pds::Vector &B) | |
Crea un objeto de tipo Pds::Vector, evaluando mediante una función, los datos de otro vector. Más... | |
Pds::Vector::Vector (double(*func)(double), const Pds::Matrix &B) | |
Crea un objeto de tipo Pds::Vector, evaluando mediante una función, los datos de una matriz vectorizada. Más... | |
Pds::Vector::Vector (Pds::Ra::FormatType Type, std::string filepath) | |
Crea un objeto de tipo Pds::Vector copiando datos desde un archivo. Más... | |
Pds::Vector::~Vector () | |
Operadores binarios. | |
Pds::Vector | Pds::Vector::Conv (const Pds::Vector &B, Pds::Ra::Padding Padding=Pds::Ra::Full) const |
Calcula la convolución entre A y B. Más... | |
static Pds::Size | Pds::Vector::Conv1DOutputSize (unsigned int Anlin, unsigned int Bnlin, unsigned int Stride, Pds::Ra::Padding Padding) |
Calcula el tamaño de la matriz resultado de la convolucion de A y B. Más... | |
Pds::Vector | Pds::Vector::Conv1D (const Pds::Vector &B, unsigned int Stride=1, Pds::Ra::Padding Padding=Pds::Ra::Full) const |
Calcula la convolución entre A y B. Más... | |
Pds::Vector | Pds::Vector::XCorr (const Pds::Vector &B, bool Same=false) const |
Calcula la correlacion cruzada entre A y B. Más... | |
Pds::Matrix | Pds::Vector::MulTComp (double b, const Pds::Vector &B) const |
Multiplica con sigo mismo (A), la transpuesta de un vector [b;B] y el resultado es cargado en C. Más... | |
Métodos Static con Vectores VectorBlock. | |
Herramientas genéricas que pueden ser usadas desde Pds::Vector | |
static bool | Pds::Vector::IsVectorBlock (const std::vector< Pds::Vector > &Block) |
Verifica que el bloque (std::vector<Pds::Vector>) sea un vector no vacío de matrices no nulas y similares. Es decir un Hiperrectángulo. Más... | |
static Pds::Vector | Pds::Vector::FlattenVectorBlock (const std::vector< Pds::Vector > &Block) |
Convierte a Pds::Vector un VectorBlock. Más... | |
static std::vector< Pds::Vector > | Pds::Vector::RandNVectorBlock (unsigned int N, unsigned int Sz) |
Crea un bloque (std::vector<Pds::Vector>) con matrices no nulas y similares inicializadas con Pds::RandN(). Más... | |
static std::vector< Pds::Vector > | Pds::Vector::MaxPoolingVectorBlock (const std::vector< Pds::Vector > &A, unsigned int LinPool) |
Aplica max pooling a cada matriz de lineas y columnas. Más... | |
Static export import. | |
static bool | Pds::Vector::ExportVectorBlockXmlToStream (std::ofstream &myfile, const std::vector< Pds::Vector > &Block) |
Retorna un std::string en formato Xml con el contenido del VectorBlock. Más... | |
static std::string | Pds::Vector::ExportVectorBlockXmlToString (const std::vector< Pds::Vector > &Block) |
Retorna un std::string en formato Xml con el contenido del VectorBlock. Más... | |
static std::vector< Pds::Vector > | Pds::Vector::ImportVectorBlockXmlFromString (const std::string &str) |
Carga el contenido de una std::vector<Pds::Vector> desde un std::string en formato Xml. Más... | |
Métodos Static con Vectores TensorVectorBlock. | |
Herramientas genéricas que pueden ser usadas desde Pds::Vector | |
static bool | Pds::Vector::IsTensorVectorBlock (const std::vector< std::vector< Pds::Vector > > &Tensor) |
Verifica que el tensor (std::vector<std::vector<Pds::Vector>>) sea un vector de vectores no vacíos de matrices no nulas y similares. Es decir un Hiperrectángulo. Más... | |
static std::vector< std::vector< Pds::Vector > > | Pds::Vector::RandNTensorVectorBlock (unsigned int L, unsigned int N, unsigned int Sz) |
Crea un tensor (std::vector<std::vector<Pds::Vector>>) con matrices no nulas y similares inicializadas con Pds::RandN(). Más... | |
static std::string | Pds::Vector::ExportTensorVectorBlockXmlToString (const std::vector< std::vector< Pds::Vector > > &Block) |
Retorna un std::string en formato Xml con el contenido del TensorVectorBlock. Más... | |
static std::vector< std::vector< Pds::Vector > > | Pds::Vector::ImportTensorVectorBlockXmlFromString (const std::string &str) |
Carga el contenido de una std::vector<std::vector<Pds::Vector>> desde un std::string en formato Xml. Más... | |
static bool | Pds::Vector::ExportTensorVectorBlockXmlToStream (std::ofstream &myfile, const std::vector< std::vector< Pds::Vector > > &Block) |
Escribe en un std::ofstream en formato Xml con el contenido del TensorVectorBlock. Más... | |
Operadores unarios. | |
Pds::Vector | Pds::Vector::Unit (void) const |
Calcula el vector unitario de . Más... | |
bool | Pds::Vector::Normalize (void) |
Normaliza el vector convirtiendolo en unvector unitario. Más... | |
Pds::Vector | Pds::Vector::Reverse (void) |
Retorna un vector en orden reverso de si mismo, . Más... | |
Pds::Vector | Pds::Vector::Cumulative (void) |
Retorna un vector que acumula la suma de elementos de . Más... | |
Pds::Vector | Pds::Vector::CumulativeNorm (void) |
Retorna un vector que acumula y normaliza la suma de elementos de . Más... | |
Métodos para reordenar memoria con Pds::Vector. | |
bool | Pds::Vector::Reshape (unsigned int Nlin, unsigned int Ncol) |
Remodela los datos internos de la array y la convierte en una array de tamaño diferente, los datos que faltan se rellenan con cero. Más... | |
bool | Pds::Vector::Reshape (unsigned int Nel) |
Remodela los datos internos de la array y la convierte en una array de tamaño diferente, los datos que faltan se rellenan con cero. Más... | |
bool | Pds::Vector::FusionVer (std::list< Pds::Matrix > &list) |
Concatena verticalmente varias matrices. Si las matrices no tienen el mismo número de columnas se considera um error. Si las matrices no tienen un número de columnas igual a 1 da un error. Destruye las matrices en list. Este metodo es mas rapido que Pds::MergeVer(list) pues transplanta memoria. Más... | |
Métodos para calculo de kmeans y centroides con Pds::Vector | |
Descripción de algunos operadores habilitados a trabajar con Pds::Vector. | |
std::vector< unsigned int > | Pds::Vector::NearestK (unsigned int K, const std::vector< Pds::Vector > &C, std::vector< double > &D2) const |
Calcula que linea de es mas cercana al vector . Más... | |
Métodos para ordenar Pds::Vector. | |
bool | Pds::Vector::SortWith (Pds::Matrix &A) |
Ordena de forma ascendente un vector y se lleva consigo una matriz A ordenando tambien las filas de esta. Más... | |
bool | Pds::Vector::SortMe (void) |
Ordena de forma ascendente un vector . Más... | |
bool | Pds::Vector::SortMeReverse (void) |
Ordena de forma descendente un vector . Más... | |
std::vector< unsigned int > | Pds::Vector::SortMeAndGetIds (void) |
Ordena de forma ascendente un vector e retorna el vector de IDs. Más... | |
bool | Pds::Vector::SortFollowing (const std::vector< unsigned int > &id) |
Ordena de forma ascendente un vector siguiendo un vector de IDs. En caso de error no se hace nada, se considera error si el tamaño de is es diferente del tamaño del vector, o si algún id es mayor que el tamaño del vector. Más... | |
Métodos get set con Pds::Vector. | |
const double & | Pds::Vector::operator[] (const unsigned int &id) const |
Retorna el valor en cada posicion del vector (solo lectura). Más... | |
const double & | Pds::Vector::GetRaw (unsigned int lin) const |
Retorna una variable Datum en la posición (lin,0) de vector. Más... | |
void | Pds::Vector::SetRaw (unsigned int lin, const double &val) |
Establece una variable Datum en la posición (lin,0) del vector. Más... | |
Métodos para exportar e importar Json con Pds::Matrix. | |
Herramientas genéricas que pueden ser usadas desde Pds::Matrix | |
Pds::Json | Pds::Vector::ToJson (void) const |
Retorna un objeto Pds::Json con el contenido del vector. Más... | |
bool | Pds::Vector::FromJson (const Pds::Json &J) |
Lee un objeto Pds::Json busca la etiqueta "Vector" y lo carga en la matriz. El objeto debe tener al menos los siguientes dados. Más... | |
Operadores binarios acumuladores y sus métodos equivalentes | |
Descripción de algunos operadores habilitados a trabajar con Pds::Vector. | |
bool | Pds::Vector::Copy (const Pds::Matrix &B) |
Copia en si mismo (A), el contenido de una matriz B vectorizandola columana a columna. Este método es similar a usar el operador = . No importa el tamaño de A, sus datos son liberados y un nuevo arreglo de datos es reservado. Más... | |
bool | Pds::Vector::Vectorize (const Pds::Matrix &B) |
Copia en si mismo (A), el contenido de una matriz B vectorizandola columana a columna. Este método es equivalente a Copy(). Más... | |
bool | Pds::Vector::CopyFromRow (unsigned int lin, const Pds::Matrix &B) |
Copia en si mismo (A), una linea de la matriz B. El tamaño de A debe ser el mismo que las columnas de B. Más... | |
void | Pds::Vector::AddRawAssigAt (unsigned int lin, const double &val) |
Suma un valor al contenido de un elemento lin (acumula). Elem+=val. Más... | |
Clase que implementa un vector columna de valores reales.
Estas funciones trabajan con una matriz de la forma.
nlin es el número de lineas.
Informacion adicional puede ser encontrada en [5]
Pds::Vector::Vector | ( | void | ) |
Crea un objeto de tipo Pds::Vector.
Pds::Vector::Vector | ( | unsigned int | N | ) |
Crea un objeto de tipo Pds::Vector.
[in] | N | El numero de lineas del vector. |
Pds::Vector::Vector | ( | const Pds::Size & | S | ) |
Crea un objeto de tipo Pds::Vector con elementos inicializados con cero.
Para crear una matriz A de 6 filas y 1 columna:
[in] | S | El tamaño del vector, en general el tamaño es S.Ncol*S.Nlin. |
Pds::Vector::Vector | ( | const Pds::Matrix & | B | ) |
Crea un objeto de tipo Pds::Vector copiando datos desde una matriz. Toda la matriz es vectorizada leyendo columna a columna.
Para crear una matriz A con copia de datos de una matriz B:
[in] | B | Matriz a copiar. |
Pds::Vector::Vector | ( | const Pds::Array< Datum > & | B | ) |
Pds::Vector::Vector | ( | const char * | str | ) |
Crea un objeto de tipo Pds::Vector copiando datos desde una cadena.
Para crear una matriz A con los datos de una cadena:
[in] | str | Cadena a leer. |
Pds::Vector::Vector | ( | const std::initializer_list< double > | list | ) |
Crea un objeto de tipo Pds::Vector copiando datos desde una lista.
Para crear una matriz A con los datos de una cadena:
[in] | list | Lista a leer. |
Pds::Vector::Vector | ( | const std::vector< double > & | vec | ) |
Crea un objeto de tipo Pds::Vector copiando datos desde una std::vector.
Para crear una matriz A con los datos de una cadena:
[in] | vec | Vector a leer. |
Pds::Vector::Vector | ( | const std::vector< int > & | vec | ) |
Crea un objeto de tipo Pds::Vector copiando datos desde una std::vector.
Para crear una matriz A con los datos de una cadena:
[in] | vec | Vector a leer. |
Pds::Vector::Vector | ( | const std::vector< bool > & | vec | ) |
Crea un objeto de tipo Pds::Vector copiando datos desde una std::vector.
Para crear una matriz A con los datos de una cadena:
[in] | vec | Vector a leer. |
Pds::Vector::Vector | ( | unsigned int | N, |
double | val | ||
) |
Crea un objeto de tipo Pds::Vector.
[in] | N | El numero de lineas del vector. |
[in] | val | El valor a inicializar. |
Pds::Vector::Vector | ( | const Pds::Matrix & | B, |
unsigned int | col | ||
) |
Crea un objeto de tipo Pds::Vector copiando datos desde una columna de una matriz.
Para crear una matriz A con copia de datos de una matriz B:
[in] | B | Matriz a copiar. |
[in] | col | columna a copiar. |
Pds::Vector::Vector | ( | double(*)(double) | func, |
const Pds::Vector & | B | ||
) |
Crea un objeto de tipo Pds::Vector, evaluando mediante una función, los datos de otro vector.
Para crear un vector A , copia de sin(B):
[in] | B | Vector a evaluar para copiar los resultados. |
[in] | func | Función a aplicar, esta debe tener a forma double func(double). |
Pds::Vector::Vector | ( | double(*)(double) | func, |
const Pds::Matrix & | B | ||
) |
Crea un objeto de tipo Pds::Vector, evaluando mediante una función, los datos de una matriz vectorizada.
Para crear un vector A , copia de sin(B(:)):
[in] | B | Vector a evaluar para copiar los resultados. |
[in] | func | Función a aplicar, esta debe tener a forma double func(double). |
Pds::Vector::Vector | ( | Pds::Ra::FormatType | Type, |
std::string | filepath | ||
) |
Crea un objeto de tipo Pds::Vector copiando datos desde un archivo.
[in] | Type | Tipo de archivo de fuente de datos. |
[in] | filepath | Path del archivo cargado. |
Pds::Vector Pds::Vector::Conv | ( | const Pds::Vector & | B, |
Pds::Ra::Padding | Padding = Pds::Ra::Full |
||
) | const |
Calcula la convolución entre A y B.
Padding | Length | ID |
Pds::Ra::Valid | ||
Pds::Ra::Same | ||
Pds::Ra::Full |
[in] | B | Vector a aplicar la convolución. |
[in] | Padding | indica el tipo de pading de la convolución lo cual afecta al tamaño del vector de salida. Puede ser Pds::Ra::Valid, Pds::Ra::Full o Pds::Ra::Same. |
|
static |
Calcula el tamaño de la matriz resultado de la convolucion de A y B.
Padding | Length | ID |
Pds::Ra::Valid | ||
Pds::Ra::Same | ||
Pds::Ra::Full |
[in] | Anlin | Tamaño de la matriz a aplicar la convolución. |
[in] | Bnlin | Tamaño de la matriz kernel a aplicar la convolución. |
[in] | Stride | Paso del convolucionador. |
[in] | Padding | indica el tipo de pading de la convolución lo cual afecta al tamaño del vector de salida. |
Pds::Vector Pds::Vector::Conv1D | ( | const Pds::Vector & | B, |
unsigned int | Stride = 1 , |
||
Pds::Ra::Padding | Padding = Pds::Ra::Full |
||
) | const |
Calcula la convolución entre A y B.
Padding | Length | ID |
Pds::Ra::Valid | ||
Pds::Ra::Same | ||
Pds::Ra::Full |
[in] | B | Vector a aplicar la convolución. |
[in] | Stride | Paso del convolucionador. |
[in] | Padding | indica el tipo de pading de la convolución lo cual afecta al tamaño del vector de salida. Puede ser Pds::Ra::Valid, Pds::Ra::Full o Pds::Ra::Same. |
Pds::Vector Pds::Vector::XCorr | ( | const Pds::Vector & | B, |
bool | Same = false |
||
) | const |
Calcula la correlacion cruzada entre A y B.
Same | Formulation |
false | |
true |
[in] | B | Vector a aplicar la correlacion cruzada. |
[in] | Same | Indica el tamaño del vector de salida. |
Pds::Matrix Pds::Vector::MulTComp | ( | double | b, |
const Pds::Vector & | B | ||
) | const |
Multiplica con sigo mismo (A), la transpuesta de un vector [b;B] y el resultado es cargado en C.
[in] | b | El pedazo de arriba del vector a multiplicar |
[in] | B | El pedazo de abajo del vector a multiplicar |
|
static |
Verifica que el bloque (std::vector<Pds::Vector>) sea un vector no vacío de matrices no nulas y similares. Es decir un Hiperrectángulo.
[in] | Block | Un bloque (std::vector<Pds::Vector>) de N matrices (Pds::Vector). |
|
static |
Convierte a Pds::Vector
un VectorBlock.
La converción es realizada vectorizando cada matriz concatenando sus columnas, esta concatenación se repite desde la primera matriz Block[0]
hasta la última Block[N-1]
.
[in] | Block | Un bloque (std::vector<Pds::Vector>) de N matrices (Pds::Vector). |
Pds::Vector
que representa la linearización de un VectorBlock. Se retorna un vector vacio si alguna de las matrices en el VectorBlock está vacia.
|
static |
Crea un bloque (std::vector<Pds::Vector>) con matrices no nulas y similares inicializadas con Pds::RandN().
Out
o un vector vacio (Out.size()==0
) en caso de error .
|
static |
Aplica max pooling a cada matriz
de lineas y columnas.
La matriz resultante tendrá lineas y columnas.
[in] | A | SampleBlock a aplicar maxpooling. |
[in] | LinPool | Pooling entre lineas. |
|
static |
Retorna un std::string
en formato Xml con el contenido del VectorBlock.
Por exemplo si guardamos un VectorBlock A={Pds::Eye(3),Pds::Ones(3)}
en el std::string se escribirá:
[in] | myfile | Stream de salida. |
[in] | Block | Un bloque (std::vector<Pds::Vector>) de N matrices (Pds::Vector). |
|
static |
Retorna un std::string
en formato Xml con el contenido del VectorBlock.
Por exemplo si guardamos un VectorBlock A={Pds::X3D(),Pds::Y3D()}
en el std::string se escribirá:
[in] | Block | Un bloque (std::vector<Pds::Vector>) de N matrices (Pds::Vector). |
std::string
en formato Xml con el contenido de la matriz.
|
static |
Carga el contenido de una std::vector<Pds::Vector> desde un std::string
en formato Xml.
Si la lectura es satisfactoria se retorna un nuevo std::vector<Pds::Vector>, en caso de error el vector estará vacio, es decir size()==0.
Por exemplo si tenemos un std::string str
con el texto:
Podremos leer el contenido y cargarlo en A
usando:
Este formato de almacenamiento de datos proviene de usar Pds::Vector::ExportVectorBlockXmlToString().
[in] | str | El std::string donde se leerán los datos. |
std::vector<Pds::Vector>
.
|
static |
Verifica que el tensor (std::vector<std::vector<Pds::Vector>>) sea un vector de vectores no vacíos de matrices no nulas y similares. Es decir un Hiperrectángulo.
[in] | Tensor | Un bloque (std::vector<std::vector<Pds::Vector>>) de L sample block con N matrices (Pds::Vector). |
|
static |
Crea un tensor (std::vector<std::vector<Pds::Vector>>) con matrices no nulas y similares inicializadas con Pds::RandN().
[in] | L | Número de sample block. |
[in] | N | Número de capas en cada sample block. |
[in] | Sz | Tamaño de cada una de las matrices en todos los sample block. |
Out
o un vector vacio (Out.size()==0
) en caso de error .
|
static |
Retorna un std::string
en formato Xml con el contenido del TensorVectorBlock.
Por exemplo si guardamos un TensorVectorBlock A={{Pds::X3D(),Pds::Y3D()},{Pds::Y3D(),Pds::Z3D()}}
en el std::string se escribirá:
[in] | Block | Un bloque (std::vector<std::vector<Pds::Vector>> ) de N*M matrices (Pds::Vector). |
std::string
en formato Xml con el contenido del TensorVectorBlock.
|
static |
Carga el contenido de una std::vector<std::vector<Pds::Vector>>
desde un std::string
en formato Xml.
Si la lectura es satisfactoria se retorna un nuevo std::vector<std::vector<Pds::Vector>>
, en caso de error el vector estará vacio, es decir size()==0.
Por exemplo si tenemos un std::string str
con el texto:
Podremos leer el contenido y cargarlo en A
usando:
Este formato de almacenamiento de datos proviene de usar Pds::Vector::ExportTensorVectorBlockXmlToString()
.
[in] | str | El std::string donde se leerán los datos. |
std::vector<std::vector<Pds::Vector>>
.
|
static |
Escribe en un std::ofstream
en formato Xml con el contenido del TensorVectorBlock.
Por exemplo si guardamos un TensorVectorBlock A={{Pds::X3D(),Pds::Y3D()},{Pds::Y3D(),Pds::Z3D()}}
en el std::ofstream se escribirá:
[in] | myfile | Stream de salida. |
[in] | Block | Un bloque (std::vector<std::vector<Pds::Vector>> ) de N*M matrices (Pds::Vector). |
Pds::Vector Pds::Vector::Unit | ( | void | ) | const |
Calcula el vector unitario de .
bool Pds::Vector::Normalize | ( | void | ) |
Normaliza el vector convirtiendolo en unvector unitario.
Pds::Vector Pds::Vector::Reverse | ( | void | ) |
Retorna un vector en orden reverso de si mismo, .
.
Pds::Vector Pds::Vector::Cumulative | ( | void | ) |
Retorna un vector que acumula la suma de elementos de .
.
.
Pds::Vector Pds::Vector::CumulativeNorm | ( | void | ) |
Retorna un vector que acumula y normaliza la suma de elementos de .
.
.
bool Pds::Vector::Reshape | ( | unsigned int | Nlin, |
unsigned int | Ncol | ||
) |
Remodela los datos internos de la array y la convierte en una array de tamaño diferente, los datos que faltan se rellenan con cero.
|warning Este método cambiar .Reshape(Nlin,Ncol) por .Reshape(Nlin*Ncol,1)
[in] | Nlin | Número de lineas. Da error si el valor es cero. |
[in] | Ncol | Número de columnas. Da error si el valor es cero. |
bool Pds::Vector::Reshape | ( | unsigned int | Nel | ) |
Remodela los datos internos de la array y la convierte en una array de tamaño diferente, los datos que faltan se rellenan con cero.
[in] | Nel | Número de lineas. Da error si el valor es cero. |
bool Pds::Vector::FusionVer | ( | std::list< Pds::Matrix > & | list | ) |
Concatena verticalmente varias matrices.
Si las matrices no tienen el mismo número de columnas se considera um error. Si las matrices no tienen un número de columnas igual a 1 da un error. Destruye las matrices en list. Este metodo es mas rapido que Pds::MergeVer(list) pues transplanta memoria.
[in] | list | La lista de matrices a concatenar. |
std::vector< unsigned int > Pds::Vector::NearestK | ( | unsigned int | K, |
const std::vector< Pds::Vector > & | C, | ||
std::vector< double > & | D2 | ||
) | const |
Calcula que linea de es mas cercana al vector .
El vector contiene a los indices de las lineas de que estan mas cerca al vector . Las lineas son comparadas usando distancia euclidiana al cuadrado.
[in] | K | Número máximo de vecinos a buscar. |
[in] | C | Vector de vectores a comparar. C.Ncol() debe ser igual V.Nel(). |
[out] | D2 | El vector de las distancias euclidianas al cuadrado correspondientes a . |
bool Pds::Vector::SortWith | ( | Pds::Matrix & | A | ) |
Ordena de forma ascendente un vector y se lleva consigo una matriz A ordenando tambien las filas de esta.
[in] | A | Matriz a ordenar acompañando el orden de las lineas del vector. |
bool Pds::Vector::SortMe | ( | void | ) |
Ordena de forma ascendente un vector .
bool Pds::Vector::SortMeReverse | ( | void | ) |
Ordena de forma descendente un vector .
std::vector< unsigned int > Pds::Vector::SortMeAndGetIds | ( | void | ) |
Ordena de forma ascendente un vector e retorna el vector de IDs.
bool Pds::Vector::SortFollowing | ( | const std::vector< unsigned int > & | id | ) |
Ordena de forma ascendente un vector siguiendo un vector de IDs. En caso de error no se hace nada, se considera error si el tamaño de is es diferente del tamaño del vector, o si algún id es mayor que el tamaño del vector.
|
inline |
Retorna el valor en cada posicion del vector (solo lectura).
[in] | id | Indice del vector. |
Definición en la línea 1186 del archivo Vector.hpp.
Hace referencia a Pds::Matrix::array.
|
inline |
Retorna una variable Datum en la posición (lin,0) de vector.
[in] | lin | La linea en consulta. |
Definición en la línea 1199 del archivo Vector.hpp.
Hace referencia a Pds::Matrix::array.
|
inline |
Establece una variable Datum en la posición (lin,0) del vector.
[in] | lin | La linea en consulta. |
[in] | val | valor a escribir. |
Definición en la línea 1212 del archivo Vector.hpp.
Hace referencia a Pds::Matrix::array.
Pds::Json Pds::Vector::ToJson | ( | void | ) | const |
bool Pds::Vector::FromJson | ( | const Pds::Json & | J | ) |
Lee un objeto Pds::Json busca la etiqueta "Vector" y lo carga en la matriz. El objeto debe tener al menos los siguientes dados.
bool Pds::Vector::Copy | ( | const Pds::Matrix & | B | ) |
Copia en si mismo (A), el contenido de una matriz B vectorizandola columana a columna. Este método es similar a usar el operador = . No importa el tamaño de A, sus datos son liberados y un nuevo arreglo de datos es reservado.
[in] | B | la matriz a copiar |
Referenciado por Pds::Vector::Vectorize().
|
inline |
Copia en si mismo (A), el contenido de una matriz B vectorizandola columana a columna. Este método es equivalente a Copy().
[in] | B | la matriz a copiar |
Definición en la línea 1295 del archivo Vector.hpp.
Hace referencia a Pds::Vector::Copy().
bool Pds::Vector::CopyFromRow | ( | unsigned int | lin, |
const Pds::Matrix & | B | ||
) |
Copia en si mismo (A), una linea de la matriz B. El tamaño de A debe ser el mismo que las columnas de B.
Cuando acontece:
[in] | lin | Linea a copiar. |
[in] | B | La matriz fuente de copia. |
|
inline |
Suma un valor al contenido de un elemento lin (acumula). Elem+=val.
[in] | lin | La linea en consulta. |
[in] | val | valor a acumular. |
Definición en la línea 1327 del archivo Vector.hpp.
Hace referencia a Pds::Matrix::array.
Pds::Vector::~Vector | ( | ) |