32 #ifndef __PDS_CMATRIX_HPP__
33 #define __PDS_CMATRIX_HPP__
38 #include <Pds/Complex>
172 return Pds::Complex(this->Real.Get(
id),this->Imag.Get(
id));
185 return Pds::Complex(this->Real.GetRaw(lin,col),this->Imag.GetRaw(lin,col));
198 this->Real.SetRaw(lin,col,val.
Real);
199 this->Imag.SetRaw(lin,col,val.
Imag);
248 bool Copy(
const Pds::Matrix &A);
744 unsigned int Nel(
void)
const;
792 void Print(std::string str=
"")
const;
La clase tipo Pds::CMatrix . Esta clase genera un objeto con dos parametros Nlin y Ncol....
La clase tipo Pds::CVector . Esta clase genera una matriz de Nlin lineas y 1 columna....
La clase tipo Pds::Complex . Esta clase genera un objeto con dos parametros Nlin y Ncol....
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,...
Pds::CMatrix operator+(void) const
Retorna un numero complejo igual a si mismo (A).
Pds::CMatrix Add(const Pds::CMatrix &B) const
[Elemento a elemento] Suma con sigo mismo (A) una matriz compleja B.
CMatrix(Pds::Complex func(const Pds::Complex &a, const Pds::Complex &b), const Pds::CMatrix &A, const Pds::CMatrix &B)
Crea un objeto de tipo Pds::CMatrix operando datos desde otras.
bool IsNotSimilarTo(const Pds::CMatrix &B) const
Verifica si la matriz no es simliar a B.
Pds::Size Size(void) const
Retorna el tamaño de si mismo (A).
Pds::CMatrix Sub(const Pds::CMatrix &B) const
[Elemento a elemento] Resta con sigo mismo (A) una matriz compleja B.
unsigned int Nel(void) const
Retorna el número de elementos de si mismo (A).
Pds::Complex operator[](const unsigned int &id) const
Retorna el valor en cada posicion de la matriz (solo lectura). Hace una verificación si el indice exi...
Pds::CMatrix Mul(const Pds::Complex &c) const
[Elemento a elemento] Multiplica con sigo mismo (A) un número complejo c.
bool SetRowVector(unsigned int lin, const Pds::CVector &X)
Copia un vector en una linea de la matriz.
Pds::CMatrix Sub(const Pds::Complex &c) const
[Elemento a elemento] Resta con sigo mismo (A) un número real c.
unsigned int Ncol(void) const
Retorna el número de columnas de si mismo (A).
Pds::CMatrix Pow(const Pds::CMatrix &B) const
[Elemento a elemento] Eleva con sigo mismo (A) un exponente matriz compleja B.
void SetRaw(unsigned int lin, unsigned int col, const Pds::Complex &val)
Establece una variable Datum en la posición (lin,col) de la matriz.
Pds::Matrix Module2(void) const
Retorna el modulo al cuadrado de si mismo (A).
Pds::CMatrix operator-(void) const
Retorna un numero complejo igual al negativo de si mismo (A).
CMatrix(unsigned int Nlin, unsigned int Ncol, double valr, double vali)
Crea un objeto matriz de tipo Pds::CMatrix.
CMatrix(unsigned int Nlin, unsigned int Ncol, double val)
Crea un objeto matriz de tipo Pds::CMatrix.
Pds::CMatrix operator*(double a, const Pds::CMatrix &B)
Multiplica con a una matriz compleja B.
Pds::CMatrix Div(double b) const
[Elemento a elemento] Divide con sigo mismo (A) un número real b.
Pds::CMatrix Add(double b) const
[Elemento a elemento] Suma con sigo mismo (A) un número real b.
bool IsEmpty(void) const
Verifica si la matriz está vacia.
Pds::CMatrix Div(const Pds::CMatrix &B) const
[Elemento a elemento] Divide con sigo mismo (A) una matriz compleja B.
unsigned int Nlin(void) const
Retorna el número de lineas si mismo (A).
Pds::CMatrix Add(const Pds::Complex &c) const
[Elemento a elemento] Suma con sigo mismo (A) un número real c.
bool Polar(const Pds::Matrix &Module, const Pds::Matrix &Angle)
Carga el matriz compleja indicando el módulo y el ángulo.
bool Rect(const Pds::Matrix &Real, const Pds::Matrix &Imag)
Carga el matriz compleja indicando la parte real e imaginaria.
bool Copy(const Pds::CMatrix &A)
Copia los datos de la matriz.
CMatrix(unsigned int Nlin, unsigned int Ncol)
Crea un objeto matriz de tipo Pds::CMatrix.
Pds::CMatrix Div(const Pds::Matrix &B) const
[Elemento a elemento] Divide con sigo mismo (A) una matriz real B.
Pds::Matrix Angle(void) const
Retorna el ángulo (fase o argumento) de si mismo (A).
bool Copy(const Pds::Matrix &A)
Copia los datos de la matriz.
CMatrix(const Pds::CMatrix &B)
Crea un objeto de tipo Pds::CMatrix copiando datos desde otra.
void Print(std::string str="") const
Muestra en pantalla el contenido de Pds::CMatrix, elementos separados por tabulador.
void MakeEmpty(void)
libera los datos internos de la matriz y la convierte en una matriz nula. es decir con lineas y colum...
bool HasNan(void) const
Verifica si el número complexo tiene algun valor NAN (Not A Number).
Pds::Complex GetRaw(unsigned int lin, unsigned int col) const
Retorna una variable Datum en la posición (lin,col) de la matriz.
Pds::CMatrix & operator=(const Pds::CMatrix &B)
Copia en si mismo (A), una matriz B. Este operador es similar al método Copy(). No importa el tamaño ...
CMatrix(unsigned int Nlin, unsigned int Ncol, const Pds::Complex &C)
Crea un objeto matriz de tipo Pds::CMatrix.
Pds::CMatrix Conj(void) const
Retorna el conjugado de si mismo (A).
Pds::CMatrix Mul(const Pds::CMatrix &B) const
Multiplica con sigo mismo (A) una matriz compleja B.
Pds::CMatrix operator-(double a, const Pds::CMatrix &B)
Resta con a una matriz compleja B.
Pds::CMatrix operator/(const Pds::CMatrix &B) const
[Elemento a elemento] Divide con sigo mismo (A) una matriz compleja B.
Pds::CMatrix Mul(double b) const
[Elemento a elemento] Multiplica con sigo mismo (A) un número real b.
Pds::CMatrix operator/(double a, const Pds::CMatrix &B)
Divide con a una matriz compleja B.
CMatrix(void)
Crea un objeto matriz de tipo Pds::CMatrix Una matriz compleja vacia.
Pds::CMatrix operator+(double a, const Pds::CMatrix &B)
Suma con a una matriz compleja B.
Pds::CMatrix Pow(double b) const
[Elemento a elemento] Eleva con sigo mismo (A) un exponente real b.
CMatrix(const Pds::Matrix &Real, const Pds::Matrix &Imag)
Crea un objeto matriz de tipo Pds::CMatrix.
Pds::CMatrix Plus(void) const
Retorna un numero complejo igual a si mismo (A).
Pds::CMatrix operator*(const Pds::CMatrix &B) const
Multiplica con sigo mismo (A) una matriz compleja B.
Pds::CMatrix Minus(void) const
Retorna un numero complejo igual al negativo de si mismo (A).
Pds::Matrix Module(void) const
Retorna el modulo de si mismo (A).
Pds::CMatrix Div(const Pds::Complex &c) const
[Elemento a elemento] Divide con sigo mismo (A) un número real c.
Pds::CMatrix Sub(double b) const
[Elemento a elemento] Resta con sigo mismo (A) un número real b.
Pds::CMatrix Product(const Pds::CMatrix &B) const
[Elemento a elemento] Multiplica con sigo mismo (A) elemento a elemento una matriz compleja B.
Nombre de espacion para PDS (Procesamiento Digital de Senales)