Home | Develop | Download | Contact
Atributos privados | Amigas
Referencia de la Clase 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...

#include <Matrix.hpp>

Diagrama de herencias de Pds::Matrix
Inheritance graph
Diagrama de colaboración para Pds::Matrix:
Collaboration graph

Métodos públicos

Constructores

Crean una objeto Pds::Matrix

 Matrix (void)
 Crea un objeto de tipo Pds::Matrix vacio. Más...
 
 Matrix (unsigned int N)
 Crea un objeto de tipo Pds::Matrix de N lineas y N columnas, con elementos inicializados con cero. Más...
 
 Matrix (const Pds::Size &S)
 Crea un objeto de tipo Pds::Matrix con elementos inicializados con cero. Más...
 
 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 >
 Matrix (const Pds::Array< Datum > &B)
 Crea un objeto de tipo Pds::Matrix copiando datos desde un arreglo. Más...
 
 Matrix (const char *str)
 Crea un objeto de tipo Pds::Matrix copiando datos desde una cadena. Más...
 
 Matrix (unsigned int Nlin, unsigned int Ncol)
 Crea un objeto de tipo Pds::Matrix con elementos inicializados con cero. Más...
 
 Matrix (unsigned int Nlin, unsigned int Ncol, double val)
 Crea un objeto de tipo Pds::Matrix con elementos inicializados con val. Más...
 
 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...
 
 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...
 
 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...
 
 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...
 
 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...
 
 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...
 
 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...
 
 Matrix (Pds::Ra::FormatType Type, std::string filepath)
 Crea un objeto de tipo Pds::Matrix copiando datos desde un archivo. Más...
 
 ~Matrix ()
 
Métodos de estado

Indican o establecen el estado de una matriz.

bool IsEmpty (void) const
 Verifica si la matriz es nula es decir con lineas o columnas cero o arreglo NULL. Más...
 
bool 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 IsSimilarTo (const Pds::Matrix &B) const
 Verifica si las matrices son similares en tamaño. Más...
 
bool IsNotSimilarTo (const Pds::Matrix &B) const
 Verifica si las matrices son similares en tamaño. Más...
 
bool IsMulBy (const Pds::Matrix &B) const
 Verifica si las matrices son multiplicables. Más...
 
bool IsNotMulBy (const Pds::Matrix &B) const
 Verifica si las matrices son multiplicables. Más...
 
bool IsInRange (unsigned int lin, unsigned int col) const
 Verifica si la posición pertenece a la matriz. Más...
 
bool IsNotInRange (unsigned int lin, unsigned int col) const
 Verifica si la posición NO pertenece a la matriz. Más...
 
bool IsInSizeRange (double lin, double col) const
 Verifica si la posición (lin,col) pertenece al rango de la matriz. Más...
 
bool IsRowMatrix (void) const
 Verifica si la matriz tiene solo una linea. Más...
 
bool IsColMatrix (void) const
 Verifica si la matriz tiene solo una columna. Más...
 
bool IsZero (void) const
 Verifica si la matriz está llena de zeros. Más...
 
bool IsLeq (double val) const
 Verifica si cada elemento de la matriz es menor a el valor val. Más...
 
bool 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 IsGeq (double val) const
 Verifica si cada elemento de la matriz es mayor a el valor val. Más...
 
bool 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 IsEqualTo (double val) const
 Verifica si cada elemento de la matriz es igual a el valor val. Más...
 
bool 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 HasInf (void) const
 Verifica si la matriz tiene algun valor infinito. Más...
 
bool HasNan (void) const
 Verifica si la matriz tiene algun valor NAN (Not A Number). Más...
 
bool HasNotFinite (void) const
 Verifica si la matriz tiene elementos no finitos (+inf, -inf y NAN). Más...
 
Métodos de inicialización

Establecen los valores de las matrices.

bool FillRandC (double p1)
 Inicializa la matriz con números aleatórios unos y ceros, la probabilidad de 1 es p1. Más...
 
bool 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 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 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 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 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 FillId (void)
 Inicializa la matriz con el valor de la posición de cada elemento. Más...
 
bool Fill (double val)
 Inicializa la matriz con un valor constante. Más...
 
bool 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

Herramientas genéricas para lectura y escritura de datos.

unsigned int Nlin (void) const
 Retorna el numero de lineas de la matriz. Más...
 
unsigned int Ncol (void) const
 Retorna el numero de columnas de la matriz. Más...
 
unsigned int Nel (void) const
 Retorna el numero de elementos de la matriz (Nlin x Ncol). Más...
 
Pds::Size Size (void) const
 Retorna un objeto de tipo Pds::Size con el numero de lineas y columans. Más...
 
unsigned int LinEnd (void) const
 Retorna el identificador de la ultima linea de la matriz. Más...
 
unsigned int ColEnd (void) const
 Retorna el identificador de la ultima columna de la matriz. Más...
 
unsigned int End (void) const
 Retorna el identificador del ultimo elemento de la matriz. Más...
 
Métodos get y set de elementos

Herramientas genéricas para lectura y escritura de datos.

double 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 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 & GetRaw (unsigned int lin, unsigned int col) const
 Retorna una variable double en la posición (lin,col) de la array. Más...
 
void 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 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 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 & 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 & 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 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

Herramientas genericas para lectura y escritura de datos.

Pds::Vector GetDiagonal (void) const
 Retorna un vector columna copia de los valores de la diagonal de la matriz. Más...
 
bool 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 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 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 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 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 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 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 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 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 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 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 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 GetRowsRand (unsigned int N) const
 Retorna una sub matriz escojiendo N lineas aleatoriamente (sin repetición). Más...
 
Pds::Matrix GetColsRand (unsigned int N) const
 Retorna una sub matriz escojiendo N columnas aleatoriamente (sin repetición). Más...
 
bool SetRowValue (unsigned int lin, double value)
 Copia un valor en una linea de la matriz. Más...
 
bool SetRowVector (unsigned int lin, const Pds::Vector &X)
 Copia un vector en una linea de la matriz. Más...
 
bool SetColValue (unsigned int col, double value)
 Copia un valor en una columna de la matriz. Más...
 
Pds::Vector GetRowAsColVector (unsigned int lin) const
 Retorna un vector columna copia de una linea de la matriz. Más...
 
Pds::Vector GetColVector (unsigned int col) const
 Retorna un vector columna copia de una columna de la matriz. Más...
 
bool 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 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 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

operaciones con lineas

bool 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 RowMulAssig (unsigned int lin, double alpha)
 Multiplica la linea lin por alpha. Más...
 
bool RowDivAssig (unsigned int lin, double alpha)
 Divide la linea lin por alpha. Más...
 
bool RowSwap (unsigned int lin1, unsigned int lin2)
 Intercambia los valores de las lineas de una matriz. Más...
 
int 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 RowReduction (void)
 Convierte la matriz en una matriz reducida. Más...
 
Métodos estadísticos

Herramientas genéricas

double Sum (void) const
 Calcula el valor de la suma de elementos de la matriz. Más...
 
double Mean (void) const
 Calcula el valor medio de la matriz. Más...
 
double Var (double *mean=NULL) const
 Calcula el valor de la varianza de la matriz. Más...
 
double Std (double *mean=NULL) const
 Calcula el valor del desvío padrón de la matriz. Más...
 
double MaxAbs (unsigned int *id=NULL) const
 Calcula el máximo valor del valor absoluto de la matriz. Más...
 
double MinAbs (unsigned int *id=NULL) const
 Calcula el mínimo valor del valor absoluto de la matriz. Más...
 
double Max (unsigned int *id=NULL) const
 Calcula el máximo valor de la matriz. Más...
 
double Min (unsigned int *id=NULL) const
 Calcula el mínimo valor de la matriz. Más...
 
Pds::Matrix MinInCols (std::vector< unsigned int > &Lin) const
 Calcula el mínimo en cada columna de la matriz. Más...
 
Pds::Matrix MinInCols (Pds::Array< unsigned int > &Lin) const
 Calcula el mínimo en cada columna de la matriz. Más...
 
double R2 (const Pds::Matrix &Y) const
 Calcula el coeficiente de determinación o $R^2$. Más...
 
double Rf (const Pds::Matrix &Y) const
 Calcula o $RF$. Más...
 
double Mape (const Pds::Matrix &B) const
 Calcula el error absoluto medio porcentual (Mean Absolute Percentage Error) de una matriz. Más...
 
Métodos Digital Signal Processing

Herramientas genéricas

double Corr (const Pds::Matrix &B) const
 Calcula la correlación de Pearson con la matriz. Más...
 
Pds::Matrix XCorr (const Pds::Matrix &B, bool Same=false) const
 Calcula la correlacion cruzada entre A y B. Más...
 
Pds::Matrix FilterMean3 (void) const
 Procesa la matriz A usando un filtro mean de radio 1. Más...
 
Pds::Matrix FilterMean3b (void) const
 Procesa la matriz A usando un filtro mean de radio 1. Más...
 
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

Herramientas genéricas

double Det (void) const
 Calcula la determinante. Más...
 
double Dot (const Pds::Matrix &B) const
 Calcula el producto punto entre dos matrices. Más...
 
double Rms (void) const
 Calcula valor raiz quadrático medio de una matriz. Más...
 
double MeanAbsolute (void) const
 Calcula valor absoluto medio de una matriz. Más...
 
double MeanSquare (void) const
 Calcula valor quadrático medio de una matriz. Más...
 
double SumSquare (void) const
 Calcula valor de la suma quadrática de una matriz. Más...
 
double Norm (void) const
 Calcula la 2-norm de una matriz (Frobenius norm). Más...
 
double PNorm1 (void) const
 Calcula la 1-norm de un vector. Más...
 
double PNormInf (void) const
 Calcula la inf-norm de una matriz. Más...
 
Pds::Vector Multiindex (const Pds::Vector &d) const
 Dada una matriz $\mathbf{X}=\left[\mathbf{x}_1,\quad \mathbf{x}_2,\quad ...,\quad \mathbf{x}_n,\quad ...,\quad \mathbf{x}_N\right]$ es calculado el vector $\mathbf{\overline{X}}^{\mathbf{d}}$. Más...
 
Métodos para find

Herramientas genéricas

std::vector< unsigned int > Find (void) const
 Retorna una lista de indices donde existe un 1 en la matriz A. Más...
 
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 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...
 
Métodos para aplicar operaciones

Herramientas genéricas

bool Apply (double(*func)(double))
 Aplica la función func a cada elemento de la matriz. Más...
 
bool Apply (double(*func)(double), Pds::Matrix &B)
 Aplica la función func a cada elemento de la matriz. Más...
 
bool Apply (double(*func)(double, double), double var)
 Aplica la función func a cada elemento de la matriz. Más...
 
bool 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 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

Herramientas genéricas

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 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 Scale (double minval, double maxval) const
 Rescala linearmente los datos desde minval a maxval. Más...
 
Pds::Matrix Round (unsigned int decimal=0) const
 Retorna una matriz con los valores redondeados. Más...
 
Métodos con regiones con Pds::Matrix.

Herramientas genéricas

bool 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 InitRegion (Pds::RegionRect R, double val)
 Inicializa la región R de la matriz con el valor val. Más...
 
Pds::RegionRect GetRegion (void) const
 Retorna una variable Pds::RegionRect desde la posicion (0,0), con ancho y alto (Mat.Nlin(),Mat.Ncol()). Más...
 
bool 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 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 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 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 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 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 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 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 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.

Herramientas genéricas

std::string ToString (void) const
 Convierte los datos de la matriz en un std::string. Más...
 
void Print (std::string str) const
 Imprime en pantalla el contenido de la matriz después del texto indicado en str. Más...
 
void Print (void) const
 Imprime en pantalla el contenido de la matriz. Más...
 
Métodos para reordenar memoria con Pds::Matrix.

Herramientas genéricas

void 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 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 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 SaveInStream (std::ofstream &myfile) const
 Escribe en un archivo de texto el contenido de la matriz. Más...
 
bool 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 Save (const char *filepath) const
 Escribe en un archivo de texto el contenido de la matriz. Más...
 
bool Load (const char *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 ExportCsvFile (const char *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 ExportMatFile (const char *pname, const char *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 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...
 
Operadores unarios y sus métodos equivalentes con Pds::Matrix.

Descripción de algunos operadores habilitados a trabajar con Pds::Matrix.

Pds::Matrix T (void) const
 Transpuesta de si mismo (A), el resultado es cargado en B. Más...
 
Pds::Matrix MtM (void) const
 Retorna A.T()*A cargado en B. Más...
 
Pds::Matrix Inv (double *rcond=NULL) const
 Retorna la matriz inversa. Más...
 
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 DivSelf (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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 EqualToInf (void) const
 Verifica si la matriz tiene elementos con valores infinitos. Más...
 
Pds::Matrix EqualToNan (void) const
 Verifica si la matriz tiene elementos con valores NAN (Not A Number). Más...
 
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::Matrixoperator-= (double b)
 Resta y acumula en si mismo (A), un valor b. Este operador es similar al método SubAssig() Más...
 
Pds::Matrixoperator-= (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 SubAssig (double b)
 Resta y acumula en si mismo (A), un valor b. Este es similar al operador -=. Más...
 
bool SubAssig (const Pds::Matrix &B)
 Resta y acumula en si mismo (A), una matriz B. Este es similar al operador -=. Más...
 
Pds::Matrixoperator+= (double b)
 Suma y acumula en si mismo (A), un valor b. Este operador es similar al método AddAssig() Más...
 
Pds::Matrixoperator+= (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 AddAssig (double b)
 Suma y acumula en si mismo (A), un valor b. Este es similar al perador +=. Más...
 
bool AddAssig (const Pds::Matrix &B)
 Suma y acumula en si mismo (A), una matriz B. Este es similar al perador +=. Más...
 
bool AddAssig (double alpha, const Pds::Matrix &B)
 Suma y acumula en si mismo (A), una matriz B. Más...
 
bool 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 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::Matrixoperator*= (double b)
 Multiplica y acumula en si mismo (A), un valor b. Este operador es similar al método MulAssig() Más...
 
Pds::Matrixoperator*= (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 MulAssig (double b)
 Multiplica y acumula en si mismo (A), un valor b. Este es similar al operador *=. Más...
 
bool MulAssig (const Pds::Matrix &B)
 Multiplica y acumula en si mismo (A), una matriz B. Este es similar al operador *=. Más...
 
Pds::Matrixoperator= (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 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::Matrixoperator= (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 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::Matrixoperator= (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 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 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 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 > 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 > 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 públicos estáticos

Métodos Static con Matrices con Pds::Matrix.

Herramientas genéricas que pueden ser usadas desde Pds::Matrix

static Pds::Matrix GetSamples (const std::vector< Pds::Matrix > &Block)
 Convierte algunas muestras de un bloque (std::vector<Pds::Matrix>) de N matrices (Pds::Matrix) de L elementos, en una matriz Pds::Matrix(L,N). Más...
 
static 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 FromString (const std::string &str)
 Convierte un sdt::string a una Matriz de Nlin lineas y Ncol columnas. Más...
 
static bool 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::MatrixImportBmpFile (const std::string &bmpfilename)
 Lee matrices de un archivo binario en formato BMP. Más...
 
static 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...
 
Métodos Static con arrays

Herramientas genéricas que pueden ser usadas desde Pds::Matrix

static double ** 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 ** 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 ** 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 ** 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 ** 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 ** 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 ** 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...
 

Atributos privados

double ** array
 
unsigned int nlin
 
unsigned int ncol
 

Amigas

class CMatrix
 
class Vector
 
class Array< double >
 
class Array< unsigned int >
 
class Array< unsigned char >
 

Descripción detallada

La clase tipo Pds::Matrix . Esta clase genera una matriz de Nlin lineas y Ncol columnas. Para usar incluir Pds/Matrix.

Autor
Fernando Pujaico Rivera
Ejemplos
example_matrix_algebra.cpp, example_matrix_assignment.cpp, example_matrix_create.cpp, example_matrix_export.cpp, example_matrix_fill.cpp, example_matrix_getset.cpp, example_matrix_getset_extras.cpp, example_vector_create.cpp y example_vector_poly.cpp.

Definición en la línea 85 del archivo Matrix.hpp.

Documentación de las funciones relacionadas y clases amigas

◆ CMatrix

friend class CMatrix
friend

Definición en la línea 95 del archivo Matrix.hpp.

◆ Vector

friend class Vector ( void  )
friend

Definición en la línea 96 del archivo Matrix.hpp.

◆ Array< double >

friend class Array< double >
friend

Definición en la línea 96 del archivo Matrix.hpp.

◆ Array< unsigned int >

friend class Array< unsigned int >
friend

Definición en la línea 96 del archivo Matrix.hpp.

◆ Array< unsigned char >

friend class Array< unsigned char >
friend

Definición en la línea 96 del archivo Matrix.hpp.

Documentación de los campos

◆ array

double** Pds::Matrix::array
private

Un arreglo de Nlin lineas y Ncol elementos por linea.

Definición en la línea 89 del archivo Matrix.hpp.

Referenciado por Pds::Vector::ElementAddAssigRaw(), Pds::Vector::GetRaw(), Pds::Vector::operator[]() y Pds::Vector::SetRaw().

◆ nlin

unsigned int Pds::Matrix::nlin
private

Número de lineas.

Definición en la línea 91 del archivo Matrix.hpp.

◆ ncol

unsigned int Pds::Matrix::ncol
private

Número de columnas.

Definición en la línea 93 del archivo Matrix.hpp.

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed