Métodos de la clase Pds::Matrix, una matriz. Más...
Namespaces | |
namespace | Pds |
Nombre de espacion para PDS (Procesamiento Digital de Senales) | |
Estructuras de datos | |
class | Pds::Matrix |
La clase tipo Pds::Matrix . Esta clase genera una matriz de Nlin lineas y Ncol columnas. Para usar incluir Pds/Matrix. Más... | |
Constructores | |
Crean una objeto Pds::Matrix | |
Pds::Matrix::Matrix (void) | |
Crea un objeto de tipo Pds::Matrix vacio. Más... | |
Pds::Matrix::Matrix (unsigned int N) | |
Crea un objeto de tipo Pds::Matrix de N lineas y N columnas, con elementos inicializados con cero. Más... | |
Pds::Matrix::Matrix (const Pds::Size &S) | |
Crea un objeto de tipo Pds::Matrix con elementos inicializados con cero. Más... | |
Pds::Matrix::Matrix (const Pds::Matrix &B) | |
Crea un objeto de tipo Pds::Matrix copiando datos desde otra matriz. Este es un Copy assignment constructor. Más... | |
template<class Datum > | |
Pds::Matrix::Matrix (const Pds::Array< Datum > &B) | |
Crea un objeto de tipo Pds::Matrix copiando datos desde un arreglo. Más... | |
Pds::Matrix::Matrix (const char *str) | |
Crea un objeto de tipo Pds::Matrix copiando datos desde una cadena. Más... | |
Pds::Matrix::Matrix (const std::string &str) | |
Crea un objeto de tipo Pds::Matrix copiando datos desde una std::string. Más... | |
Pds::Matrix::Matrix (unsigned int Nlin, unsigned int Ncol) | |
Crea un objeto de tipo Pds::Matrix con elementos inicializados con cero. Más... | |
Pds::Matrix::Matrix (unsigned int Nlin, unsigned int Ncol, double val) | |
Crea un objeto de tipo Pds::Matrix con elementos inicializados con val. Más... | |
Pds::Matrix::Matrix (double(*func)(double), const Pds::Matrix &B) | |
Crea un objeto de tipo Pds::Matrix, evaluando mediante una función, los datos de otra matriz. Más... | |
Pds::Matrix::Matrix (double(*func)(double, double), const Pds::Matrix &B, double var) | |
Crea un objeto de tipo Pds::Matrix, evaluando mediante una función, los datos de otra matriz. Más... | |
Pds::Matrix::Matrix (double(*func)(double, double), const Pds::Matrix &B, const Pds::Matrix &C) | |
Crea un objeto de tipo Pds::Matrix, evaluando mediante una función, los datos de otra matriz. Más... | |
Pds::Matrix::Matrix (double(*func)(double, double, double), const Pds::Matrix &B, const Pds::Matrix &C, double var) | |
Crea un objeto de tipo Pds::Matrix, evaluando mediante una función, los datos de otra matriz. Más... | |
Pds::Matrix::Matrix (double(*func)(double, double, double), const Pds::Matrix &X, const Pds::Matrix &Y, const Pds::Matrix &Z) | |
Crea un objeto de tipo Pds::Matrix, evaluando mediante una función, los datos de otra matriz. Más... | |
Pds::Matrix::Matrix (double(*func)(double, double, double, double), const Pds::Matrix &X, const Pds::Matrix &Y, const Pds::Matrix &Z, double var) | |
Crea un objeto de tipo Pds::Matrix, evaluando mediante una función, los datos de otra matriz. Más... | |
Pds::Matrix::Matrix (double(*func)(double, double, double, double), const Pds::Matrix &X, const Pds::Matrix &Y, const Pds::Matrix &Z, const Pds::Matrix &W) | |
Crea un objeto de tipo Pds::Matrix, evaluando mediante una función, los datos de otra matriz. Más... | |
Pds::Matrix::Matrix (Pds::Ra::FormatType Type, std::string filepath) | |
Crea un objeto de tipo Pds::Matrix copiando datos desde un archivo. Más... | |
Pds::Matrix::~Matrix () | |
Métodos de estado | |
bool | Pds::Matrix::IsEmpty (void) const |
Verifica si la matriz es nula es decir con lineas o columnas cero o arreglo NULL. Más... | |
bool | Pds::Matrix::IsNotEmpty (void) const |
Verifica si la matriz NO es nula, es decir con lineas y columnas diferentes cero y arreglo diferente de NULL. Más... | |
bool | Pds::Matrix::IsSimilarTo (const Pds::Matrix &B) const |
Verifica si las matrices son similares en tamaño. Más... | |
bool | Pds::Matrix::IsNotSimilarTo (const Pds::Matrix &B) const |
Verifica si las matrices son similares en tamaño. Más... | |
bool | Pds::Matrix::IsMulBy (const Pds::Matrix &B) const |
Verifica si las matrices son multiplicables. Más... | |
bool | Pds::Matrix::IsNotMulBy (const Pds::Matrix &B) const |
Verifica si las matrices son multiplicables. Más... | |
bool | Pds::Matrix::IsInRange (unsigned int lin, unsigned int col) const |
Verifica si la posición pertenece a la matriz. Más... | |
bool | Pds::Matrix::IsNotInRange (unsigned int lin, unsigned int col) const |
Verifica si la posición NO pertenece a la matriz. Más... | |
bool | Pds::Matrix::IsInSizeRange (double lin, double col) const |
Verifica si la posición (lin,col) pertenece al rango de la matriz. Más... | |
bool | Pds::Matrix::IsRowMatrix (void) const |
Verifica si la matriz tiene solo una linea. Más... | |
bool | Pds::Matrix::IsColMatrix (void) const |
Verifica si la matriz tiene solo una columna. Más... | |
bool | Pds::Matrix::IsZero (void) const |
Verifica si la matriz está llena de zeros. Más... | |
bool | Pds::Matrix::IsLeq (double val) const |
Verifica si cada elemento de la matriz es menor a el valor val. Más... | |
bool | Pds::Matrix::IsLeq (const Pds::Matrix &B) const |
Verifica si cada elemento de la matriz es menor igual a cada elemento de la matriz B. Más... | |
bool | Pds::Matrix::IsGeq (double val) const |
Verifica si cada elemento de la matriz es mayor a el valor val. Más... | |
bool | Pds::Matrix::IsGeq (const Pds::Matrix &B) const |
Verifica si cada elemento de la matriz es mayor igual a cada elemento de la matriz B. Más... | |
bool | Pds::Matrix::IsEqualTo (double val) const |
Verifica si cada elemento de la matriz es igual a el valor val. Más... | |
bool | Pds::Matrix::IsEqualTo (const Pds::Matrix &B) const |
Verifica si cada elemento de la matriz es igual a cada elemento de la matriz B. Más... | |
bool | Pds::Matrix::HasInf (void) const |
Verifica si la matriz tiene algun valor infinito. Más... | |
bool | Pds::Matrix::HasNan (void) const |
Verifica si la matriz tiene algun valor NAN (Not A Number). Más... | |
bool | Pds::Matrix::HasNotFinite (void) const |
Verifica si la matriz tiene elementos no finitos (+inf, -inf y NAN). Más... | |
Métodos de inicialización | |
bool | Pds::Matrix::FillRandC (double p1) |
Inicializa la matriz con números aleatórios unos y ceros, la probabilidad de 1 es p1. Más... | |
bool | Pds::Matrix::FillRandN (void) |
Inicializa la matriz con números aleatórios, distribuidos usando una distribución Gaussiana normalizada con media 0 y desvío padrón 1.0. Más... | |
bool | Pds::Matrix::FillRandN (double U, double Sigma) |
Inicializa la matriz con números aleatórios, distribuidos usando una distribución Gaussiana con media U y desvío padrón Sigma. Más... | |
bool | Pds::Matrix::FillRandU (void) |
Inicializa la matriz con números aleatórios, distribuidos uniformemente, desde 0 a 1.0, incluyendo 0 y excluyendo 1.0. Más... | |
bool | Pds::Matrix::FillRandU (int a, int b) |
Inicializa la matriz con números aleatórios, distribuidos uniformemente, desde a a b, incluyendo a y b. Más... | |
bool | Pds::Matrix::FillRandU (double a, double b) |
Inicializa la matriz con números aleatórios, distribuidos uniformemente, desde a a b, incluyendo a y b. Más... | |
bool | Pds::Matrix::FillId (void) |
Inicializa la matriz con el valor de la posición de cada elemento. Más... | |
bool | Pds::Matrix::Fill (double val) |
Inicializa la matriz con un valor constante. Más... | |
bool | Pds::Matrix::FillLinSpace (double a, double b) |
Inicializa la matriz con un espacio linear entre begin y end. Se inicializa primero una columna ante de pasar ala siguiente. Más... | |
Métodos de tamaño | |
unsigned int | Pds::Matrix::Nlin (void) const |
Retorna el numero de lineas de la matriz. Más... | |
unsigned int | Pds::Matrix::Ncol (void) const |
Retorna el numero de columnas de la matriz. Más... | |
unsigned int | Pds::Matrix::Nel (void) const |
Retorna el numero de elementos de la matriz (Nlin x Ncol). Más... | |
Pds::Size | Pds::Matrix::Size (void) const |
Retorna un objeto de tipo Pds::Size con el numero de lineas y columans. Más... | |
unsigned int | Pds::Matrix::LinEnd (void) const |
Retorna el identificador de la ultima linea de la matriz. Más... | |
unsigned int | Pds::Matrix::ColEnd (void) const |
Retorna el identificador de la ultima columna de la matriz. Más... | |
unsigned int | Pds::Matrix::End (void) const |
Retorna el identificador del ultimo elemento de la matriz. Más... | |
Métodos get y set de elementos | |
double | Pds::Matrix::Get (unsigned int id) const |
Retorna el valor en la posición del índice id, hace una verificación si la posición existe. Más... | |
double | Pds::Matrix::Get (unsigned int lin, unsigned int col) const |
Retorna el valor en la posición (lin,col), hace una verificación si la posición existe. Más... | |
const double & | Pds::Matrix::GetRaw (unsigned int lin, unsigned int col) const |
Retorna una variable double en la posición (lin,col) de la array. Más... | |
void | Pds::Matrix::SetRaw (unsigned int lin, unsigned int col, const double &val) |
Establece una variable double en la posición (lin,col) de la array. Más... | |
bool | Pds::Matrix::Set (unsigned int id, double val) |
Escribe el valor en la posición del índice id, hace una verificación si la posición existe. Más... | |
bool | Pds::Matrix::Set (unsigned int lin, unsigned int col, double val) |
Escribe el valor en la posición (lin,col), hace una verificación si la posición existe. Más... | |
double & | Pds::Matrix::At (unsigned int lin, unsigned int col) |
Retorna una variable double en la posición (lin,col) de la matriz. Hace una verificación para evitar leer o escribir fuera de la memoria, con este fin hace lin=linNlin y col=colNcol. Más... | |
double & | Pds::Matrix::At (unsigned int id) |
Retorna una variable double en la posición (id) de la matriz. Hace una verificación para evitar leer o escribir fuera de la memoria, con este fin hace id=id%(Nlin*Ncol). Más... | |
double | Pds::Matrix::Bilinear (double lin, double col) const |
Retorna el valor en la posición (lin,col), usando una interpolación bilinear, valores fuera del rango de la matriz retornan cero. Más... | |
Métodos get y set de matrices y vectores | |
Pds::Vector | Pds::Matrix::GetDiagonal (void) const |
Retorna un vector columna copia de los valores de la diagonal de la matriz. Más... | |
bool | Pds::Matrix::SetDiagonal (const Pds::Vector V) |
Copia un vector columna en una diagonal de la matriz. Si los tamaños son diferentes, se interceptan las matrices y se copia solamente en la intersección. Más... | |
Pds::Matrix | Pds::Matrix::GetMatrix (unsigned int lin_init, unsigned int col_init, unsigned int lin_end, unsigned int col_end) const |
Retorna una sub matriz desde la posición (lin_init,col_init) hasta (lin_end,col_end), inclusive. Hace una verificación si la posición existe, si no existe llena con ceros. Más... | |
Pds::Matrix | Pds::Matrix::GetMatrix (unsigned int lin_init, unsigned int col_init, Pds::Size size) const |
Retorna una sub matriz desde la posición (lin_init,col_init) hasta (lin_end,col_end), inclusive. Hace una verificación si la posición existe, si no existe llena con ceros. Más... | |
bool | Pds::Matrix::SetMatrix (unsigned int lin, unsigned int col, const Pds::Matrix &B) |
Copia en si mismo (A) en la posicion (lin,col), el contenido de una matriz B. Si a matriz B no cabe em A se retorna false. Más... | |
Pds::Matrix | Pds::Matrix::GetRow (unsigned int lin) const |
Retorna una matriz linea escojida en la linea lin. Hace una verificación si la linea existe, si no existe devuelve una matriz vacia. Más... | |
Pds::Matrix | Pds::Matrix::GetCol (unsigned int col) const |
Retorna una matriz columna escojida en la columna col. Hace una verificación si la columna existe, si no existe devuelve una matriz vacia. Más... | |
Pds::Matrix | Pds::Matrix::GetRows (unsigned int lin_init, unsigned int lin_end) const |
Retorna una sub matriz escojida desde la linea lin_init hasta lin_end, inclusive. Hace una verificación si la linea existe, si no existe llena esta con ceros. Más... | |
Pds::Matrix | 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. Hace una verificación si la columna existe, si no existe llena esta con ceros. Más... | |
Pds::Matrix | Pds::Matrix::GetRows (std::list< unsigned int > List) const |
Retorna una sub matriz escojida desde una lista de indices de lineas. Hace una verificación si los indices existen, si alguno no existe devuelve una matriz vacia. Más... | |
Pds::Matrix | Pds::Matrix::GetCols (std::list< unsigned int > List) const |
Retorna una sub matriz escojida desde una lista de indices de columnas. Hace una verificación si los indices existen, si alguno no existe devuelve una matriz vacia. Más... | |
Pds::Matrix | Pds::Matrix::GetRows (std::vector< unsigned int > Vec) const |
Retorna una sub matriz escojida desde una lista de indices de lineas. Hace una verificación si los indices existen, si alguno no existe devuelve una matriz vacia. Más... | |
Pds::Matrix | Pds::Matrix::GetCols (std::vector< unsigned int > Vec) const |
Retorna una sub matriz escojida desde una lista de indices de columnas. Hace una verificación si los indices existen, si alguno no existe devuelve una matriz vacia. Más... | |
Pds::Matrix | Pds::Matrix::GetRowsRand (unsigned int N) const |
Retorna una sub matriz escojiendo N lineas aleatoriamente (sin repetición). Más... | |
Pds::Matrix | Pds::Matrix::GetColsRand (unsigned int N) const |
Retorna una sub matriz escojiendo N columnas aleatoriamente (sin repetición). Más... | |
bool | Pds::Matrix::SetRowValue (unsigned int lin, double value) |
Copia un valor en una linea de la matriz. Más... | |
bool | Pds::Matrix::SetRowVector (unsigned int lin, const Pds::Vector &X) |
Copia un vector en una linea de la matriz. Más... | |
bool | Pds::Matrix::SetColValue (unsigned int col, double value) |
Copia un valor en una columna de la matriz. Más... | |
Pds::Vector | Pds::Matrix::GetRowAsColVector (unsigned int lin) const |
Retorna un vector columna copia de una linea de la matriz. Más... | |
bool | Pds::Matrix::GetRowAsColVector (unsigned int lin, Pds::Vector &V) const |
Retorna un vector columna copia de una linea de la matriz. Más... | |
Pds::Vector | Pds::Matrix::GetColVector (unsigned int col) const |
Retorna un vector columna copia de una columna de la matriz. Más... | |
bool | Pds::Matrix::SetColVector (unsigned int col, const Pds::Vector V) |
Copia un vector columna en una columna de la matriz. Si los tamaños son diferentes, se interceptan las matrices y se copia solamente en la intersección. Más... | |
bool | Pds::Matrix::SetColVector (unsigned int col, double(*func)(double), const Pds::Vector V) |
Copia un vector columna en una columna de la matriz, despues de evaluar el vector en una funcion. Si los tamaños son diferentes, se interceptan las matrices y se copia solamente en la intersección. Más... | |
bool | Pds::Matrix::SetColVector (unsigned int col, double(*func)(double, double), const Pds::Vector V, double var) |
Copia un vector columna en una columna de la matriz, despues de evaluar el vector en una funcion. Si los tamaños son diferentes, se interceptan las matrices y se copia solamente en la intersección. Más... | |
Métodos de opreaciones sobre las lineas de la matriz | |
bool | Pds::Matrix::RowAddAssig (unsigned int lin1, unsigned int lin2, double alpha) |
Multiplica los valores de la linea lin2 por alfa y el resultado es sumado a los valores de la linea lin1. Más... | |
bool | Pds::Matrix::RowMulAssig (unsigned int lin, double alpha) |
Multiplica la linea lin por alpha. Más... | |
bool | Pds::Matrix::RowDivAssig (unsigned int lin, double alpha) |
Divide la linea lin por alpha. Más... | |
bool | Pds::Matrix::RowSwap (unsigned int lin1, unsigned int lin2) |
Intercambia los valores de las lineas de una matriz. Más... | |
int | Pds::Matrix::RowSwapBelow (unsigned int n) |
Si el n-avo elemento de la diagonal es cero entonces intercambia la linea n de la matriz con cualquier linea inferior con elemento diferente de cero en la columna n. Más... | |
bool | Pds::Matrix::RowReduction (void) |
Convierte la matriz en una matriz reducida. Más... | |
bool | Pds::Matrix::RowDivByAbsMax (void) |
Normaliza cada linea de la matriz dividiendola por el maximo valor absoluto de la linea. Si la linea tiene solo ceros esta no es modificada. Más... | |
Métodos estadísticos | |
double | Pds::Matrix::Sum (void) const |
Calcula el valor de la suma de elementos de la matriz. Más... | |
double | Pds::Matrix::Mean (void) const |
Calcula el valor medio de la matriz. Más... | |
Pds::Matrix | Pds::Matrix::MeanInCols (void) const |
Calcula el valor medio de las columnas de la matriz. Más... | |
Pds::Vector | Pds::Matrix::MeanInRows (void) const |
Calcula la media de cada linea de la matriz. Más... | |
double | Pds::Matrix::Std (double *mean=NULL) const |
Calcula el valor del desvío padrón de la matriz. Más... | |
Pds::Vector | Pds::Matrix::StdInRows (void) const |
Calcula el standard deviation de cada linea de la matriz. Más... | |
bool | Pds::Matrix::MeanStdInRows (Pds::Vector &Mean, Pds::Vector &Std) const |
Calcula la media y el standard deviation de cada linea de la matriz. Más... | |
bool | Pds::Matrix::MeanStdInCols (Pds::Matrix &Mean, Pds::Matrix &Std) const |
Calcula la media y el standard deviation de cada linea de la matriz. Más... | |
double | Pds::Matrix::Var (double *mean=NULL) const |
Calcula el valor de la varianza de la matriz. Más... | |
double | Pds::Matrix::Max (unsigned int *id=NULL) const |
Calcula el máximo valor de la matriz. Más... | |
double | Pds::Matrix::MaxAbs (unsigned int *id=NULL) const |
Calcula el máximo valor del valor absoluto de la matriz. Más... | |
Pds::Vector | Pds::Matrix::MaxAbsInRows (void) const |
Retorna un vector con el maximo valor absoluto de cada linea. Más... | |
double | Pds::Matrix::Min (unsigned int *id=NULL) const |
Calcula el mínimo valor de la matriz. Más... | |
double | Pds::Matrix::MinAbs (unsigned int *id=NULL) const |
Calcula el mínimo valor del valor absoluto de la matriz. Más... | |
Pds::Matrix | Pds::Matrix::MinInCols (std::vector< unsigned int > &Lin) const |
Calcula el mínimo en cada columna de la matriz. Más... | |
Pds::Matrix | Pds::Matrix::MinInCols (Pds::Array< unsigned int > &Lin) const |
Calcula el mínimo en cada columna de la matriz. Más... | |
bool | Pds::Matrix::NormalizeCols (Pds::Vector &Mean, Pds::Vector &Std) |
Calcula la media y el standard deviation de cada columna de la matriz. Si el std de la columna es cero esta no es normalizada. Más... | |
bool | Pds::Matrix::NormalizeColsWith (const Pds::Vector &Mean, const Pds::Vector &Std) |
Normaliza cada columna de la matriz usando la media y el standard deviation de cada columna de la matriz. Si el std de la columna es cero esta no es normalizada. Más... | |
double | Pds::Matrix::Accuracy (const Pds::Matrix &B, double Umbral) const |
Calcula el valor de la Accuracy entre los elementos de las matrices A (Self) y B. Antes de comprarar las matrices se binarizan con el umbral Umbral. A>Umbral, B>Umbral. Más... | |
double | Pds::Matrix::R2 (const Pds::Matrix &Y) const |
Calcula el coeficiente de determinación o . Más... | |
double | Pds::Matrix::Rf (const Pds::Matrix &Y) const |
Calcula o . Más... | |
double | Pds::Matrix::Mape (const Pds::Matrix &B) const |
Calcula el error absoluto medio porcentual (Mean Absolute Percentage Error) de una matriz. Más... | |
Métodos Information theory | |
double | Pds::Matrix::InformationGain (const std::vector< Pds::Matrix > &A, double Umbral=0.5) const |
Retorna el Information Gain entre si mismo B y {A[0],A[1],...,A[N-1]}. Antes de comprarar las matrices se binarizan con el umbral Umbral. A[n]>Umbral, B>Umbral. Más... | |
double | Pds::Matrix::BinaryEntropy (double umbral) const |
Calcula la entropia binaria de la estadistica de {p0,p1}, la probabilidade de unos y ceros en la matriz despues de ubralizar con >=umbral. Más... | |
double | Pds::Matrix::P1Probability (double umbral) const |
Calcula la probabilidad binaria {p1}, la probabilidade en relación a los unos y ceros en la matriz despues de ubralizar con >=umbral. Más... | |
Pds::Matrix | Pds::Matrix::BalancedBinaryWeight (double umbral) const |
Retorna una matriz de pesos para balancear la cantidad de 1s y 0s en la matriz. Los unos y ceros en la matriz son obtenidos despues de ubralizar con >=umbral. Más... | |
Métodos Digital Signal Processing | |
Pds::Vector | Pds::Matrix::HistogramNorm (int min=0, int max=255) const |
Retorna un vector con el histograma desde min hasta max (valores enteros). Elementos con valores menores a min o mayores a max no son computados en el histograma. El histograma és normalizado para que la suma sea igual a 1 de modo que pueda ser usada como una relación de probabilidades. Más... | |
double | Pds::Matrix::Corr (const Pds::Matrix &B) const |
Calcula la correlación de Pearson con la matriz. Más... | |
Pds::Matrix | Pds::Matrix::XCorr (const Pds::Matrix &B, bool Same=false) const |
Calcula la correlacion cruzada entre A y B. Más... | |
Pds::Matrix | Pds::Matrix::FilterMean (unsigned int r) const |
Procesa la matriz A usando un filtro mean de radio r. Más... | |
Pds::Matrix | Pds::Matrix::FilterMean3 (void) const |
Procesa la matriz A usando un filtro mean de radio 1. Más... | |
Pds::Matrix | Pds::Matrix::FilterMean3b (void) const |
Procesa la matriz A usando un filtro mean de radio 1. Más... | |
Pds::Matrix | Pds::Matrix::Resize (double factor) const |
Retorna una matriz B (size: NlinB,NcolB) resultado de aplicar un subsampling de la matriz A (size: Nlin,Ncol) por un factor. Más... | |
Métodos de álgebra lineal | |
double | Pds::Matrix::Det (void) const |
Calcula la determinante. Más... | |
double | Pds::Matrix::Dot (const Pds::Matrix &B) const |
Calcula el producto punto entre dos matrices. Más... | |
double | Pds::Matrix::Rms (void) const |
Calcula valor raiz quadrático medio de una matriz. Más... | |
double | Pds::Matrix::MeanAbsolute (void) const |
Calcula valor absoluto medio de una matriz. Más... | |
double | Pds::Matrix::MeanSquare (void) const |
Calcula valor quadrático medio de una matriz. Más... | |
double | Pds::Matrix::SumSquare (void) const |
Calcula valor de la suma quadrática de una matriz. Más... | |
double | Pds::Matrix::Norm (void) const |
Calcula la 2-norm de una matriz (Frobenius norm). Más... | |
double | Pds::Matrix::PNorm1 (void) const |
Calcula la 1-norm de un vector. Más... | |
double | Pds::Matrix::PNormInf (void) const |
Calcula la inf-norm de una matriz. Más... | |
Pds::Vector | Pds::Matrix::Multiindex (const Pds::Vector &d) const |
Dada una matriz es calculado el vector . Más... | |
Métodos para find | |
std::vector< unsigned int > | Pds::Matrix::Find (void) const |
Retorna una lista de indices donde existe un 1 en la matriz A. Más... | |
Pds::Matrix | 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 internamente con (B>0.5). La matriz debe tener el mismo numero de lineas de B caso contrario se retorna una matriz vacia. Más... | |
Pds::Matrix | Pds::Matrix::FindRows (const Pds::Vector &B, double b) const |
Retorna una nueva matriz con las lineas donde existe un 1 en la matriz B. En verdad B es binarizado internamente con (B>b). La matriz debe tener el mismo numero de lineas de B caso contrario se retorna una matriz vacia. Más... | |
std::vector< Pds::Matrix > | Pds::Matrix::FindRowsBlock (const Pds::Vector &B) const |
Retorna dos nuevas matrices con las lineas donde existe un 0 (mat0) y un 1 (mat1) en la matriz B. En verdad B es binarizado internamente con (B>0.5). La matriz debe tener el mismo numero de lineas de B caso contrario se retorna una matriz vacia. Más... | |
Métodos para aplicar operaciones | |
bool | Pds::Matrix::Apply (double(*func)(double)) |
Aplica la función func a cada elemento de la matriz. Más... | |
bool | Pds::Matrix::Apply (double(*func)(double), const Pds::Matrix &B) |
Aplica la función func a cada elemento de la matriz. Más... | |
bool | Pds::Matrix::Apply (double(*func)(double, double), double var) |
Aplica la función func a cada elemento de la matriz. Más... | |
bool | Pds::Matrix::ApplySub (double(*func)(double), const Pds::Matrix &B, const Pds::Matrix &C) |
Aplica la función func a cada elemento de la diferencia de matrices. Más... | |
bool | Pds::Matrix::ApplySub (const Pds::Matrix &B, const Pds::Matrix &C) |
Aplica la función func a cada elemento de la diferencia de matrices. Más... | |
bool | Pds::Matrix::ApplyInCol (unsigned int col, double(*func)(double)) |
Aplica la función func a cada elemento de la columna col de la matriz. Más... | |
bool | Pds::Matrix::ApplyInCol (unsigned int col, double(*func)(double, double), double var) |
Aplica la función func a cada elemento de la columna col de la matriz. Más... | |
Métodos para operar Pds::Matrix | |
Pds::Matrix | Pds::Matrix::OperateRows (double(*func)(const Pds::Matrix &Row)) const |
Opera la función func usando como entrada cada fila de la matriz. Más... | |
Pds::Matrix | Pds::Matrix::OperateCols (double(*func)(const Pds::Matrix &Col)) const |
Opera la función func usando como entrada cada columna de la matriz. Más... | |
Pds::Matrix | Pds::Matrix::Scale (double minval, double maxval) const |
Rescala linearmente los datos desde minval a maxval. Más... | |
Pds::Matrix | Pds::Matrix::Round (unsigned int decimal=0) const |
Retorna una matriz con los valores redondeados. Más... | |
Métodos con regiones con Pds::Matrix. | |
bool | Pds::Matrix::CopyRegion (const Pds::RegionRect &Rin, const Pds::RegionRect &Rout, Pds::Matrix &Mout) const |
Copia la región Rin de la matriz a la región Rout de la matriz Mout. Más... | |
bool | Pds::Matrix::InitRegion (Pds::RegionRect R, double val) |
Inicializa la región R de la matriz con el valor val. Más... | |
Pds::RegionRect | Pds::Matrix::GetRegion (void) const |
Retorna una variable Pds::RegionRect desde la posicion (0,0), con ancho y alto (Mat.Nlin(),Mat.Ncol()). Más... | |
bool | Pds::Matrix::MeanOfRegion (const Pds::RegionRect &Rin, double *mean) const |
Calcula la media de los elementos en la region, pero para que sea calculado debe existir una interseccion diferente de zero con la matriz. Los valores fuera de la matriz son considerados cero. Más... | |
double | Pds::Matrix::MeanOfRegion (const Pds::RegionRect &Rin) const |
Calcula la media de los elementos en la region, pero para que sea calculado debe existir una interseccion diferente de zero con la matriz. Los valores fuera de la matriz son considerados cero. Más... | |
bool | Pds::Matrix::MeanSquareOfRegion (const Pds::RegionRect &Rin, double *mean) const |
Calcula la media del cuadrado de los elementos en la region, pero para que sea calculado debe existir una interseccion diferente de zero con la matriz. Los valores fuera de la matriz son considerados cero. Más... | |
double | Pds::Matrix::MeanSquareOfRegion (const Pds::RegionRect &Rin) const |
Calcula la media del cuadrado de los elementos en la region, pero para que sea calculado debe existir una interseccion diferente de zero con la matriz. Los valores fuera de la matriz son considerados cero. Más... | |
bool | Pds::Matrix::StdAndMeanOfRegion (const Pds::RegionRect &Rin, double *std, double *mean) const |
Calcula el desvío padrón y la media de los elementos de la intersección de la región con la matriz. Más... | |
bool | Pds::Matrix::CorrNormRegions (const Pds::Matrix &M1, const Pds::RegionRect &R0, const Pds::RegionRect &R1, double *corrn) const |
Calcula correlación normalizada entre los elementos de la intersección de la regiones con sus matrices. Más... | |
bool | Pds::Matrix::CorrNormRegions (const Pds::Matrix &M1, const Pds::RegionRect &R0, const Pds::RegionRect &R1, double means0, double means1, double *corrn) const |
Calcula correlación normalizada entre los elementos de la intersección de la regiones con sus matrices. Más... | |
bool | Pds::Matrix::CorrPearsonRegions (const Pds::Matrix &M1, const Pds::RegionRect &R0, const Pds::RegionRect &R1, double *pcc) const |
Calcula el coeficiente de correlación de Pearson (PCC) entre los elementos de la intersección de la regiones con sus matrices. Más... | |
bool | Pds::Matrix::CorrPearsonRegions (const Pds::Matrix &M1, const Pds::RegionRect &R0, const Pds::RegionRect &R1, double mean0, double mean1, double std0, double std1, double *pcc) const |
Calcula el coeficiente de correlación de Pearson (PCC) entre los elementos de la intersección de la regiones con sus matrices. Más... | |
Métodos variados con Pds::Matrix. | |
std::string | Pds::Matrix::ToString (void) const |
Convierte los datos de la matriz en un std::string. Más... | |
void | Pds::Matrix::Print (std::string str) const |
Imprime en pantalla el contenido de la matriz después del texto indicado en str. Más... | |
void | Pds::Matrix::Print (void) const |
Imprime en pantalla el contenido de la matriz. Más... | |
Métodos para reordenar memoria con Pds::Matrix. | |
void | Pds::Matrix::MakeEmpty (void) |
libera los datos internos de la matriz y la convierte en una matriz nula. es decir con lineas y columnas cero. Más... | |
bool | Pds::Matrix::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::Matrix::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. Destruye las matrices en list. Este metodo es mas rapido que Pds::MergeVer(list) pues transplanta memoria. Más... | |
Métodos para exportar e importar datos con Pds::Matrix. | |
Herramientas genéricas que pueden ser usadas desde Pds::Matrix | |
bool | Pds::Matrix::SaveInStream (std::ofstream &myfile) const |
Escribe en un archivo de texto el contenido de la matriz. Más... | |
bool | Pds::Matrix::LoadFromStream (std::ifstream &ifs, unsigned int Nlin, unsigned int Ncol) |
Lee de un archivo una matriz de Nlin lineas y Ncol columnas. Si la lectura es satisfactoria el contenido actual de la matriz es liberado, en caso de error la matriz queda vacia, esdecir .IsEmpty() retorna true. Más... | |
bool | Pds::Matrix::LoadLineFromStream (std::ifstream &ifs) |
Lee una linea de un archivo y crea una matriz de Nlin=1 y Ncol columnas. Si la lectura es satisfactoria el contenido actual de la matriz es liberado, en caso de error la matriz queda vacia, esdecir .IsEmpty() retorna true. Más... | |
bool | Pds::Matrix::Save (const std::string &filepath) const |
Escribe en un archivo de texto el contenido de la matriz. Más... | |
bool | Pds::Matrix::Load (const std::string &filepath) |
Lee de un archivo una matriz de Nlin lineas y Ncol columnas. Si la lectura es satisfactoria el contenido actual de la matriz es liberado, en caso de error la matriz queda vacia, esdecir .IsEmpty() retorna true. Más... | |
bool | Pds::Matrix::ExportCsvFile (const std::string &filepath, char delimitador=',') const |
Escribe en un archivo de texto el contenido de la matriz usando un formato Csv (Comma Separated Values). Más... | |
bool | Pds::Matrix::ExportCsvFile (const std::string &filepath, std::vector< std::string > titles, char delimitador=',') const |
Escribe en un archivo de texto el contenido de la matriz usando un formato Csv (Comma Separated Values). Más... | |
bool | Pds::Matrix::ExportMatFile (const std::string &pname, const std::string &filepath) const |
Escribe en un archivo binario en formato de octave la matriz. Es necesario dar un nombre como identificador de matriz. Más... | |
bool | Pds::Matrix::ExportBmpFile (const unsigned char colormap[256][3], const std::string &filepath) const |
Escribe en una matriz en un archivo binario en formato BMP. Losdatos deben ir de 0 a 255, valores superiores o inferiores serán truncados. Más... | |
Métodos Static con Matrices con Pds::Matrix. | |
Herramientas genéricas que pueden ser usadas desde Pds::Matrix | |
static Pds::Matrix | Pds::Matrix::GetSamples (const std::vector< Pds::Matrix > &Block) |
Convierte las muestras de un bloque (std::vector<Pds::Matrix>) de N matrices (Pds::Matrix) de L elementos, en una matriz Pds::Matrix(L,N). Lee los datos de la columna actual y pasa a la siguiente, desde la columna 0. Más... | |
static Pds::Matrix | Pds::Matrix::GetSamples (const std::vector< Pds::Matrix > &Block, const std::vector< unsigned int > Id) |
Convierte M muestras de un bloque (std::vector<Pds::Matrix>) de N matrices (Pds::Matrix) de L elementos, en una matriz Pds::Matrix(M,N). Más... | |
static Pds::Matrix | Pds::Matrix::FromString (const std::string &str) |
Convierte un sdt::string a una Matriz de Nlin lineas y Ncol columnas. Más... | |
static bool | Pds::Matrix::ExportBmpFile (const Pds::Matrix &R, const Pds::Matrix &G, const Pds::Matrix &B, const std::string &bmpfilename) |
Escribe en una matriz en un archivo binario en formato BMP. Losdatos deben ir de 0 a 255, valores superiores o inferiores serán truncados. Más... | |
static std::vector< Pds::Matrix > | Pds::Matrix::ImportBmpFile (const std::string &bmpfilename) |
Lee matrices de un archivo binario en formato BMP. Más... | |
static Pds::Matrix | Pds::Matrix::MeanBlock (const std::vector< Pds::Matrix > &Block) |
Calcula A,la matriz media de un conjunto de N matrizes agrupadas en un std::vector. Más... | |
Operadores unarios y sus métodos equivalentes con Pds::Matrix. | |
Descripción de algunos operadores habilitados a trabajar con Pds::Matrix. | |
Pds::Matrix | Pds::Matrix::T (void) const |
Transpuesta de si mismo (A), el resultado es cargado en B. Más... | |
Pds::Matrix | Pds::Matrix::MtM (void) const |
Retorna A.T()*A cargado en B. Más... | |
Pds::Matrix | Pds::Matrix::Inv (double *rcond=NULL) const |
Retorna la matriz inversa. Más... | |
Pds::Matrix | Pds::Matrix::PInv (double *rcond=NULL) const |
Procesa esta matriz A y retorna B la matriz pseudo inversa de Moore Penrose. Más... | |
Pds::Matrix | Pds::Matrix::operator- (void) const |
Cambia de signo a si mismo (A), el resultado es cargado en B. Este operador es similar al método unario Minus. Más... | |
Pds::Matrix | Pds::Matrix::Minus (void) const |
Cambia de signo a si mismo (A), el resultado es cargado en B. Este método es similar al operador unario -. Más... | |
Pds::Matrix | Pds::Matrix::operator+ (void) const |
Asigna el signo + a si mismo (A), el resultado es cargado en B. Este operador es similar al método unario Plus. Más... | |
Pds::Matrix | Pds::Matrix::Plus (void) const |
Asigna el signo + a si mismo (A), el resultado es cargado en B. Este método es similar al operador unario +. Más... | |
Operadores binarios y sus métodos equivalentes con Pds::Matrix. | |
Descripción de algunos operadores habilitados a trabajar con Pds::Matrix. | |
Pds::Matrix | Pds::Matrix::operator* (double b) const |
Multiplica con sigo mismo (A), un valor b y el resultado es cargado en C. Este operador es similar al método Mul() Más... | |
Pds::Matrix | Pds::Matrix::operator* (const Pds::Matrix &B) const |
Multiplica con sigo mismo (A), una matriz B y el resultado es cargado en C. Este operador es similar al método Mul() Más... | |
Pds::Matrix | Pds::Matrix::Mul (double b) const |
Multiplica con sigo mismo (A), un valor b y el resultado es cargado en C. Este método es similar al operador *. Más... | |
Pds::Matrix | Pds::Matrix::Mul (const Pds::Matrix &B) const |
Multiplica con sigo mismo (A), una matriz B y el resultado es cargado en C. Este método es similar al operador *. Más... | |
Pds::Matrix | Pds::Matrix::Mul (const Pds::Vector &B) const |
Multiplica con sigo mismo (A), un vector B y el resultado es cargado en C. Este método es similar al operador *. Más... | |
Pds::Matrix | Pds::Matrix::MulComp (double b, const Pds::Vector &B) const |
Multiplica con sigo mismo (A), un vector [b;B] y el resultado es cargado en C. Este método es similar al operador *. Más... | |
bool | Pds::Matrix::MulComp (double b, const Pds::Vector &B, Pds::Vector &Out) const |
Multiplica con sigo mismo (A), un vector [b;B] y el resultado es cargado en Out. Este método es similar al operador *. Más... | |
Pds::Matrix | Pds::Matrix::MulT (const Pds::Matrix &B) const |
Multiplica con sigo mismo (A), la transpuesta de una matriz B y el resultado es cargado en C. Este método es similar al operador *. Más... | |
Pds::Matrix | Pds::Matrix::TMul (const Pds::Matrix &B) const |
Multiplica con la transpuesta de sí mismo (A^T), la matriz B y el resultado es cargado en C. Este método es similar al operador *. Más... | |
Pds::Matrix | Pds::Matrix::operator+ (double b) const |
[Elemento a elemento] Suma con sigo mismo (A), un valor b y el resultado es cargado en C. Este operador es similar al método Add() Más... | |
Pds::Matrix | Pds::Matrix::operator+ (const Pds::Matrix &B) const |
[Elemento a elemento] Suma con sigo mismo (A), una matriz B y el resultado es cargado en C. Este operador es similar al método Add() Más... | |
Pds::Matrix | Pds::Matrix::Add (double b) const |
[Elemento a elemento] Suma con sigo mismo (A), una valor b y el resultado es cargado en C. Este método es similar al operador + Más... | |
Pds::Matrix | Pds::Matrix::Add (const Pds::Matrix &B) const |
[Elemento a elemento] Suma con sigo mismo (A), una matriz B y el resultado es cargado en C. Este metodo es similar al operador + Más... | |
Pds::Matrix | Pds::Matrix::operator- (double b) const |
[Elemento a elemento] Resta con sigo mismo (A), un valor b y el resultado es cargado en C. Este operador es similar al método Sub() Más... | |
Pds::Matrix | Pds::Matrix::operator- (const Pds::Matrix &B) const |
[Elemento a elemento] Resta con sigo mismo (A), una matriz B y el resultado es cargado en C. Este operador es similar al método Sub Más... | |
Pds::Matrix | Pds::Matrix::Sub (double b) const |
[Elemento a elemento] Resta con sigo mismo (A), una valor b y el resultado es cargado en C. Este método es similar al operador - Más... | |
Pds::Matrix | Pds::Matrix::Sub (const Pds::Matrix &B) const |
[Elemento a elemento] Resta con sigo mismo (A), una matriz B y el resultado es cargado en C. Este método es similar al operador - Más... | |
Pds::Matrix | Pds::Matrix::AddRowMatrix (const Pds::Matrix &B) const |
Suma con sigo mismo (A), una matriz B linea y el resultado es cargado en C. La unica linea de B es sumada a cada linea de A. Más... | |
Pds::Matrix | Pds::Matrix::SubRowMatrix (const Pds::Matrix &B) const |
Resta con sigo mismo (A), una matriz B linea y el resultado es cargado en C. La unica linea de B es restada a cada linea de A. Más... | |
Pds::Matrix | Pds::Matrix::operator/ (double b) const |
[Elemento a elemento] Divide con sigo mismo (A), un valor b y el resultado es cargado en C. Este operador es similar al método Div() Más... | |
Pds::Matrix | Pds::Matrix::operator/ (const Pds::Matrix &B) const |
[Elemento a elemento] Divide con sigo mismo (A), elemento a elemento, una matriz B y el resultado es cargado en C. Este método es similar al método .Div() Más... | |
Pds::Matrix | Pds::Matrix::Div (double b) const |
[Elemento a elemento] Divide con sigo mismo (A), un valor b y el resultado es cargado en C. Este método es similar al operador / Más... | |
Pds::Matrix | Pds::Matrix::Div (const Pds::Matrix &B) const |
[Elemento a elemento] Divide con sigo mismo (A), elemento a elemento, una matriz B y el resultado es cargado en C. Este método es similar al operador / Más... | |
Pds::Matrix | Pds::Matrix::DivBelow (double b) const |
[Elemento a elemento] Divide con sigo mismo (A), un valor b y el resultado es cargado en C. Este método es similar al operador / Más... | |
Pds::Matrix | Pds::Matrix::operator& (const Pds::Matrix &B) const |
[Elemento a elemento] Multiplica con sigo mismo (A), elemento a elemento, una matriz B y el resultado es cargado en C. Este método es similar al método .Product() Más... | |
Pds::Matrix | Pds::Matrix::Product (const Pds::Matrix &B) const |
[Elemento a elemento] Multiplica con sigo mismo (A), elemento a elemento, una matriz B y el resultado es cargado en C. Este método es similar al operador & Más... | |
Pds::Matrix | Pds::Matrix::Product (double(*func)(double), const Pds::Matrix &B) const |
[Elemento a elemento] Multiplica con sigo mismo (A), elemento a elemento, una matriz func(B) y el resultado es cargado en C. Este método es similar al operador & Más... | |
bool | Pds::Matrix::ProductSelf (double b) |
Multiplica con sigo mismo (A), un valor b y el resultado es cargado en A. Más... | |
bool | Pds::Matrix::ProductSelf (const Pds::Matrix &B) |
[Elemento a elemento] Multiplica con sigo mismo (A), elemento a elemento, una matriz B y el resultado es cargado en A. Más... | |
bool | Pds::Matrix::ProductSelf (double(*func)(double), const Pds::Matrix &B) |
[Elemento a elemento] Multiplica con sigo mismo (A), elemento a elemento, una matriz func(B) y el resultado es cargado en A. Más... | |
bool | Pds::Matrix::ProductSelfMinus (double b, const Pds::Matrix &B) |
[Elemento a elemento] Multiplica con sigo mismo (A), elemento a elemento, una matriz (b-B) y el resultado es cargado en A. Más... | |
bool | Pds::Matrix::ProductSelfMinus (const Pds::Matrix &B, double b) |
[Elemento a elemento] Multiplica con sigo mismo (A), elemento a elemento, una matriz (B-b) y el resultado es cargado en A. Más... | |
bool | Pds::Matrix::ProductSelfPlus (double b, const Pds::Matrix &B) |
[Elemento a elemento] Multiplica con sigo mismo (A), elemento a elemento, una matriz (b+B) y el resultado es cargado en A. Más... | |
Pds::Matrix | Pds::Matrix::Pow (const Pds::Matrix &B) const |
[Elemento a elemento]Potencia asi mismo (A), elemento a elemento, con una matriz B y el resultado es cargado en C. Este método es similar al operador Más... | |
Pds::Matrix | Pds::Matrix::Pow (double val) const |
[Elemento a elemento] Potencia asi mismo (A), elemento a elemento, con un valor val y el resultado es cargado en C. Este método es similar al operador Más... | |
Pds::Matrix | Pds::Matrix::Geq (double b) const |
[Elemento a elemento] Calcula con sigo mismo (A), si (A) es mayor que un valor b y el resultado es cargado en C. Este método es similar al operador >= Más... | |
Pds::Matrix | Pds::Matrix::Geq (Pds::Matrix B) const |
[Elemento a elemento] Calcula con sigo mismo (A), si (A) es mayor que un valor (B) y el resultado es cargado en C. Este método es similar al operador >= Más... | |
Pds::Matrix | Pds::Matrix::Leq (double b) const |
[Elemento a elemento] Calcula con sigo mismo (A), si (A) es menor que un valor b y el resultado es cargado en C. Este método es similar al operador <= Más... | |
Pds::Matrix | Pds::Matrix::Leq (const Pds::Matrix &B) const |
[Elemento a elemento] Calcula con sigo mismo (A), si (A) es menor que un valor B y el resultado es cargado en C. Este método es similar al operador <= Más... | |
Pds::Matrix | Pds::Matrix::EqualTo (double b) const |
[Elemento a elemento] Calcula con sigo mismo (A), si (A) es identico a un valor b y el resultado es cargado en C. Este método es similar al operador == Más... | |
Pds::Matrix | Pds::Matrix::EqualTo (const Pds::Matrix &B) const |
[Elemento a elemento] Calcula con sigo mismo (A), si (A) es identico a un valor B y el resultado es cargado en C. Este método es similar al operador == Más... | |
Pds::Matrix | Pds::Matrix::NotEqualTo (double b) const |
[Elemento a elemento] Calcula con sigo mismo (A), si (A) no es identico a un valor b y el resultado es cargado en C. Este método es similar al operador != Más... | |
Pds::Matrix | Pds::Matrix::NotEqualTo (const Pds::Matrix &B) const |
[Elemento a elemento] Calcula con sigo mismo (A), si (A) no es identico a un valor B y el resultado es cargado en C. Este método es similar al operador != Más... | |
Pds::Matrix | Pds::Matrix::EqualToInf (void) const |
Verifica si la matriz tiene elementos con valores infinitos. Más... | |
Pds::Matrix | Pds::Matrix::EqualToNan (void) const |
Verifica si la matriz tiene elementos con valores NAN (Not A Number). Más... | |
Pds::Matrix | Pds::Matrix::EqualToFinite (void) const |
Verifica si la matriz tiene elementos con valores finitos (no +inf, no -inf y no NAN). Más... | |
Operadores binarios acumuladores y sus métodos equivalentes con Pds::Matrix. | |
Descripción de algunos operadores habilitados a trabajar con Pds::Matrix. | |
Pds::Matrix & | Pds::Matrix::operator-= (double b) |
Resta y acumula en si mismo (A), un valor b. Este operador es similar al método SubAssig() Más... | |
Pds::Matrix & | Pds::Matrix::operator-= (const Pds::Matrix &B) |
Resta y acumula en si mismo (A), una matriz B. Este operador es similar al método SubAssig() Más... | |
bool | Pds::Matrix::SubAssig (double b) |
Resta y acumula en si mismo (A), un valor b. Este es similar al operador -=. Más... | |
bool | Pds::Matrix::SubAssig (const Pds::Matrix &B) |
Resta y acumula en si mismo (A), una matriz B. Este es similar al operador -=. Más... | |
Pds::Matrix & | Pds::Matrix::operator+= (double b) |
Suma y acumula en si mismo (A), un valor b. Este operador es similar al método AddAssig() Más... | |
Pds::Matrix & | Pds::Matrix::operator+= (const Pds::Matrix &B) |
Suma y acumula en si mismo (A), una matriz B. Este operador es similar al método AddAssig() Más... | |
bool | Pds::Matrix::AddAssig (double b) |
Suma y acumula en si mismo (A), un valor b. Este es similar al perador +=. Más... | |
bool | Pds::Matrix::AddAssig (const Pds::Matrix &B) |
Suma y acumula en si mismo (A), una matriz B. Este es similar al perador +=. Más... | |
bool | Pds::Matrix::AddAssig (double alpha, const Pds::Matrix &B) |
Suma y acumula en si mismo (A), una matriz B. Más... | |
bool | Pds::Matrix::AddAssig (double alpha, const Pds::Matrix &B, double beta, const Pds::Matrix &C) |
Suma y acumula en si mismo (A), una matriz B. Más... | |
bool | Pds::Matrix::AddAssigAt (unsigned int lin, unsigned int col, const Pds::Matrix &B) |
Suma y acumula en si mismo (A), una matriz B desde un punto (lin,col) haciendo una intersección. Más... | |
Pds::Matrix & | Pds::Matrix::operator*= (double b) |
Multiplica y acumula en si mismo (A), un valor b. Este operador es similar al método MulAssig() Más... | |
Pds::Matrix & | Pds::Matrix::operator*= (const Pds::Matrix &B) |
Multiplica y acumula en si mismo (A), una matriz B. Este operador es similar al método MulAssig() Más... | |
bool | Pds::Matrix::MulAssig (double b) |
Multiplica y acumula en si mismo (A), un valor b. Este es similar al operador *=. Más... | |
bool | Pds::Matrix::MulAssig (const Pds::Matrix &B) |
Multiplica y acumula en si mismo (A), una matriz B. Este es similar al operador *=. Más... | |
Pds::Matrix & | Pds::Matrix::operator= (const Pds::Matrix &B) |
Copia en si mismo (A), una matriz B. Este operador es similar al método Copy(). No importa el tamaño de A, sus datos son liberados y un nuevo arreglo de datos es reservado. Más... | |
bool | Pds::Matrix::Copy (const Pds::Matrix &B) |
Copia en si mismo (A), el contenido de una matriz B. 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... | |
Pds::Matrix & | Pds::Matrix::operator= (double val) |
Copia en si mismo (A), el valor val. Este operador es similar al método Copy(). No importa el tamaño de A, sus datos son liberados y un nuevo arreglo de datos de 1x1 es reservado. Más... | |
bool | Pds::Matrix::Copy (double val) |
Copia en si mismo (A), el valor val. 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 de 1x1 es reservado. Más... | |
template<class Datum > | |
Pds::Matrix & | Pds::Matrix::operator= (const Pds::Array< Datum > &B) |
Copia en si mismo (A), una array B. Este operador es similar al método Copy(). No importa el tamaño de A, sus datos son liberados y un nuevo arreglo de datos es reservado. Más... | |
template<class Datum > | |
bool | Pds::Matrix::Copy (const Pds::Array< Datum > &B) |
Copia en si mismo (A), el contenido de una Array B. 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... | |
Métodos exoticos con Pds::Matrix | |
Descripción de algunos operadores habilitados a trabajar con Pds::Matrix. | |
Pds::Matrix | Pds::Matrix::MultipleMse (const Pds::Matrix &B) const |
Calcula el error quadrático medio de cada linea de A con cada linea de B. Más... | |
Pds::Matrix | Pds::Matrix::MultipleMse (const std::vector< Pds::Matrix > &Block) const |
Calcula el error quadrático medio de cada linea de A con cada muestra en el bloque Block. Más... | |
Pds::Array< unsigned int > | Pds::Matrix::IdInMultipleMse (const Pds::Matrix &B) const |
Calcula que linea de A es mas cercana a cada linea de B. Más... | |
Pds::Array< unsigned int > | Pds::Matrix::IdInMultipleMse (const std::vector< Pds::Matrix > &Block) const |
Calcula que linea de A es mas cercana a cada muestra de Block. Más... | |
Métodos Static con arrays | |
Herramientas genéricas que pueden ser usadas desde Pds::Matrix | |
static double ** | Pds::Matrix::ArrayAllocate (double(*func)(double), const Pds::Matrix &A) |
crea dinámicamente un arreglo de A.Nlin() lineas y A.Ncol() columnas, con los datos copiados de aplicar func(A). Más... | |
static double ** | Pds::Matrix::ArrayAllocate (double(*func)(double, double), const Pds::Matrix &A, double var) |
crea dinámicamente un arreglo de A.Nlin() lineas y A.Ncol() columnas, con los datos copiados de aplicar func(A,var). Más... | |
static double ** | Pds::Matrix::ArrayAllocate (double(*func)(double, double), const Pds::Matrix &A, const Pds::Matrix &B) |
crea dinámicamente un arreglo de A.Nlin() lineas y A.Ncol() columnas, con los datos copiados de aplicar func(A,B). Los tamaño de A y B son similares. Más... | |
static double ** | Pds::Matrix::ArrayAllocate (double(*func)(double, double, double), const Pds::Matrix &A, const Pds::Matrix &B, double var) |
crea dinámicamente un arreglo de A.Nlin() lineas y A.Ncol() columnas, con los datos copiados de aplicar func(A,B,var). Los tamaño de A y B son similares. Más... | |
static double ** | Pds::Matrix::ArrayAllocate (double(*func)(double, double, double), const Pds::Matrix &A, const Pds::Matrix &B, const Pds::Matrix &C) |
crea dinámicamente un arreglo de A.Nlin() lineas y A.Ncol() columnas, con los datos copiados de aplicar func(A,B,C). Los tamaño de A, B y C son similares. Más... | |
static double ** | Pds::Matrix::ArrayAllocate (double(*func)(double, double, double, double), const Pds::Matrix &A, const Pds::Matrix &B, const Pds::Matrix &C, double var) |
crea dinámicamente un arreglo de A.Nlin() lineas y A.Ncol() columnas, con los datos copiados de aplicar func(A,B,C,var). Los tamaño de A, B y C son similares. Más... | |
static double ** | Pds::Matrix::ArrayAllocate (double(*func)(double, double, double, double), const Pds::Matrix &A, const Pds::Matrix &B, const Pds::Matrix &C, const Pds::Matrix &D) |
crea dinámicamente un arreglo de A.Nlin() lineas y A.Ncol() columnas, con los datos copiados de aplicar func(A,B,C,D). Los tamaño de A, B, C y D son similares. Más... | |
Operadores no miembros | |
Descripcion de algunos operadores habilitados a trabajar con Pds::Matrix. | |
std::ostream & | operator<< (std::ostream &out, const Pds::Matrix &mat) |
Retorna el contenido de la matriz por la salida estándar. Más... | |
Pds::Matrix | operator+ (double b, const Pds::Matrix &A) |
Suma b con (A), el resultado es cargado en C. Este operador es similar al método Add() Más... | |
Pds::Matrix | operator- (double b, const Pds::Matrix &A) |
Resta b con (A), el resultado es cargado en C. Este operador es similar al método Add() Más... | |
Pds::Matrix | operator* (double b, const Pds::Matrix &A) |
Multiplica b con (A), el resultado es cargado en C. Este operador es similar al método Mul() Más... | |
Pds::Matrix | operator/ (double b, const Pds::Matrix &A) |
Divide b con (A), elemento a elemento y el resultado es cargado en C. Este operador es similar al método DivSelf() Más... | |
Métodos de la clase Pds::Matrix, una matriz.
Estas funciones trabajan con una matriz de la forma.
Nlin es el número de lineas y Ncol es el número de columnas.
Información adicional puede ser encontrada en [1]
Pds::Matrix::Matrix | ( | void | ) |
Crea un objeto de tipo Pds::Matrix vacio.
Para crear una matriz vacia:
Pds::Matrix::Matrix | ( | unsigned int | N | ) |
Crea un objeto de tipo Pds::Matrix de N lineas y N columnas, con elementos inicializados con cero.
Para crear una matriz A de 4 filas y 4 columnas:
[in] | N | El numero de lineas y columnas de la matriz. |
Pds::Matrix::Matrix | ( | const Pds::Size & | S | ) |
Crea un objeto de tipo Pds::Matrix con elementos inicializados con cero.
Para crear una matriz A de 4 filas y 3 columnas:
[in] | S | El tamaño de la matriz. |
Pds::Matrix::Matrix | ( | const Pds::Matrix & | B | ) |
Crea un objeto de tipo Pds::Matrix copiando datos desde otra matriz. Este es un Copy assignment constructor.
Para crear una matriz A con copia de datos de una matriz B:
[in] | B | Matriz a copiar. |
Pds::Matrix::Matrix | ( | const Pds::Array< Datum > & | B | ) |
Pds::Matrix::Matrix | ( | const char * | str | ) |
Crea un objeto de tipo Pds::Matrix copiando datos desde una cadena.
Para crear una matriz A con los datos de una cadena:
[in] | str | Cadena a leer. |
Pds::Matrix::Matrix | ( | const std::string & | str | ) |
Crea un objeto de tipo Pds::Matrix copiando datos desde una std::string.
Para crear una matriz A con los datos de una cadena:
[in] | str | Cadena a leer. |
Pds::Matrix::Matrix | ( | unsigned int | Nlin, |
unsigned int | Ncol | ||
) |
Crea un objeto de tipo Pds::Matrix con elementos inicializados con cero.
Para crear una matriz A de 4 filas y 3 columnas:
[in] | Nlin | El numero de lineas de la matriz. |
[in] | Ncol | El numero de columnas de la matriz. |
Pds::Matrix::Matrix | ( | unsigned int | Nlin, |
unsigned int | Ncol, | ||
double | val | ||
) |
Crea un objeto de tipo Pds::Matrix con elementos inicializados con val.
Para crear una matriz A de 4 filas y 3 columnas inicializado con -1:
[in] | Nlin | El numero de lineas de la matriz. |
[in] | Ncol | El numero de columnas de la matriz. |
[in] | val | El valor a usar. |
Pds::Matrix::Matrix | ( | double(*)(double) | func, |
const Pds::Matrix & | B | ||
) |
Crea un objeto de tipo Pds::Matrix, evaluando mediante una función, los datos de otra matriz.
Para crear una matriz A , copia de sin(B):
[in] | func | Función a aplicar, esta debe tener a forma double func(double). |
[in] | B | Matriz a evaluar para copiar los resultados. |
Pds::Matrix::Matrix | ( | double(*)(double, double) | func, |
const Pds::Matrix & | B, | ||
double | var | ||
) |
Crea un objeto de tipo Pds::Matrix, evaluando mediante una función, los datos de otra matriz.
Para crear una matriz A , copia de pow(B,3):
[in] | func | Función a aplicar, esta debe tener a forma double func(double,double). |
[in] | B | Matriz a evaluar para copiar los resultados. |
[in] | var | Segunda variable de la función. |
Pds::Matrix::Matrix | ( | double(*)(double, double) | func, |
const Pds::Matrix & | B, | ||
const Pds::Matrix & | C | ||
) |
Crea un objeto de tipo Pds::Matrix, evaluando mediante una función, los datos de otra matriz.
Para crear una matriz A , copia de pow(B,C):
[in] | func | Función a aplicar elemento a elemento en las matrices, esta debe tener a forma double func(double,double). |
[in] | B | Matriz a evaluar para copiar los resultados. |
[in] | C | Matriz a evaluar para copiar los resultados. |
Pds::Matrix::Matrix | ( | double(*)(double, double, double) | func, |
const Pds::Matrix & | B, | ||
const Pds::Matrix & | C, | ||
double | var | ||
) |
Crea un objeto de tipo Pds::Matrix, evaluando mediante una función, los datos de otra matriz.
Para crear una matriz A , copia de func(B,C,var):
[in] | func | Función a aplicar elemento a elemento en las matrices, esta debe tener a forma double func(double,double,double). |
[in] | B | Matriz a evaluar para copiar los resultados. |
[in] | C | Matriz a evaluar para copiar los resultados. |
[in] | var | Tercera variable de la función. |
Pds::Matrix::Matrix | ( | double(*)(double, double, double) | func, |
const Pds::Matrix & | X, | ||
const Pds::Matrix & | Y, | ||
const Pds::Matrix & | Z | ||
) |
Crea un objeto de tipo Pds::Matrix, evaluando mediante una función, los datos de otra matriz.
Para crear una matriz A , copia de func(X,Y,Z):
[in] | func | Función a aplicar elemento a elemento en las matrices, esta debe tener a forma double func(double,double,double). |
[in] | X | Matriz a evaluar para copiar los resultados. |
[in] | Y | Matriz a evaluar para copiar los resultados. |
[in] | Z | Matriz a evaluar para copiar los resultados. |
Pds::Matrix::Matrix | ( | double(*)(double, double, double, double) | func, |
const Pds::Matrix & | X, | ||
const Pds::Matrix & | Y, | ||
const Pds::Matrix & | Z, | ||
double | var | ||
) |
Crea un objeto de tipo Pds::Matrix, evaluando mediante una función, los datos de otra matriz.
Para crear una matriz A , copia de func(X,Y,Z,var):
[in] | func | Función a aplicar elemento a elemento en las matrices, esta debe tener a forma double func(double,double,double,double). |
[in] | X | Matriz a evaluar para copiar los resultados. |
[in] | Y | Matriz a evaluar para copiar los resultados. |
[in] | Z | Matriz a evaluar para copiar los resultados. |
[in] | var | Cuarto valor a evaluar. |
Pds::Matrix::Matrix | ( | double(*)(double, double, double, double) | func, |
const Pds::Matrix & | X, | ||
const Pds::Matrix & | Y, | ||
const Pds::Matrix & | Z, | ||
const Pds::Matrix & | W | ||
) |
Crea un objeto de tipo Pds::Matrix, evaluando mediante una función, los datos de otra matriz.
Para crear una matriz A , copia de func(X,Y,Z,W):
[in] | func | Función a aplicar elemento a elemento en las matrices, esta debe tener a forma double func(double,double,double,double). |
[in] | X | Matriz a evaluar para copiar los resultados. |
[in] | Y | Matriz a evaluar para copiar los resultados. |
[in] | Z | Matriz a evaluar para copiar los resultados. |
[in] | W | Matriz a evaluar para copiar los resultados. |
Pds::Matrix::Matrix | ( | Pds::Ra::FormatType | Type, |
std::string | filepath | ||
) |
Crea un objeto de tipo Pds::Matrix copiando datos desde un archivo.
[in] | Type | Tipo de archivo de fuente de datos. Los tipos aceptados son:
| ||
[in] | filepath | Path del archivo cargado. |
bool Pds::Matrix::IsEmpty | ( | void | ) | const |
Verifica si la matriz es nula es decir con lineas o columnas cero o arreglo NULL.
Una matriz está vacía si .
bool Pds::Matrix::IsNotEmpty | ( | void | ) | const |
Verifica si la matriz NO es nula, es decir con lineas y columnas diferentes cero y arreglo diferente de NULL.
Una matriz está vacía si .
bool Pds::Matrix::IsSimilarTo | ( | const Pds::Matrix & | B | ) | const |
Verifica si las matrices son similares en tamaño.
Una matriz es similar a si y .
[in] | B | Matriz en consulta. |
bool Pds::Matrix::IsNotSimilarTo | ( | const Pds::Matrix & | B | ) | const |
Verifica si las matrices son similares en tamaño.
Una matriz es similar a si y .
[in] | B | Matriz en consulta. |
bool Pds::Matrix::IsMulBy | ( | const Pds::Matrix & | B | ) | const |
Verifica si las matrices son multiplicables.
Una matriz es multiplicable por si y ambas son no vacías.
[in] | B | Matriz en consulta. |
bool Pds::Matrix::IsNotMulBy | ( | const Pds::Matrix & | B | ) | const |
Verifica si las matrices son multiplicables.
Una matriz es multiplicable por si y ambas son no vacías.
[in] | B | Matriz en consulta. |
bool Pds::Matrix::IsInRange | ( | unsigned int | lin, |
unsigned int | col | ||
) | const |
Verifica si la posición pertenece a la matriz.
Dada una matriz ; la posición está en rango de si cualquier valor entero de y cualquier valor entero de .
[in] | lin | Linea en consulta. |
[in] | col | columna en consulta. |
bool Pds::Matrix::IsNotInRange | ( | unsigned int | lin, |
unsigned int | col | ||
) | const |
Verifica si la posición NO pertenece a la matriz.
Dada una matriz ; la posición está en rango de si cualquier valor entero de y cualquier valor entero de .
[in] | lin | Linea en consulta. |
[in] | col | columna en consulta. |
bool Pds::Matrix::IsInSizeRange | ( | double | lin, |
double | col | ||
) | const |
Verifica si la posición (lin,col) pertenece al rango de la matriz.
Dada una matriz ; la posición está en rango de si cualquier valor real de y cualquier valor real de .
[in] | lin | Linea en consulta. |
[in] | col | columna en consulta. |
bool Pds::Matrix::IsRowMatrix | ( | void | ) | const |
Verifica si la matriz tiene solo una linea.
bool Pds::Matrix::IsColMatrix | ( | void | ) | const |
Verifica si la matriz tiene solo una columna.
bool Pds::Matrix::IsZero | ( | void | ) | const |
Verifica si la matriz está llena de zeros.
bool Pds::Matrix::IsLeq | ( | double | val | ) | const |
Verifica si cada elemento de la matriz es menor a el valor val.
[in] | val | El valor a comparar. |
bool Pds::Matrix::IsLeq | ( | const Pds::Matrix & | B | ) | const |
Verifica si cada elemento de la matriz es menor igual a cada elemento de la matriz B.
[in] | B | Matriz a comparar. |
bool Pds::Matrix::IsGeq | ( | double | val | ) | const |
Verifica si cada elemento de la matriz es mayor a el valor val.
[in] | val | El valor a comparar. |
bool Pds::Matrix::IsGeq | ( | const Pds::Matrix & | B | ) | const |
Verifica si cada elemento de la matriz es mayor igual a cada elemento de la matriz B.
[in] | B | Matriz a comparar. |
bool Pds::Matrix::IsEqualTo | ( | double | val | ) | const |
Verifica si cada elemento de la matriz es igual a el valor val.
[in] | val | El valor a comparar. |
bool Pds::Matrix::IsEqualTo | ( | const Pds::Matrix & | B | ) | const |
Verifica si cada elemento de la matriz es igual a cada elemento de la matriz B.
[in] | B | Matriz a comparar. |
bool Pds::Matrix::HasInf | ( | void | ) | const |
Verifica si la matriz tiene algun valor infinito.
Los valores infinitos pueden producirse con .
bool Pds::Matrix::HasNan | ( | void | ) | const |
Verifica si la matriz tiene algun valor NAN (Not A Number).
Los valores NAN pueden producirse con .
bool Pds::Matrix::HasNotFinite | ( | void | ) | const |
Verifica si la matriz tiene elementos no finitos (+inf, -inf y NAN).
bool Pds::Matrix::FillRandC | ( | double | p1 | ) |
Inicializa la matriz con números aleatórios unos y ceros, la probabilidad de 1 es p1.
[in] | p1 | Probabilidad de acontecer un 1. |
bool Pds::Matrix::FillRandN | ( | void | ) |
Inicializa la matriz con números aleatórios, distribuidos usando una distribución Gaussiana normalizada con media 0 y desvío padrón 1.0.
bool Pds::Matrix::FillRandN | ( | double | U, |
double | Sigma | ||
) |
Inicializa la matriz con números aleatórios, distribuidos usando una distribución Gaussiana con media U y desvío padrón Sigma.
[in] | U | Valor da media . |
[in] | Sigma | Valor do desvio padron . |
bool Pds::Matrix::FillRandU | ( | void | ) |
Inicializa la matriz con números aleatórios, distribuidos uniformemente, desde 0 a 1.0, incluyendo 0 y excluyendo 1.0.
bool Pds::Matrix::FillRandU | ( | int | a, |
int | b | ||
) |
Inicializa la matriz con números aleatórios, distribuidos uniformemente, desde a a b, incluyendo a y b.
[in] | a | Valor mínimo posible. |
[in] | b | Valor máximo posible. |
bool Pds::Matrix::FillRandU | ( | double | a, |
double | b | ||
) |
Inicializa la matriz con números aleatórios, distribuidos uniformemente, desde a a b, incluyendo a y b.
[in] | a | Valor mínimo posible. |
[in] | b | Valor máximo posible. |
bool Pds::Matrix::FillId | ( | void | ) |
Inicializa la matriz con el valor de la posición de cada elemento.
En el caso de una matriz A de 4 lineas y 3 columnas:
bool Pds::Matrix::Fill | ( | double | val | ) |
Inicializa la matriz con un valor constante.
[in] | val | El valor a ser usado. |
bool Pds::Matrix::FillLinSpace | ( | double | a, |
double | b | ||
) |
Inicializa la matriz con un espacio linear entre begin y end. Se inicializa primero una columna ante de pasar ala siguiente.
En el caso de una matriz A de Nlin=4 lineas y Ncol=3 columnas:
[in] | a | El valor inicial. |
[in] | b | El valor final. |
unsigned int Pds::Matrix::Nlin | ( | void | ) | const |
Retorna el numero de lineas de la matriz.
unsigned int Pds::Matrix::Ncol | ( | void | ) | const |
Retorna el numero de columnas de la matriz.
unsigned int Pds::Matrix::Nel | ( | void | ) | const |
Retorna el numero de elementos de la matriz (Nlin x Ncol).
Pds::Size Pds::Matrix::Size | ( | void | ) | const |
Retorna un objeto de tipo Pds::Size con el numero de lineas y columans.
unsigned int Pds::Matrix::LinEnd | ( | void | ) | const |
Retorna el identificador de la ultima linea de la matriz.
unsigned int Pds::Matrix::ColEnd | ( | void | ) | const |
Retorna el identificador de la ultima columna de la matriz.
unsigned int Pds::Matrix::End | ( | void | ) | const |
Retorna el identificador del ultimo elemento de la matriz.
double Pds::Matrix::Get | ( | unsigned int | id | ) | const |
Retorna el valor en la posición del índice id, hace una verificación si la posición existe.
[in] | id | índice de un elemento de la matriz. |
double Pds::Matrix::Get | ( | unsigned int | lin, |
unsigned int | col | ||
) | const |
Retorna el valor en la posición (lin,col), hace una verificación si la posición existe.
[in] | lin | La linea en consulta. |
[in] | col | La columna en consulta. |
|
inline |
Retorna una variable double en la posición (lin,col) de la array.
[in] | lin | La linea en consulta. |
[in] | col | La columna en consulta. |
Definición en la línea 1043 del archivo Matrix.hpp.
|
inline |
Establece una variable double en la posición (lin,col) de la array.
[in] | lin | La linea en consulta. |
[in] | col | La columna en consulta. |
[in] | val | valor a escribir. |
Definición en la línea 1057 del archivo Matrix.hpp.
bool Pds::Matrix::Set | ( | unsigned int | id, |
double | val | ||
) |
Escribe el valor en la posición del índice id, hace una verificación si la posición existe.
[in] | val | valor a escribir. |
[in] | id | índice de un elemento de la matriz. |
bool Pds::Matrix::Set | ( | unsigned int | lin, |
unsigned int | col, | ||
double | val | ||
) |
Escribe el valor en la posición (lin,col), hace una verificación si la posición existe.
[in] | val | valor a escribir. |
[in] | lin | La linea en consulta. |
[in] | col | La columna en consulta. |
double& Pds::Matrix::At | ( | unsigned int | lin, |
unsigned int | col | ||
) |
Retorna una variable double en la posición (lin,col) de la matriz. Hace una verificación para evitar leer o escribir fuera de la memoria, con este fin hace lin=linNlin y col=colNcol.
[in] | lin | La linea en consulta. |
[in] | col | La columna en consulta. |
double& Pds::Matrix::At | ( | unsigned int | id | ) |
Retorna una variable double en la posición (id) de la matriz. Hace una verificación para evitar leer o escribir fuera de la memoria, con este fin hace id=id%(Nlin*Ncol).
[in] | id | La posicion en consulta. |
double Pds::Matrix::Bilinear | ( | double | lin, |
double | col | ||
) | const |
Retorna el valor en la posición (lin,col), usando una interpolación bilinear, valores fuera del rango de la matriz retornan cero.
[in] | lin | La linea en consulta. |
[in] | col | La columna en consulta. |
Pds::Vector Pds::Matrix::GetDiagonal | ( | void | ) | const |
Retorna un vector columna copia de los valores de la diagonal de la matriz.
bool Pds::Matrix::SetDiagonal | ( | const Pds::Vector | V | ) |
Copia un vector columna en una diagonal de la matriz. Si los tamaños son diferentes, se interceptan las matrices y se copia solamente en la intersección.
[in] | V | El vector a copiar. |
Pds::Matrix Pds::Matrix::GetMatrix | ( | unsigned int | lin_init, |
unsigned int | col_init, | ||
unsigned int | lin_end, | ||
unsigned int | col_end | ||
) | const |
Retorna una sub matriz desde la posición (lin_init,col_init) hasta (lin_end,col_end), inclusive. Hace una verificación si la posición existe, si no existe llena con ceros.
[in] | lin_init | La linea inicial en consulta. |
[in] | col_init | La columna inicial en consulta. |
[in] | lin_end | La linea final en consulta. |
[in] | col_end | La columna final en consulta. |
Pds::Matrix Pds::Matrix::GetMatrix | ( | unsigned int | lin_init, |
unsigned int | col_init, | ||
Pds::Size | size | ||
) | const |
Retorna una sub matriz desde la posición (lin_init,col_init) hasta (lin_end,col_end), inclusive. Hace una verificación si la posición existe, si no existe llena con ceros.
[in] | lin_init | La linea inicial en consulta. |
[in] | col_init | La columna inicial en consulta. |
[in] | size | Tamaño de la matriz a recibir. |
bool Pds::Matrix::SetMatrix | ( | unsigned int | lin, |
unsigned int | col, | ||
const Pds::Matrix & | B | ||
) |
Copia en si mismo (A) en la posicion (lin,col), el contenido de una matriz B. Si a matriz B no cabe em A se retorna false.
[in] | lin | Linea donde se inicia a copia. |
[in] | col | Columna donde se inicia a copia. |
[in] | B | la matriz a copiar |
Pds::Matrix Pds::Matrix::GetRow | ( | unsigned int | lin | ) | const |
Retorna una matriz linea escojida en la linea lin. Hace una verificación si la linea existe, si no existe devuelve una matriz vacia.
[in] | lin | La linea en consulta. |
Pds::Matrix Pds::Matrix::GetCol | ( | unsigned int | col | ) | const |
Retorna una matriz columna escojida en la columna col. Hace una verificación si la columna existe, si no existe devuelve una matriz vacia.
[in] | col | La columna en consulta. |
Pds::Matrix Pds::Matrix::GetRows | ( | unsigned int | lin_init, |
unsigned int | lin_end | ||
) | const |
Retorna una sub matriz escojida desde la linea lin_init hasta lin_end, inclusive. Hace una verificación si la linea existe, si no existe llena esta con ceros.
[in] | lin_init | La linea inicial en consulta. |
[in] | lin_end | La linea final en consulta. |
Pds::Matrix 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. Hace una verificación si la columna existe, si no existe llena esta con ceros.
[in] | col_init | La columna inicial en consulta. |
[in] | col_end | La columna final en consulta. |
Pds::Matrix Pds::Matrix::GetRows | ( | std::list< unsigned int > | List | ) | const |
Retorna una sub matriz escojida desde una lista de indices de lineas. Hace una verificación si los indices existen, si alguno no existe devuelve una matriz vacia.
[in] | List | La lista de indices de lineas. |
Pds::Matrix Pds::Matrix::GetCols | ( | std::list< unsigned int > | List | ) | const |
Retorna una sub matriz escojida desde una lista de indices de columnas. Hace una verificación si los indices existen, si alguno no existe devuelve una matriz vacia.
[in] | List | La lista de indices de columnas. |
Pds::Matrix Pds::Matrix::GetRows | ( | std::vector< unsigned int > | Vec | ) | const |
Retorna una sub matriz escojida desde una lista de indices de lineas. Hace una verificación si los indices existen, si alguno no existe devuelve una matriz vacia.
[in] | Vec | El vector de indices de lineas. |
Pds::Matrix Pds::Matrix::GetCols | ( | std::vector< unsigned int > | Vec | ) | const |
Retorna una sub matriz escojida desde una lista de indices de columnas. Hace una verificación si los indices existen, si alguno no existe devuelve una matriz vacia.
[in] | Vec | El vector de indices de columnas. |
Pds::Matrix Pds::Matrix::GetRowsRand | ( | unsigned int | N | ) | const |
Retorna una sub matriz escojiendo N lineas aleatoriamente (sin repetición).
[in] | N | El número de lineas a escojer. |
Pds::Matrix Pds::Matrix::GetColsRand | ( | unsigned int | N | ) | const |
Retorna una sub matriz escojiendo N columnas aleatoriamente (sin repetición).
[in] | N | El número de columnas a escojer. |
bool Pds::Matrix::SetRowValue | ( | unsigned int | lin, |
double | value | ||
) |
Copia un valor en una linea de la matriz.
[in] | value | El valor a copiar. |
[in] | lin | La linea en consulta. |
bool Pds::Matrix::SetRowVector | ( | unsigned int | lin, |
const Pds::Vector & | X | ||
) |
Copia un vector en una linea de la matriz.
[in] | lin | La linea en consulta. |
[in] | X | El vector a copiar. |
bool Pds::Matrix::SetColValue | ( | unsigned int | col, |
double | value | ||
) |
Copia un valor en una columna de la matriz.
[in] | value | El valor a copiar. |
[in] | col | La columna en consulta. |
Pds::Vector Pds::Matrix::GetRowAsColVector | ( | unsigned int | lin | ) | const |
Retorna un vector columna copia de una linea de la matriz.
[in] | lin | La linea en consulta. |
bool Pds::Matrix::GetRowAsColVector | ( | unsigned int | lin, |
Pds::Vector & | V | ||
) | const |
Retorna un vector columna copia de una linea de la matriz.
[in] | lin | La linea en consulta. |
[out] | V | Vector donde se copian los datos de la linea. |
Pds::Vector Pds::Matrix::GetColVector | ( | unsigned int | col | ) | const |
Retorna un vector columna copia de una columna de la matriz.
[in] | col | La columna en consulta. |
bool Pds::Matrix::SetColVector | ( | unsigned int | col, |
const Pds::Vector | V | ||
) |
Copia un vector columna en una columna de la matriz. Si los tamaños son diferentes, se interceptan las matrices y se copia solamente en la intersección.
[in] | V | El vector a copiar. |
[in] | col | La columna en consulta. |
bool Pds::Matrix::SetColVector | ( | unsigned int | col, |
double(*)(double) | func, | ||
const Pds::Vector | V | ||
) |
Copia un vector columna en una columna de la matriz, despues de evaluar el vector en una funcion. Si los tamaños son diferentes, se interceptan las matrices y se copia solamente en la intersección.
[in] | func | funcion a evaluar. |
[in] | V | El vector a evaluar y copiar. |
[in] | col | La columna en consulta. |
bool Pds::Matrix::SetColVector | ( | unsigned int | col, |
double(*)(double, double) | func, | ||
const Pds::Vector | V, | ||
double | var | ||
) |
Copia un vector columna en una columna de la matriz, despues de evaluar el vector en una funcion. Si los tamaños son diferentes, se interceptan las matrices y se copia solamente en la intersección.
[in] | func | funcion a evaluar. |
[in] | V | El vector a evaluar y copiar. |
[in] | var | Segunda variable a evaluar. |
[in] | col | La columna en consulta. |
bool Pds::Matrix::RowAddAssig | ( | unsigned int | lin1, |
unsigned int | lin2, | ||
double | alpha | ||
) |
Multiplica los valores de la linea lin2 por alfa y el resultado es sumado a los valores de la linea lin1.
[in] | lin1 | Lineas a intercambiar. |
[in] | lin2 | Lineas a intercambiar. |
[in] | alpha | Factor multiplicador. |
bool Pds::Matrix::RowMulAssig | ( | unsigned int | lin, |
double | alpha | ||
) |
Multiplica la linea lin por alpha.
[in] | lin | Linea a multiplicar. |
[in] | alpha | Factor multiplicador. |
bool Pds::Matrix::RowDivAssig | ( | unsigned int | lin, |
double | alpha | ||
) |
Divide la linea lin por alpha.
[in] | lin | Linea a dividir. |
[in] | alpha | Factor multiplicador. |
bool Pds::Matrix::RowSwap | ( | unsigned int | lin1, |
unsigned int | lin2 | ||
) |
Intercambia los valores de las lineas de una matriz.
[in] | lin1 | Lineas a intercambiar. |
[in] | lin2 | Lineas a intercambiar. |
int Pds::Matrix::RowSwapBelow | ( | unsigned int | n | ) |
Si el n-avo elemento de la diagonal es cero entonces intercambia la linea n de la matriz con cualquier linea inferior con elemento diferente de cero en la columna n.
[in] | n | Linea a intercambiar. |
bool Pds::Matrix::RowReduction | ( | void | ) |
Convierte la matriz en una matriz reducida.
bool Pds::Matrix::RowDivByAbsMax | ( | void | ) |
Normaliza cada linea de la matriz dividiendola por el maximo valor absoluto de la linea. Si la linea tiene solo ceros esta no es modificada.
double Pds::Matrix::Sum | ( | void | ) | const |
Calcula el valor de la suma de elementos de la matriz.
double Pds::Matrix::Mean | ( | void | ) | const |
Calcula el valor medio de la matriz.
Pds::Matrix Pds::Matrix::MeanInCols | ( | void | ) | const |
Calcula el valor medio de las columnas de la matriz.
Pds::Vector Pds::Matrix::MeanInRows | ( | void | ) | const |
Calcula la media de cada linea de la matriz.
double Pds::Matrix::Std | ( | double * | mean = NULL | ) | const |
Calcula el valor del desvío padrón de la matriz.
Pds::Vector Pds::Matrix::StdInRows | ( | void | ) | const |
Calcula el standard deviation de cada linea de la matriz.
bool Pds::Matrix::MeanStdInRows | ( | Pds::Vector & | Mean, |
Pds::Vector & | Std | ||
) | const |
Calcula la media y el standard deviation de cada linea de la matriz.
[out] | Mean | Vector con la media de cada linea. El vector debe tener el mismo número de lineas que la matriz caso contrario se retorna false. |
[out] | Std | Vector con es standard deviation de cada linea. El vector debe tener el mismo número de lineas que la matriz caso contrario se retorna false. |
bool Pds::Matrix::MeanStdInCols | ( | Pds::Matrix & | Mean, |
Pds::Matrix & | Std | ||
) | const |
Calcula la media y el standard deviation de cada linea de la matriz.
[out] | Mean | Vector con la media de cada columna. El vector debe tener el mismo número de lineas que la matriz caso contrario se retorna false. |
[out] | Std | Vector con es standard deviation de cada columna. El vector debe tener el mismo número de lineas que la matriz caso contrario se retorna false. |
double Pds::Matrix::Var | ( | double * | mean = NULL | ) | const |
Calcula el valor de la varianza de la matriz.
double Pds::Matrix::Max | ( | unsigned int * | id = NULL | ) | const |
Calcula el máximo valor de la matriz.
[in] | id | Se retorna el id do valor máximo. |
double Pds::Matrix::MaxAbs | ( | unsigned int * | id = NULL | ) | const |
Calcula el máximo valor del valor absoluto de la matriz.
[in] | id | Se retorna el id do valor máximo. |
Pds::Vector Pds::Matrix::MaxAbsInRows | ( | void | ) | const |
Retorna un vector con el maximo valor absoluto de cada linea.
double Pds::Matrix::Min | ( | unsigned int * | id = NULL | ) | const |
Calcula el mínimo valor de la matriz.
[in] | id | Se retorna el id do valor mínimo. |
double Pds::Matrix::MinAbs | ( | unsigned int * | id = NULL | ) | const |
Calcula el mínimo valor del valor absoluto de la matriz.
[in] | id | Se retorna el id do valor mínimo. |
Pds::Matrix Pds::Matrix::MinInCols | ( | std::vector< unsigned int > & | Lin | ) | const |
Calcula el mínimo en cada columna de la matriz.
[in] | Lin | La linea del valor mínimo en cada columna. |
Pds::Matrix Pds::Matrix::MinInCols | ( | Pds::Array< unsigned int > & | Lin | ) | const |
Calcula el mínimo en cada columna de la matriz.
[in] | Lin | La linea del valor mínimo en cada columna. |
bool Pds::Matrix::NormalizeCols | ( | Pds::Vector & | Mean, |
Pds::Vector & | Std | ||
) |
Calcula la media y el standard deviation de cada columna de la matriz. Si el std de la columna es cero esta no es normalizada.
[out] | Mean | Vector con la media de cada columna. El vector debe tener el mismo número de lineas que la matriz caso contrario se retorna false. |
[out] | Std | Vector con es standard deviation de cada columna. El vector debe tener el mismo número de lineas que la matriz caso contrario se retorna false. |
bool Pds::Matrix::NormalizeColsWith | ( | const Pds::Vector & | Mean, |
const Pds::Vector & | Std | ||
) |
Normaliza cada columna de la matriz usando la media y el standard deviation de cada columna de la matriz. Si el std de la columna es cero esta no es normalizada.
[out] | Mean | Vector con la media de cada columna. El vector debe tener el mismo número de lineas que la matriz caso contrario se retorna false. |
[out] | Std | Vector con es standard deviation de cada columna. El vector debe tener el mismo número de lineas que la matriz caso contrario se retorna false. |
double Pds::Matrix::Accuracy | ( | const Pds::Matrix & | B, |
double | Umbral | ||
) | const |
Calcula el valor de la Accuracy entre los elementos de las matrices A (Self) y B. Antes de comprarar las matrices se binarizan con el umbral Umbral. A>Umbral, B>Umbral.
TP=True positive TN=True negative FP=False positive FN=False negative
[in] | B | Matriz a procesar. |
[in] | Umbral | Umbral de binarización. |
double Pds::Matrix::R2 | ( | const Pds::Matrix & | Y | ) | const |
Calcula el coeficiente de determinación o .
Varianza , varianza residual .
double Pds::Matrix::Rf | ( | const Pds::Matrix & | Y | ) | const |
Calcula o .
Varianza , varianza residual .
double Pds::Matrix::Mape | ( | const Pds::Matrix & | B | ) | const |
Calcula el error absoluto medio porcentual (Mean Absolute Percentage Error) de una matriz.
es el número de elementos no cero en . Solo son sumados elementos no cero en .
double Pds::Matrix::InformationGain | ( | const std::vector< Pds::Matrix > & | A, |
double | Umbral = 0.5 |
||
) | const |
Retorna el Information Gain entre si mismo B y {A[0],A[1],...,A[N-1]}. Antes de comprarar las matrices se binarizan con el umbral Umbral. A[n]>Umbral, B>Umbral.
[in] | A | vector de matrices. Estas seran binarizadas con Umbral. |
[in] | Umbral | Umbral de binarización. A>Umbral. |
double Pds::Matrix::BinaryEntropy | ( | double | umbral | ) | const |
Calcula la entropia binaria de la estadistica de {p0,p1}, la probabilidade de unos y ceros en la matriz despues de ubralizar con >=umbral.
[in] | umbral | Umbral de binarización (mayor igual). |
double Pds::Matrix::P1Probability | ( | double | umbral | ) | const |
Calcula la probabilidad binaria {p1}, la probabilidade en relación a los unos y ceros en la matriz despues de ubralizar con >=umbral.
[in] | umbral | Umbral de binarización (mayor igual). |
Pds::Matrix Pds::Matrix::BalancedBinaryWeight | ( | double | umbral | ) | const |
Retorna una matriz de pesos para balancear la cantidad de 1s y 0s en la matriz. Los unos y ceros en la matriz son obtenidos despues de ubralizar con >=umbral.
[in] | umbral | Umbral de binarización (mayor igual). |
Pds::Vector Pds::Matrix::HistogramNorm | ( | int | min = 0 , |
int | max = 255 |
||
) | const |
Retorna un vector con el histograma desde min hasta max (valores enteros). Elementos con valores menores a min o mayores a max no son computados en el histograma. El histograma és normalizado para que la suma sea igual a 1 de modo que pueda ser usada como una relación de probabilidades.
[in] | min | Valor mínimo a ser tomado en cuenta en el histograma. |
[in] | max | Valor máximo a ser tomado en cuenta en el histograma. |
double Pds::Matrix::Corr | ( | const Pds::Matrix & | B | ) | const |
Calcula la correlación de Pearson con la matriz.
Pds::Matrix Pds::Matrix::XCorr | ( | const Pds::Matrix & | B, |
bool | Same = false |
||
) | const |
Calcula la correlacion cruzada entre A y B.
De modo que
Image | Formulation |
|
Exemplo:
[in] | B | Matriz a aplicar la correlacion cruzada. |
[in] | Same | indica si la correlación cruzada tendrá el mismo tamaño que A, si Same es igual a true entonces, . Por defecto Same es igual a false. |
Pds::Matrix Pds::Matrix::FilterMean | ( | unsigned int | r | ) | const |
Procesa la matriz A usando un filtro mean de radio r.
[in] | r | Radio de accion de la media, es decir kernel de tamaño (2r+1)x(2r+1). |
Pds::Matrix Pds::Matrix::FilterMean3 | ( | void | ) | const |
Procesa la matriz A usando un filtro mean de radio 1.
Pds::Matrix Pds::Matrix::FilterMean3b | ( | void | ) | const |
Procesa la matriz A usando un filtro mean de radio 1.
Pds::Matrix Pds::Matrix::Resize | ( | double | factor | ) | const |
Retorna una matriz B (size: NlinB,NcolB) resultado de aplicar un subsampling de la matriz A (size: Nlin,Ncol) por un factor.
Es aplicado el método de bilinear y luego linear entre la aproximacion espacial y la version reduzida por 2.
[in] | factor | Este factor debe estar entre 1 y 2 inclusive, de lo contrario da error. |
double Pds::Matrix::Det | ( | void | ) | const |
Calcula la determinante.
double Pds::Matrix::Dot | ( | const Pds::Matrix & | B | ) | const |
Calcula el producto punto entre dos matrices.
[in] | B | Matriz a multiplicar. |
double Pds::Matrix::Rms | ( | void | ) | const |
Calcula valor raiz quadrático medio de una matriz.
double Pds::Matrix::MeanAbsolute | ( | void | ) | const |
Calcula valor absoluto medio de una matriz.
double Pds::Matrix::MeanSquare | ( | void | ) | const |
Calcula valor quadrático medio de una matriz.
double Pds::Matrix::SumSquare | ( | void | ) | const |
Calcula valor de la suma quadrática de una matriz.
double Pds::Matrix::Norm | ( | void | ) | const |
Calcula la 2-norm de una matriz (Frobenius norm).
double Pds::Matrix::PNorm1 | ( | void | ) | const |
Calcula la 1-norm de un vector.
double Pds::Matrix::PNormInf | ( | void | ) | const |
Calcula la inf-norm de una matriz.
Pds::Vector Pds::Matrix::Multiindex | ( | const Pds::Vector & | d | ) | const |
Dada una matriz es calculado el vector .
[in] | d | Vector de indices . |
std::vector<unsigned int> Pds::Matrix::Find | ( | void | ) | const |
Retorna una lista de indices donde existe un 1 en la matriz A.
Pds::Matrix 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 internamente con (B>0.5). La matriz debe tener el mismo numero de lineas de B caso contrario se retorna una matriz vacia.
[in] | B | Vector con datos de lineas utiles. |
Pds::Matrix Pds::Matrix::FindRows | ( | const Pds::Vector & | B, |
double | b | ||
) | const |
Retorna una nueva matriz con las lineas donde existe un 1 en la matriz B. En verdad B es binarizado internamente con (B>b). La matriz debe tener el mismo numero de lineas de B caso contrario se retorna una matriz vacia.
[in] | B | Vector con datos de lineas utiles. |
[in] | b | Umbral de binarización de un vector B. |
std::vector<Pds::Matrix> Pds::Matrix::FindRowsBlock | ( | const Pds::Vector & | B | ) | const |
Retorna dos nuevas matrices con las lineas donde existe un 0 (mat0) y un 1 (mat1) en la matriz B. En verdad B es binarizado internamente con (B>0.5). La matriz debe tener el mismo numero de lineas de B caso contrario se retorna una matriz vacia.
[in] | B | Vector con datos de lineas utiles. |
bool Pds::Matrix::Apply | ( | double(*)(double) | func | ) |
Aplica la función func a cada elemento de la matriz.
[in] | func | Función a aplicar, esta debe tener a forma double func(double). |
bool Pds::Matrix::Apply | ( | double(*)(double) | func, |
const Pds::Matrix & | B | ||
) |
Aplica la función func a cada elemento de la matriz.
[in] | func | Función a aplicar, esta debe tener a forma double func(double). |
[in] | B | Matriz a evaluar con func. |
bool Pds::Matrix::Apply | ( | double(*)(double, double) | func, |
double | var | ||
) |
Aplica la función func a cada elemento de la matriz.
[in] | func | Función a aplicar, esta debe tener a forma double func(double,double). |
[in] | var | Variable a usar em func(double,var). |
bool Pds::Matrix::ApplySub | ( | double(*)(double) | func, |
const Pds::Matrix & | B, | ||
const Pds::Matrix & | C | ||
) |
Aplica la función func a cada elemento de la diferencia de matrices.
[in] | func | Función a aplicar, esta debe tener a forma double double func(double). |
[in] | B | Matriz a evaluar con func. |
[in] | C | Matriz a evaluar con func. |
bool Pds::Matrix::ApplySub | ( | const Pds::Matrix & | B, |
const Pds::Matrix & | C | ||
) |
Aplica la función func a cada elemento de la diferencia de matrices.
[in] | B | Matriz a evaluar con func. |
[in] | C | Matriz a evaluar con func. |
bool Pds::Matrix::ApplyInCol | ( | unsigned int | col, |
double(*)(double) | func | ||
) |
Aplica la función func a cada elemento de la columna col de la matriz.
[in] | col | Columna a aplicar la función. |
[in] | func | Función a aplicar, esta debe tener a forma double func(double). |
bool Pds::Matrix::ApplyInCol | ( | unsigned int | col, |
double(*)(double, double) | func, | ||
double | var | ||
) |
Aplica la función func a cada elemento de la columna col de la matriz.
[in] | col | Columna a aplicar la función. |
[in] | func | Función a aplicar, esta debe tener a forma double func(double,double). |
[in] | var | Variable a usar em func(double,var). |
Pds::Matrix Pds::Matrix::OperateRows | ( | double(*)(const Pds::Matrix &Row) | func | ) | const |
Opera la función func usando como entrada cada fila de la matriz.
[in] | func | Función a aplicar, esta debe tener a forma double func(const Pds::Matrix &Row). |
Pds::Matrix Pds::Matrix::OperateCols | ( | double(*)(const Pds::Matrix &Col) | func | ) | const |
Opera la función func usando como entrada cada columna de la matriz.
[in] | func | Función a aplicar, esta debe tener a forma double func(const Pds::Matrix &Col). |
Pds::Matrix Pds::Matrix::Scale | ( | double | minval, |
double | maxval | ||
) | const |
Rescala linearmente los datos desde minval a maxval.
[in] | minval | Valor menor de la escala. |
[in] | maxval | Valor maior de la escala. |
Pds::Matrix Pds::Matrix::Round | ( | unsigned int | decimal = 0 | ) | const |
Retorna una matriz con los valores redondeados.
[in] | decimal | Núros decimales usados. |
bool Pds::Matrix::CopyRegion | ( | const Pds::RegionRect & | Rin, |
const Pds::RegionRect & | Rout, | ||
Pds::Matrix & | Mout | ||
) | const |
Copia la región Rin de la matriz a la región Rout de la matriz Mout.
Ambas regiones deben estar dentro de las matrices y tener el mismo tamaño para que la copia sea realizada.
[in] | Rin | Región en donde se leerán los datos. |
[in] | Rout | Región en donde se escribirá. |
[out] | Mout | La matriz donde se escribirá. |
bool Pds::Matrix::InitRegion | ( | Pds::RegionRect | R, |
double | val | ||
) |
Inicializa la región R de la matriz con el valor val.
[in] | R | La region a inicializar. |
[in] | val | valor a ser usado en la inicialización. |
Pds::RegionRect Pds::Matrix::GetRegion | ( | void | ) | const |
Retorna una variable Pds::RegionRect desde la posicion (0,0), con ancho y alto (Mat.Nlin(),Mat.Ncol()).
bool Pds::Matrix::MeanOfRegion | ( | const Pds::RegionRect & | Rin, |
double * | mean | ||
) | const |
Calcula la media de los elementos en la region, pero para que sea calculado debe existir una interseccion diferente de zero con la matriz. Los valores fuera de la matriz son considerados cero.
[in] | Rin | La region a calcular. |
[out] | mean | Media. |
double Pds::Matrix::MeanOfRegion | ( | const Pds::RegionRect & | Rin | ) | const |
Calcula la media de los elementos en la region, pero para que sea calculado debe existir una interseccion diferente de zero con la matriz. Los valores fuera de la matriz son considerados cero.
[in] | Rin | La region a calcular. |
bool Pds::Matrix::MeanSquareOfRegion | ( | const Pds::RegionRect & | Rin, |
double * | mean | ||
) | const |
Calcula la media del cuadrado de los elementos en la region, pero para que sea calculado debe existir una interseccion diferente de zero con la matriz. Los valores fuera de la matriz son considerados cero.
[in] | Rin | La region a calcular. |
[out] | mean | Media. |
double Pds::Matrix::MeanSquareOfRegion | ( | const Pds::RegionRect & | Rin | ) | const |
Calcula la media del cuadrado de los elementos en la region, pero para que sea calculado debe existir una interseccion diferente de zero con la matriz. Los valores fuera de la matriz son considerados cero.
[in] | Rin | La region a calcular. |
bool Pds::Matrix::StdAndMeanOfRegion | ( | const Pds::RegionRect & | Rin, |
double * | std, | ||
double * | mean | ||
) | const |
Calcula el desvío padrón y la media de los elementos de la intersección de la región con la matriz.
[in] | Rin | La región a calcular. |
[out] | std | Desvío padrón. |
[out] | mean | Media. |
bool Pds::Matrix::CorrNormRegions | ( | const Pds::Matrix & | M1, |
const Pds::RegionRect & | R0, | ||
const Pds::RegionRect & | R1, | ||
double * | corrn | ||
) | const |
Calcula correlación normalizada entre los elementos de la intersección de la regiones con sus matrices.
Para que la correlacion sea ejecutada se debe cumplir que ademas que y . Con estas condiciones obtenemos las submatrices y .
[in] | M1 | Una matriz de la correlación. |
[in] | R0 | La región a analizar en la matriz M0, el tamaño de R0 debe ser igual al tamaño de R1. |
[in] | R1 | La región a analizar en la matriz M1, el tamaño de R0 debe ser igual al tamaño de R1. |
[out] | corrn | Correlación normalizada. |
bool Pds::Matrix::CorrNormRegions | ( | const Pds::Matrix & | M1, |
const Pds::RegionRect & | R0, | ||
const Pds::RegionRect & | R1, | ||
double | means0, | ||
double | means1, | ||
double * | corrn | ||
) | const |
Calcula correlación normalizada entre los elementos de la intersección de la regiones con sus matrices.
Para que la correlacion sea ejecutada se debe cumplir que ademas que y . Con estas condiciones obtenemos las submatrices y .
[in] | M1 | Una matriz de la correlación. |
[in] | R0 | La región a analizar en la matriz M0, el tamaño de R0 debe ser igual al tamaño de R1. |
[in] | R1 | La región a analizar en la matriz M1, el tamaño de R0 debe ser igual al tamaño de R1. |
[in] | means0 | Valor cuadrático medio de la region R0, . |
[in] | means1 | Valor cuadrático medio de la region R1, . |
[out] | corrn | Correlación normalizada. |
bool Pds::Matrix::CorrPearsonRegions | ( | const Pds::Matrix & | M1, |
const Pds::RegionRect & | R0, | ||
const Pds::RegionRect & | R1, | ||
double * | pcc | ||
) | const |
Calcula el coeficiente de correlación de Pearson (PCC) entre los elementos de la intersección de la regiones con sus matrices.
Para que la correlacion sea ejecutada se debe cumplir que ademas que y . Con estas condiciones obtenemos las submatrices y .
Si algun desvío padrón es cero entonces existen casos especiales para el valor de PCC.
PCC | sigma0 | sigma1 | mean0 | mean1 |
0.0 | Zero | NonZero | ? | ? |
0.0 | NonZero | Zero | ? | ? |
1.0 | Zero | Zero | Positive | Positive |
1.0 | Zero | Zero | Negative | Negative |
-1.0 | Zero | Zero | Positive | Negative |
-1.0 | Zero | Zero | Negative | Positive |
0.0 | Zero | Zero | Zero | NonZero |
0.0 | Zero | Zero | NonZero | Zero |
1.0 | Zero | Zero | Zero | Zero |
[in] | M1 | Una matriz de la correlación. |
[in] | R0 | La región a analizar en la matriz M0, el tamaño de R0 debe ser igual al tamaño de R1. |
[in] | R1 | La región a analizar en la matriz M1, el tamaño de R0 debe ser igual al tamaño de R1. |
[out] | pcc | Coeficiente de correlación de Pearson. |
bool Pds::Matrix::CorrPearsonRegions | ( | const Pds::Matrix & | M1, |
const Pds::RegionRect & | R0, | ||
const Pds::RegionRect & | R1, | ||
double | mean0, | ||
double | mean1, | ||
double | std0, | ||
double | std1, | ||
double * | pcc | ||
) | const |
Calcula el coeficiente de correlación de Pearson (PCC) entre los elementos de la intersección de la regiones con sus matrices.
Para que la correlacion sea ejecutada se debe cumplir que ademas que y . Con estas condiciones obtenemos las submatrices y .
Si algun desvío padrón es cero entonces existen casos especiales para el valor de PCC.
PCC | sigma0 | sigma1 | mean0 | mean1 |
0.0 | Zero | NonZero | ? | ? |
0.0 | NonZero | Zero | ? | ? |
1.0 | Zero | Zero | Positive | Positive |
1.0 | Zero | Zero | Negative | Negative |
-1.0 | Zero | Zero | Positive | Negative |
-1.0 | Zero | Zero | Negative | Positive |
0.0 | Zero | Zero | Zero | NonZero |
0.0 | Zero | Zero | NonZero | Zero |
1.0 | Zero | Zero | Zero | Zero |
[in] | M1 | Una matriz de la correlación. |
[in] | R0 | La región a analizar en la matriz M0, el tamaño de R0 debe ser igual al tamaño de R1. |
[in] | R1 | La región a analizar en la matriz M1, el tamaño de R0 debe ser igual al tamaño de R1. |
[in] | mean0 | La media de la region R0. |
[in] | mean1 | La media de la region R1. |
[in] | std0 | El desvio padron de la region R0. |
[in] | std1 | El desvio padron de la region R1. |
[out] | pcc | Coeficiente de correlación de Pearson. |
std::string Pds::Matrix::ToString | ( | void | ) | const |
Convierte los datos de la matriz en un std::string.
void Pds::Matrix::Print | ( | std::string | str | ) | const |
Imprime en pantalla el contenido de la matriz después del texto indicado en str.
str | Texto a mostrar antes de imprimir. |
void Pds::Matrix::Print | ( | void | ) | const |
Imprime en pantalla el contenido de la matriz.
void Pds::Matrix::MakeEmpty | ( | void | ) |
libera los datos internos de la matriz y la convierte en una matriz nula. es decir con lineas y columnas cero.
Una matriz está vacía si .
bool Pds::Matrix::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.
[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::Matrix::SaveInStream | ( | std::ofstream & | myfile | ) | const |
Escribe en un archivo de texto el contenido de la matriz.
[in] | myfile | Stream del archivo donde se escribirán los datos. |
bool Pds::Matrix::LoadFromStream | ( | std::ifstream & | ifs, |
unsigned int | Nlin, | ||
unsigned int | Ncol | ||
) |
Lee de un archivo una matriz de Nlin lineas y Ncol columnas. Si la lectura es satisfactoria el contenido actual de la matriz es liberado, en caso de error la matriz queda vacia, esdecir .IsEmpty() retorna true.
[in] | ifs | Stream del archivo donde se leerán los datos. |
[in] | Nlin | El numero de lineas en el arreglo. |
[in] | Ncol | El numero de columnas en el arreglo. |
bool Pds::Matrix::LoadLineFromStream | ( | std::ifstream & | ifs | ) |
Lee una linea de un archivo y crea una matriz de Nlin=1 y Ncol columnas. Si la lectura es satisfactoria el contenido actual de la matriz es liberado, en caso de error la matriz queda vacia, esdecir .IsEmpty() retorna true.
[in] | ifs | Stream del archivo donde se leerán los datos. |
bool Pds::Matrix::Save | ( | const std::string & | filepath | ) | const |
Escribe en un archivo de texto el contenido de la matriz.
[in] | filepath | El archivo donde se escribirán los datos. |
bool Pds::Matrix::Load | ( | const std::string & | filepath | ) |
Lee de un archivo una matriz de Nlin lineas y Ncol columnas. Si la lectura es satisfactoria el contenido actual de la matriz es liberado, en caso de error la matriz queda vacia, esdecir .IsEmpty() retorna true.
[in] | filepath | El archivo donde se leerán los datos. |
bool Pds::Matrix::ExportCsvFile | ( | const std::string & | filepath, |
char | delimitador = ',' |
||
) | const |
Escribe en un archivo de texto el contenido de la matriz usando un formato Csv (Comma Separated Values).
[in] | filepath | El archivo donde se escribirán los datos. |
[in] | delimitador | Delimitador separador de elementos, ',' por defecto. |
bool Pds::Matrix::ExportCsvFile | ( | const std::string & | filepath, |
std::vector< std::string > | titles, | ||
char | delimitador = ',' |
||
) | const |
Escribe en un archivo de texto el contenido de la matriz usando un formato Csv (Comma Separated Values).
[in] | filepath | El archivo donde se escribirán los datos. |
[in] | titles | Titulos al inicio del archivo. Solo es escrito si el número de elementos es igual a Ncol. |
[in] | delimitador | Delimitador separador de elementos, ',' por defecto. |
bool Pds::Matrix::ExportMatFile | ( | const std::string & | pname, |
const std::string & | filepath | ||
) | const |
Escribe en un archivo binario en formato de octave la matriz. Es necesario dar un nombre como identificador de matriz.
Para cargar los datos en OCTAVE se puede usar el siguiente código
% Load all the variables in "matfile.mat" in the workspace. load("-v4","matfile.mat"); % Load the B variable in a STRUCTURE STRUCTURE=load("-v4","matfile.mat","B");
Version 4 MAT-File Format:Documento externo Documento oficial
[in] | pname | El nombre de la matriz. |
[in] | filepath | El archivo donde se escribirán los datos. |
bool Pds::Matrix::ExportBmpFile | ( | const unsigned char | colormap[256][3], |
const std::string & | filepath | ||
) | const |
Escribe en una matriz en un archivo binario en formato BMP. Losdatos deben ir de 0 a 255, valores superiores o inferiores serán truncados.
[in] | colormap | Mapa de colores. Ejemplo: Pds::Colormap::Jet, Pds::Colormap::Bone, |
[in] | filepath | Nombre del archivo donde se escribirán los datos Pds::Colormap::Hot,Pds::Colormap::Jolly. |
|
static |
Convierte las muestras de un bloque (std::vector<Pds::Matrix>) de N matrices (Pds::Matrix) de L elementos, en una matriz Pds::Matrix(L,N). Lee los datos de la columna actual y pasa a la siguiente, desde la columna 0.
[in] | Block | Un bloque (std::vector<Pds::Matrix>) de N matrices (Pds::Matrix) de L elementos. |
|
static |
Convierte M muestras de un bloque (std::vector<Pds::Matrix>) de N matrices (Pds::Matrix) de L elementos, en una matriz Pds::Matrix(M,N).
[in] | Block | Un bloque (std::vector<Pds::Matrix>) de N matrices (Pds::Matrix) de L elementos. |
[in] | Id | Vector con M indices que representan las muestras a ser seleccionadas. |
|
static |
Convierte un sdt::string a una Matriz de Nlin lineas y Ncol columnas.
[in] | str | Cadena a leer. |
|
static |
Escribe en una matriz en un archivo binario en formato BMP. Losdatos deben ir de 0 a 255, valores superiores o inferiores serán truncados.
[in] | R | Matriz con colores red 0<=r<=255. |
[in] | G | Matriz con colores green 0<=r<=255. |
[in] | B | Matriz con colores blue 0<=r<=255. |
[in] | bmpfilename | Nombre del archivo donde se escribirán los datos. |
|
static |
Lee matrices de un archivo binario en formato BMP.
Without compression |
Number of planes equal to 1 |
8,16,24 o 32 bits by pixel. |
[in] | bmpfilename | Nombre del archivo donde se leeran los datos. |
|
static |
Calcula A,la matriz media de un conjunto de N matrizes agrupadas en un std::vector.
[in] | Block | Vector std::vector con N elementos Pds::Matrix. |
Pds::Matrix Pds::Matrix::T | ( | void | ) | const |
Transpuesta de si mismo (A), el resultado es cargado en B.
Pds::Matrix Pds::Matrix::MtM | ( | void | ) | const |
Retorna A.T()*A cargado en B.
Pds::Matrix Pds::Matrix::Inv | ( | double * | rcond = NULL | ) | const |
Retorna la matriz inversa.
rcond es:
[out] | rcond | Esta variable es cargada con el valor del reciproco del condicional de la matriz. Si esta es la matriz A. Si la matriz esta bien condicionada entonces rcond es próximo a 1.0 y si la matriz esta pobremente condicionada este valor estará proximo a 0.0. Si la variable rcond no es entregada entonces sera mostrado un mensaje de advertencia por consola si el valor de rcond es menor a Pds::Ra::WarningRCond. |
Pds::Matrix Pds::Matrix::PInv | ( | double * | rcond = NULL | ) | const |
Procesa esta matriz A y retorna B la matriz pseudo inversa de Moore Penrose.
[out] | rcond | Esta variable es cargada con el valor del reciproco del condicional de la matriz . Si la matriz está bien condicionada entonces rcond es próximo a 1.0 y si la matriz esta pobremente condicionada este valor estará proximo a 0.0. Si la variable rcond no es entregada entonces sera mostrado un mensaje de advertencia por consola si el valor de rcond es menor a Pds::Ra::WarningRCond. |
Pds::Matrix Pds::Matrix::operator- | ( | void | ) | const |
Cambia de signo a si mismo (A), el resultado es cargado en B. Este operador es similar al método unario Minus.
Pds::Matrix Pds::Matrix::Minus | ( | void | ) | const |
Cambia de signo a si mismo (A), el resultado es cargado en B. Este método es similar al operador unario -.
Pds::Matrix Pds::Matrix::operator+ | ( | void | ) | const |
Asigna el signo + a si mismo (A), el resultado es cargado en B. Este operador es similar al método unario Plus.
Pds::Matrix Pds::Matrix::Plus | ( | void | ) | const |
Asigna el signo + a si mismo (A), el resultado es cargado en B. Este método es similar al operador unario +.
Pds::Matrix Pds::Matrix::operator* | ( | double | b | ) | const |
Pds::Matrix Pds::Matrix::operator* | ( | const Pds::Matrix & | B | ) | const |
Multiplica con sigo mismo (A), una matriz B y el resultado es cargado en C. Este operador es similar al método Mul()
[in] | B | la matriz a multiplicar |
Pds::Matrix Pds::Matrix::Mul | ( | double | b | ) | const |
Multiplica con sigo mismo (A), un valor b y el resultado es cargado en C. Este método es similar al operador *.
[in] | b | el valor a multiplicar |
Pds::Matrix Pds::Matrix::Mul | ( | const Pds::Matrix & | B | ) | const |
Multiplica con sigo mismo (A), una matriz B y el resultado es cargado en C. Este método es similar al operador *.
[in] | B | la matriz a multiplicar |
Pds::Matrix Pds::Matrix::Mul | ( | const Pds::Vector & | B | ) | const |
Multiplica con sigo mismo (A), un vector B y el resultado es cargado en C. Este método es similar al operador *.
[in] | B | El vector a multiplicar |
Pds::Matrix Pds::Matrix::MulComp | ( | double | b, |
const Pds::Vector & | B | ||
) | const |
Multiplica con sigo mismo (A), un vector [b;B] y el resultado es cargado en C. Este método es similar al operador *.
[in] | b | El pedazo de arriba del vector a multiplicar |
[in] | B | El pedazo de abajo del vector a multiplicar |
bool Pds::Matrix::MulComp | ( | double | b, |
const Pds::Vector & | B, | ||
Pds::Vector & | Out | ||
) | const |
Multiplica con sigo mismo (A), un vector [b;B] y el resultado es cargado en Out. Este método es similar al operador *.
[in] | b | El pedazo de arriba del vector a multiplicar |
[in] | B | El pedazo de abajo del vector a multiplicar |
[out] | Out | El vector resultante de la multiplicación. |
Pds::Matrix Pds::Matrix::MulT | ( | const Pds::Matrix & | B | ) | const |
Multiplica con sigo mismo (A), la transpuesta de una matriz B y el resultado es cargado en C. Este método es similar al operador *.
[in] | B | la matriz a multiplicar |
Pds::Matrix Pds::Matrix::TMul | ( | const Pds::Matrix & | B | ) | const |
Multiplica con la transpuesta de sí mismo (A^T), la matriz B y el resultado es cargado en C. Este método es similar al operador *.
[in] | B | la matriz a multiplicar |
Pds::Matrix Pds::Matrix::operator+ | ( | double | b | ) | const |
Pds::Matrix Pds::Matrix::operator+ | ( | const Pds::Matrix & | B | ) | const |
[Elemento a elemento] Suma con sigo mismo (A), una matriz B y el resultado es cargado en C. Este operador es similar al método Add()
[in] | B | la matriz a sumar |
Pds::Matrix Pds::Matrix::Add | ( | double | b | ) | const |
[Elemento a elemento] Suma con sigo mismo (A), una valor b y el resultado es cargado en C. Este método es similar al operador +
[in] | b | El valor a sumar |
Pds::Matrix Pds::Matrix::Add | ( | const Pds::Matrix & | B | ) | const |
[Elemento a elemento] Suma con sigo mismo (A), una matriz B y el resultado es cargado en C. Este metodo es similar al operador +
[in] | B | la matriz a sumar |
Pds::Matrix Pds::Matrix::operator- | ( | double | b | ) | const |
Pds::Matrix Pds::Matrix::operator- | ( | const Pds::Matrix & | B | ) | const |
[Elemento a elemento] Resta con sigo mismo (A), una matriz B y el resultado es cargado en C. Este operador es similar al método Sub
[in] | B | la matriz que resta |
Pds::Matrix Pds::Matrix::Sub | ( | double | b | ) | const |
[Elemento a elemento] Resta con sigo mismo (A), una valor b y el resultado es cargado en C. Este método es similar al operador -
[in] | b | El valor a restar |
Pds::Matrix Pds::Matrix::Sub | ( | const Pds::Matrix & | B | ) | const |
[Elemento a elemento] Resta con sigo mismo (A), una matriz B y el resultado es cargado en C. Este método es similar al operador -
[in] | B | la matriz que resta |
Pds::Matrix Pds::Matrix::AddRowMatrix | ( | const Pds::Matrix & | B | ) | const |
Suma con sigo mismo (A), una matriz B linea y el resultado es cargado en C. La unica linea de B es sumada a cada linea de A.
[in] | B | la matriz que suma |
Pds::Matrix Pds::Matrix::SubRowMatrix | ( | const Pds::Matrix & | B | ) | const |
Resta con sigo mismo (A), una matriz B linea y el resultado es cargado en C. La unica linea de B es restada a cada linea de A.
[in] | B | la matriz que resta |
Pds::Matrix Pds::Matrix::operator/ | ( | double | b | ) | const |
Pds::Matrix Pds::Matrix::operator/ | ( | const Pds::Matrix & | B | ) | const |
[Elemento a elemento] Divide con sigo mismo (A), elemento a elemento, una matriz B y el resultado es cargado en C. Este método es similar al método .Div()
[in] | B | la matriz a dividir |
Pds::Matrix Pds::Matrix::Div | ( | double | b | ) | const |
[Elemento a elemento] Divide con sigo mismo (A), un valor b y el resultado es cargado en C. Este método es similar al operador /
[in] | b | el valor a dividir |
Pds::Matrix Pds::Matrix::Div | ( | const Pds::Matrix & | B | ) | const |
[Elemento a elemento] Divide con sigo mismo (A), elemento a elemento, una matriz B y el resultado es cargado en C. Este método es similar al operador /
[in] | B | la matriz a dividir |
Pds::Matrix Pds::Matrix::DivBelow | ( | double | b | ) | const |
[Elemento a elemento] Divide con sigo mismo (A), un valor b y el resultado es cargado en C. Este método es similar al operador /
[in] | b | El valor del numerador en la division |
Pds::Matrix Pds::Matrix::operator& | ( | const Pds::Matrix & | B | ) | const |
[Elemento a elemento] Multiplica con sigo mismo (A), elemento a elemento, una matriz B y el resultado es cargado en C. Este método es similar al método .Product()
Precedence | Operator |
5 | a*b a/b ab |
6 | a+b a-b |
7 | << >> |
9 | > < >= <= |
10 | == != |
11 | & |
12 | ^ |
[in] | B | la matriz a multiplicar |
Pds::Matrix Pds::Matrix::Product | ( | const Pds::Matrix & | B | ) | const |
[Elemento a elemento] Multiplica con sigo mismo (A), elemento a elemento, una matriz B y el resultado es cargado en C. Este método es similar al operador &
[in] | B | la matriz a multiplicar |
Pds::Matrix Pds::Matrix::Product | ( | double(*)(double) | func, |
const Pds::Matrix & | B | ||
) | const |
[Elemento a elemento] Multiplica con sigo mismo (A), elemento a elemento, una matriz func(B) y el resultado es cargado en C. Este método es similar al operador &
[in] | func | Función a evaluar. |
[in] | B | la matriz a multiplicar. |
bool Pds::Matrix::ProductSelf | ( | double | b | ) |
Multiplica con sigo mismo (A), un valor b y el resultado es cargado en A.
[in] | b | El valor a multiplicar. |
bool Pds::Matrix::ProductSelf | ( | const Pds::Matrix & | B | ) |
[Elemento a elemento] Multiplica con sigo mismo (A), elemento a elemento, una matriz B y el resultado es cargado en A.
[in] | B | la matriz a multiplicar. |
bool Pds::Matrix::ProductSelf | ( | double(*)(double) | func, |
const Pds::Matrix & | B | ||
) |
[Elemento a elemento] Multiplica con sigo mismo (A), elemento a elemento, una matriz func(B) y el resultado es cargado en A.
[in] | func | Función a evaluar. |
[in] | B | la matriz a multiplicar. |
bool Pds::Matrix::ProductSelfMinus | ( | double | b, |
const Pds::Matrix & | B | ||
) |
[Elemento a elemento] Multiplica con sigo mismo (A), elemento a elemento, una matriz (b-B) y el resultado es cargado en A.
[in] | b | La variable a multiplicar. |
[in] | B | La matriz a multiplicar. |
bool Pds::Matrix::ProductSelfMinus | ( | const Pds::Matrix & | B, |
double | b | ||
) |
[Elemento a elemento] Multiplica con sigo mismo (A), elemento a elemento, una matriz (B-b) y el resultado es cargado en A.
[in] | B | La matriz a multiplicar. |
[in] | b | La variable a multiplicar. |
bool Pds::Matrix::ProductSelfPlus | ( | double | b, |
const Pds::Matrix & | B | ||
) |
[Elemento a elemento] Multiplica con sigo mismo (A), elemento a elemento, una matriz (b+B) y el resultado es cargado en A.
[in] | b | La variable a multiplicar. |
[in] | B | La matriz a multiplicar. |
Pds::Matrix Pds::Matrix::Pow | ( | const Pds::Matrix & | B | ) | const |
[Elemento a elemento]Potencia asi mismo (A), elemento a elemento, con una matriz B y el resultado es cargado en C. Este método es similar al operador
[in] | B | La matriz a exponenciar |
Pds::Matrix Pds::Matrix::Pow | ( | double | val | ) | const |
[Elemento a elemento] Potencia asi mismo (A), elemento a elemento, con un valor val y el resultado es cargado en C. Este método es similar al operador
[in] | val | Valor a exponenciar |
Pds::Matrix Pds::Matrix::Geq | ( | double | b | ) | const |
[Elemento a elemento] Calcula con sigo mismo (A), si (A) es mayor que un valor b y el resultado es cargado en C. Este método es similar al operador >=
[in] | b | el valor a comparar |
Pds::Matrix Pds::Matrix::Geq | ( | Pds::Matrix | B | ) | const |
[Elemento a elemento] Calcula con sigo mismo (A), si (A) es mayor que un valor (B) y el resultado es cargado en C. Este método es similar al operador >=
[in] | B | Matriz a comparar |
Pds::Matrix Pds::Matrix::Leq | ( | double | b | ) | const |
[Elemento a elemento] Calcula con sigo mismo (A), si (A) es menor que un valor b y el resultado es cargado en C. Este método es similar al operador <=
[in] | b | el valor a comparar |
Pds::Matrix Pds::Matrix::Leq | ( | const Pds::Matrix & | B | ) | const |
[Elemento a elemento] Calcula con sigo mismo (A), si (A) es menor que un valor B y el resultado es cargado en C. Este método es similar al operador <=
[in] | B | Matriz a comparar |
Pds::Matrix Pds::Matrix::EqualTo | ( | double | b | ) | const |
[Elemento a elemento] Calcula con sigo mismo (A), si (A) es identico a un valor b y el resultado es cargado en C. Este método es similar al operador ==
[in] | b | el valor a comparar |
Pds::Matrix Pds::Matrix::EqualTo | ( | const Pds::Matrix & | B | ) | const |
[Elemento a elemento] Calcula con sigo mismo (A), si (A) es identico a un valor B y el resultado es cargado en C. Este método es similar al operador ==
[in] | B | Matriz a comparar |
Pds::Matrix Pds::Matrix::NotEqualTo | ( | double | b | ) | const |
[Elemento a elemento] Calcula con sigo mismo (A), si (A) no es identico a un valor b y el resultado es cargado en C. Este método es similar al operador !=
[in] | b | el valor a comparar |
Pds::Matrix Pds::Matrix::NotEqualTo | ( | const Pds::Matrix & | B | ) | const |
[Elemento a elemento] Calcula con sigo mismo (A), si (A) no es identico a un valor B y el resultado es cargado en C. Este método es similar al operador !=
[in] | B | Matriz a comparar |
Pds::Matrix Pds::Matrix::EqualToInf | ( | void | ) | const |
Verifica si la matriz tiene elementos con valores infinitos.
Los valores infinitos pueden producirse con .
Pds::Matrix Pds::Matrix::EqualToNan | ( | void | ) | const |
Verifica si la matriz tiene elementos con valores NAN (Not A Number).
Los valores NAN pueden producirse con .
Pds::Matrix Pds::Matrix::EqualToFinite | ( | void | ) | const |
Verifica si la matriz tiene elementos con valores finitos (no +inf, no -inf y no NAN).
Pds::Matrix& Pds::Matrix::operator-= | ( | double | b | ) |
Resta y acumula en si mismo (A), un valor b. Este operador es similar al método SubAssig()
[in] | b | El valor a substraer |
Pds::Matrix& Pds::Matrix::operator-= | ( | const Pds::Matrix & | B | ) |
Resta y acumula en si mismo (A), una matriz B. Este operador es similar al método SubAssig()
[in] | B | la matriz a substraer |
bool Pds::Matrix::SubAssig | ( | double | b | ) |
Resta y acumula en si mismo (A), un valor b. Este es similar al operador -=.
[in] | b | valor a substraer |
bool Pds::Matrix::SubAssig | ( | const Pds::Matrix & | B | ) |
Resta y acumula en si mismo (A), una matriz B. Este es similar al operador -=.
[in] | B | la matriz que substrae |
Pds::Matrix& Pds::Matrix::operator+= | ( | double | b | ) |
Suma y acumula en si mismo (A), un valor b. Este operador es similar al método AddAssig()
[in] | b | El valor a acumular |
Pds::Matrix& Pds::Matrix::operator+= | ( | const Pds::Matrix & | B | ) |
Suma y acumula en si mismo (A), una matriz B. Este operador es similar al método AddAssig()
[in] | B | la matriz a acumular |
bool Pds::Matrix::AddAssig | ( | double | b | ) |
Suma y acumula en si mismo (A), un valor b. Este es similar al perador +=.
[in] | b | Valor a acumular |
bool Pds::Matrix::AddAssig | ( | const Pds::Matrix & | B | ) |
Suma y acumula en si mismo (A), una matriz B. Este es similar al perador +=.
[in] | B | la matriz a acumular |
bool Pds::Matrix::AddAssig | ( | double | alpha, |
const Pds::Matrix & | B | ||
) |
Suma y acumula en si mismo (A), una matriz B.
[in] | alpha | Factor a acumular |
[in] | B | la matriz a acumular |
bool Pds::Matrix::AddAssig | ( | double | alpha, |
const Pds::Matrix & | B, | ||
double | beta, | ||
const Pds::Matrix & | C | ||
) |
Suma y acumula en si mismo (A), una matriz B.
[in] | alpha | Factor a acumular |
[in] | B | la matriz a acumular |
[in] | beta | Factor a acumular |
[in] | C | la matriz a acumular |
bool Pds::Matrix::AddAssigAt | ( | unsigned int | lin, |
unsigned int | col, | ||
const Pds::Matrix & | B | ||
) |
Suma y acumula en si mismo (A), una matriz B desde un punto (lin,col) haciendo una intersección.
[in] | lin | Suma desde esta linea |
[in] | col | Suma desde esta columna |
[in] | B | la matriz a acumular |
Pds::Matrix& Pds::Matrix::operator*= | ( | double | b | ) |
Multiplica y acumula en si mismo (A), un valor b. Este operador es similar al método MulAssig()
[in] | b | El valor a acumular |
Pds::Matrix& Pds::Matrix::operator*= | ( | const Pds::Matrix & | B | ) |
Multiplica y acumula en si mismo (A), una matriz B. Este operador es similar al método MulAssig()
[in] | B | El valor a acumular |
bool Pds::Matrix::MulAssig | ( | double | b | ) |
Multiplica y acumula en si mismo (A), un valor b. Este es similar al operador *=.
[in] | b | Valor a acumular |
bool Pds::Matrix::MulAssig | ( | const Pds::Matrix & | B | ) |
Multiplica y acumula en si mismo (A), una matriz B. Este es similar al operador *=.
[in] | B | Valor a acumular |
Pds::Matrix& Pds::Matrix::operator= | ( | const Pds::Matrix & | B | ) |
Copia en si mismo (A), una matriz B. Este operador es similar al método Copy(). No importa el tamaño de A, sus datos son liberados y un nuevo arreglo de datos es reservado.
Cuando acontece:
Cuando NO acontece:
[in] | B | la matriz a copiar |
bool Pds::Matrix::Copy | ( | const Pds::Matrix & | B | ) |
Copia en si mismo (A), el contenido de una matriz B. 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 |
Pds::Matrix& Pds::Matrix::operator= | ( | double | val | ) |
Copia en si mismo (A), el valor val. Este operador es similar al método Copy(). No importa el tamaño de A, sus datos son liberados y un nuevo arreglo de datos de 1x1 es reservado.
Cuando acontece:
Cuando NO acontece:
[in] | val | El valor a copiar |
bool Pds::Matrix::Copy | ( | double | val | ) |
Copia en si mismo (A), el valor val. 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 de 1x1 es reservado.
[in] | val | El valor a copiar |
Pds::Matrix& Pds::Matrix::operator= | ( | const Pds::Array< Datum > & | B | ) |
Copia en si mismo (A), una array B. Este operador es similar al método Copy(). No importa el tamaño de A, sus datos son liberados y un nuevo arreglo de datos es reservado.
Cuando acontece:
[in] | B | El array a copiar |
bool Pds::Matrix::Copy | ( | const Pds::Array< Datum > & | B | ) |
Copia en si mismo (A), el contenido de una Array B. 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 |
Pds::Matrix Pds::Matrix::MultipleMse | ( | const Pds::Matrix & | B | ) | const |
Calcula el error quadrático medio de cada linea de A con cada linea de B.
El elemento indica el error quadrático medio de la linea de con la linea de .
[in] | B | Matriz a comparar. |
Pds::Matrix Pds::Matrix::MultipleMse | ( | const std::vector< Pds::Matrix > & | Block | ) | const |
Calcula el error quadrático medio de cada linea de A con cada muestra en el bloque Block.
El elemento indica el error quadrático medio de la linea de con la muestra de .
La matriz A debe tener N columnas y el bloque Block debe estar compuesto de N matrices.
[in] | Block | Bloque de N matrices a comparar. |
Pds::Array<unsigned int> Pds::Matrix::IdInMultipleMse | ( | const Pds::Matrix & | B | ) | const |
Calcula que linea de A es mas cercana a cada linea de B.
El elemento constiene la linea A que esta mas cercana a la linea de . La lineas son comparadas usando distancia euclidiana.
[in] | B | Matriz a comparar. |
Pds::Array<unsigned int> Pds::Matrix::IdInMultipleMse | ( | const std::vector< Pds::Matrix > & | Block | ) | const |
Calcula que linea de A es mas cercana a cada muestra de Block.
El elemento constiene la linea A que esta mas cercana a la muestra de . La lineas son comparadas usando distancia euclidiana.
[in] | Block | Bloque de N matrices a comparar. |
|
static |
crea dinámicamente un arreglo de A.Nlin() lineas y A.Ncol() columnas, con los datos copiados de aplicar func(A).
[in] | func | Función a aplicar, esta debe tener a forma double func(double). |
[in] | A | Matriz de donde se copiaran datos. |
|
static |
crea dinámicamente un arreglo de A.Nlin() lineas y A.Ncol() columnas, con los datos copiados de aplicar func(A,var).
[in] | func | Función a aplicar, esta debe tener a forma double func(double). |
[in] | A | Matriz de donde se copiaran datos. |
[in] | var | Variable a evaluar. |
|
static |
crea dinámicamente un arreglo de A.Nlin() lineas y A.Ncol() columnas, con los datos copiados de aplicar func(A,B). Los tamaño de A y B son similares.
[in] | func | Función a aplicar, esta debe tener a forma double func(double,double). |
[in] | A | Matriz de donde se copiaran datos. |
[in] | B | Matriz de donde se copiaran datos. |
|
static |
crea dinámicamente un arreglo de A.Nlin() lineas y A.Ncol() columnas, con los datos copiados de aplicar func(A,B,var). Los tamaño de A y B son similares.
[in] | func | Función a aplicar, esta debe tener a forma double func(double,double,double). |
[in] | A | Matriz de donde se copiaran datos. |
[in] | B | Matriz de donde se copiaran datos. |
[in] | var | Tercer valor a evaluar. |
|
static |
crea dinámicamente un arreglo de A.Nlin() lineas y A.Ncol() columnas, con los datos copiados de aplicar func(A,B,C). Los tamaño de A, B y C son similares.
[in] | func | Función a aplicar, esta debe tener a forma double func(double,double,double). |
[in] | A | Matriz de donde se copiaran datos. |
[in] | B | Matriz de donde se copiaran datos. |
[in] | C | Matriz de donde se copiaran datos. |
|
static |
crea dinámicamente un arreglo de A.Nlin() lineas y A.Ncol() columnas, con los datos copiados de aplicar func(A,B,C,var). Los tamaño de A, B y C son similares.
[in] | func | Función a aplicar, esta debe tener a forma double func(double,double,double,double). |
[in] | A | Matriz de donde se copiaran datos. |
[in] | B | Matriz de donde se copiaran datos. |
[in] | C | Matriz de donde se copiaran datos. |
[in] | var | Cuarto valor a evaluar. |
|
static |
crea dinámicamente un arreglo de A.Nlin() lineas y A.Ncol() columnas, con los datos copiados de aplicar func(A,B,C,D). Los tamaño de A, B, C y D son similares.
[in] | func | Función a aplicar, esta debe tener a forma double func(double,double,double,double). |
[in] | A | Matriz de donde se copiaran datos. |
[in] | B | Matriz de donde se copiaran datos. |
[in] | C | Matriz de donde se copiaran datos. |
[in] | D | Matriz de donde se copiaran datos. |
std::ostream& operator<< | ( | std::ostream & | out, |
const Pds::Matrix & | mat | ||
) |
Retorna el contenido de la matriz por la salida estándar.
es equivalente a :
[in] | out | La salida |
[in] | mat | La matriz a mostrar |
Pds::Matrix operator+ | ( | double | b, |
const Pds::Matrix & | A | ||
) |
Suma b con (A), el resultado es cargado en C. Este operador es similar al método Add()
[in] | b | El valor a sumar |
[in] | A | matriz a sumar |
Pds::Matrix operator- | ( | double | b, |
const Pds::Matrix & | A | ||
) |
Resta b con (A), el resultado es cargado en C. Este operador es similar al método Add()
[in] | b | El valor a operar |
[in] | A | matriz a restar |
Pds::Matrix operator* | ( | double | b, |
const Pds::Matrix & | A | ||
) |
Multiplica b con (A), el resultado es cargado en C. Este operador es similar al método Mul()
[in] | b | El valor a operar |
[in] | A | matriz a multiplicar |
Pds::Matrix operator/ | ( | double | b, |
const Pds::Matrix & | A | ||
) |
Divide b con (A), elemento a elemento y el resultado es cargado en C. Este operador es similar al método DivSelf()
[in] | b | El valor a operar |
[in] | A | matriz a dividir |
Pds::Matrix::~Matrix | ( | ) |
bool Pds::Matrix::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. 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. |