Funciónes que usan Pds::Matrix, Ejemplo: Pds::Diag(), Pds::Eye(), Pds::Ones(), Pds::Zeros(), etc. Más...
Namespaces | |
namespace | Pds |
Nombre de espacio para Pds (Procesamiento Digital de Senales) | |
funciónes generadoras de superficies | |
Descripción de algunas funciónes que usan Pds::Matrix. | |
Pds::Matrix | Pds::Peaks (unsigned int N, double L=3) |
Crea una matriz de con datos correspondientes a la función , donde y . Más... | |
Pds::Matrix | Pds::Mountain (unsigned int N, double L=2) |
Crea una matriz de con datos correspondientes a la función , donde y . Más... | |
bool | Pds::Meshgrid (const Pds::Vector &SpaceX, const Pds::Vector &SpaceY, Pds::Matrix &X, Pds::Matrix &Y) |
Crea una matriz e una , a partir de los datos en y , respectivamente. Más... | |
bool | Pds::Meshgrid (const Pds::Vector &SpaceR, Pds::Matrix &X, Pds::Matrix &Y) |
Crea una matriz e una , a partir de los datos en . Más... | |
Pds::Matrix | Pds::Operate (double(*func)(double x, double y), const Pds::Matrix &X, const Pds::Matrix &Y) |
Crea una matriz aplicando la función , elemento a elemento sobre las matrices y . Más... | |
Pds::Matrix | Pds::Operate (double(*func)(double x, double y, double z), const Pds::Matrix &X, const Pds::Matrix &Y, const Pds::Matrix &Z) |
Crea una matriz aplicando la función , elemento a elemento sobre las matrices , y . Más... | |
funciónes con matrices especiales | |
Descripción de algunas funciónes que usan Pds::Matrix. | |
Pds::Matrix | Pds::MatrixId (unsigned int N) |
Crea una matriz con datos correspondentes ao Id de cada elemento. Más... | |
Pds::Matrix | Pds::MatrixId (const Pds::Size &S) |
Crea una matriz con datos correspondentes ao Id de cada elemento. Más... | |
Pds::Matrix | Pds::MatrixId (unsigned int Nlin, unsigned int Ncol) |
Crea una matriz con datos correspondentes ao Id de cada elemento. Más... | |
Pds::Matrix | Pds::RandN (unsigned int N) |
Crea una matriz con datos aleatórios con distribución Normal de media cero 0.0 y desvío padrón 1.0. Más... | |
Pds::Matrix | Pds::RandN (const Pds::Size &S) |
Crea una matriz con datos aleatórios con distribución Normal de media cero 0.0 y desvío padrón 1.0. Más... | |
Pds::Matrix | Pds::RandN (unsigned int Nlin, unsigned int Ncol) |
Crea una matriz con datos aleatórios con distribución Normal de media cero 0.0 y desvío padrón 1.0. Más... | |
Pds::Matrix | Pds::RandU (unsigned int N) |
Crea una matriz con datos aleatórios uniformemente distribuidos entre 0.0 y 1.0. Más... | |
Pds::Matrix | Pds::RandU (const Pds::Size &S) |
Crea una matriz con datos aleatórios uniformemente distribuidos entre 0.0 y 1.0. Más... | |
Pds::Matrix | Pds::RandU (unsigned int Nlin, unsigned int Ncol) |
Crea una matriz con datos aleatórios uniformemente distribuidos entre 0.0 y 1.0. Más... | |
Pds::Matrix | Pds::RandC (unsigned int N, double p=0.5) |
Crea una matriz con datos aleatórios binários {0.0, 1.0} con P(1)=p. Más... | |
Pds::Matrix | Pds::RandC (const Pds::Size &S, double p=0.5) |
Crea una matriz con datos aleatórios binários {0.0, 1.0} con P(1)=p. Más... | |
Pds::Matrix | Pds::RandC (unsigned int Nlin, unsigned int Ncol, double p) |
Crea una matriz con datos aleatórios binários {0.0, 1.0} con P(1)=p. Más... | |
Pds::Matrix | Pds::Diag (Matrix A) |
Retorna una matriz diagonal usando los dats de tra matriz, se lee primero todos los elementos de una columna y lueg se pasa a la siguiente. Más... | |
Pds::Matrix | Pds::Eye (unsigned int N) |
Retorna una matriz con unos en la diagonal y el resto ceros. Más... | |
Pds::Matrix | Pds::Ones (const Pds::Size &S) |
Retorna una matriz con unos. Más... | |
Pds::Matrix | Pds::Ones (unsigned int Nlin, unsigned int Ncol) |
Retorna una matriz con unos. Más... | |
Pds::Matrix | Pds::Ones (unsigned int N) |
Retorna una matriz con unos. Más... | |
Pds::Matrix | Pds::Zeros (const Pds::Size &S) |
Retorna una matriz con ceros. Más... | |
Pds::Matrix | Pds::Zeros (unsigned int Nlin, unsigned int Ncol) |
Retorna una matriz con ceros. Más... | |
Pds::Matrix | Pds::Zeros (unsigned int N) |
Retorna una matriz con ceros. Más... | |
funciónes para monomios en matrices | |
Descripción de algunas funciónes que usan Pds::Matrix. | |
Pds::Matrix | Pds::CountingTable (unsigned int N, unsigned int M) |
Retorna una matriz de columnas y lineas. La lineas de representan un conteo con numeros enteros que van de a . Más... | |
Pds::Matrix | Pds::CountingTable (unsigned int N, int min, int max, unsigned int from_id) |
Calcula la matriz de columnas y lineas. Las lineas de representan un conteo con numeros enteros que van de a donde . Más... | |
Pds::Matrix | Pds::MultisetIndexSum (unsigned int N, unsigned int M) |
Retorna una matriz de columnas y lineas. La lineas de tienen todas las combinaciones de numeros enteros que sumen . Para obter es usada recursivamente la siguiente ecuación. Más... | |
Pds::Matrix | Pds::SetIndexSum (unsigned int N, unsigned int M) |
Retorna una matriz de columnas y lineas. La lineas de tienen todas las combinaciones de numeros binários que sumen . Para obter es usada recursivamente la siguiente ecuación. Más... | |
std::string | Pds::MultisetIndexSumToString (const Pds::Matrix &ID, std::string Separator=", ", unsigned int n=1) |
Retorna una cadena que representa una matriz de indices con lineas y columnas. Los indices estan agrupados en las lineas de la matriz . Más... | |
Pds::Matrix | Pds::Monomials (const Pds::Matrix &X, unsigned int M, Pds::Matrix &ID) |
Dada uma matriz , compuesta por la concatenacion de vectores columna . La función retorna una matriz compuesta por vectores columnas que representan monomios de orden . Más... | |
Pds::Matrix | Pds::Monomials (const Pds::Matrix &X, unsigned int M) |
Dada uma matriz , compuesta por la concatenacion de vectores columna . La función retorna una matriz compuesta por vectores columnas que representan monomios de orden . Más... | |
funciónes de busqueda | |
Descripción de algunas funciónes que usan Pds::Matrix. | |
std::vector< unsigned int > | Pds::Find (const Pds::Matrix &A) |
Retorna una lista de indices donde existe un 1 en la matriz A. Más... | |
funciónes de concatenacion | |
Descripción de algunas funciónes que usan Pds::Matrix. | |
Pds::Matrix | Pds::MergeVer (const std::initializer_list< Pds::Matrix > list) |
Retorna una matriz concatenando verticalmente otras. Si las matrices no tienen el mismo número de columnas se considera um error. Más... | |
Pds::Matrix | Pds::MergeVer (const std::list< Pds::Matrix > &list) |
Retorna una matriz concatenando verticalmente otras. Si las matrices no tienen el mismo número de columnas se considera um error. Más... | |
Pds::Matrix | Pds::MergeVer (const std::vector< Pds::Matrix > &vec) |
Retorna una matriz concatenando verticalmente otras. Si las matrices no tienen el mismo número de columnas se considera um error. Más... | |
Pds::Matrix | Pds::MergeVer (const std::vector< Pds::Vector > &vec) |
Retorna una matriz concatenando verticalmente otras. Si las matrices no tienen el mismo número de columnas se considera um error. Más... | |
Pds::Matrix | Pds::MergeHor (const std::initializer_list< Pds::Matrix > list) |
Retorna una matriz concatenando horizontalmente otras. Si las matrices no tienen el mismo número de lineas se considera um error. Más... | |
Pds::Matrix | Pds::MergeHor (const std::list< Pds::Matrix > &list) |
Retorna una matriz concatenando horizontalmente otras. Si las matrices no tienen el mismo número de lineas se considera um error. Más... | |
Pds::Matrix | Pds::MergeHor (const std::vector< Pds::Matrix > &vec) |
Retorna una matriz concatenando horizontalmente otras. Si las matrices no tienen el mismo número de lineas se considera um error. Más... | |
Pds::Matrix | Pds::MergeHor (const std::vector< Pds::Vector > &vec) |
Retorna una matriz concatenando horizontalmente otras. Si las matrices no tienen el mismo número de lineas se considera um error. Más... | |
Pds::Matrix | Pds::RegressorMatrix (const std::initializer_list< Pds::Matrix > list) |
Retorna una Regressor Matrix , creado concatenando verticalmente las matrices en una lista . Si las matrices no tienen el mismo número de columnas se considera um error. Más... | |
Pds::Matrix | Pds::RegressorMatrix (const Pds::Matrix &B) |
Retorna una Regressor Matrix creado concatenando horizontalmente un vector de unos con una matriz . Más... | |
Pds::Matrix | Pds::RegressorMatrix (const Pds::Matrix &B, unsigned int M) |
Retorna una Regressor Matrix para una forma polinomial multivariada de orden M. es creado concatenando horizontalmente matrices . Más... | |
Pds::Matrix | Pds::RegressorMatrix (const Pds::Matrix &B, unsigned int M, Pds::Matrix &ID) |
Retorna una Regressor Matrix para una forma polinomial multivariada de orden M. es creado concatenando horizontalmente matrices . Más... | |
Funciónes que usan Pds::Matrix, Ejemplo: Pds::Diag(), Pds::Eye(), Pds::Ones(), Pds::Zeros(), etc.
Estas funciónes trabajan con una matriz de la forma.
nlin es el número de lineas y ncol es el número de columnas.
Informacion adicional puede ser encontrada en [5]
Pds::Matrix Pds::Peaks | ( | unsigned int | N, |
double | L = 3 |
||
) |
Crea una matriz de con datos correspondientes a la función , donde y .
Pds::Matrix Z=Pds::Peaks(480);
Z.ExportBmpFile(Pds::Colormap::Jet,"PeaksColormapJet.bmp");
[in] | N | Número de lineas y columnas. |
[in] | L | Valor de los extremos. |
Pds::Matrix Pds::Mountain | ( | unsigned int | N, |
double | L = 2 |
||
) |
Crea una matriz de con datos correspondientes a la función , donde y .
Pds::Matrix Z=Pds::Mountain(480);
Z.ExportBmpFile(Pds::Colormap::Jet,"MountainColormapJet.bmp");
[in] | N | Número de lineas y columnas. |
[in] | L | Valor de los extremos. |
bool Pds::Meshgrid | ( | const Pds::Vector & | SpaceX, |
const Pds::Vector & | SpaceY, | ||
Pds::Matrix & | X, | ||
Pds::Matrix & | Y | ||
) |
Crea una matriz e una , a partir de los datos en y , respectivamente.
Pds::Vector x=Pds::LinSpace(0.0,1,N);
Pds::Vector y=Pds::LinSpace(0.0,2,N);
Pds::Matrix X,Y;
Pds::Meshgrid (x,y,X,Y);
[in] | SpaceX | Vector con los datos que seran repetidos en cada columna de X. |
[in] | SpaceY | Vector con los datos que seran repetidos en cada linea de Y. |
[out] | X | Matriz X. La matriz puede estar vacia, nueva memoria será reservada. |
[out] | Y | Matriz Y. La matriz puede estar vacia, nueva memoria será reservada. |
bool Pds::Meshgrid | ( | const Pds::Vector & | SpaceR, |
Pds::Matrix & | X, | ||
Pds::Matrix & | Y | ||
) |
Crea una matriz e una , a partir de los datos en .
Pds::Vector r=Pds::Range(0,8);
Pds::Matrix X,Y;
Pds::Meshgrid (r,X,Y);
[in] | SpaceR | Vector con los datos que seran repetidos en cada columna de X e Y. |
[out] | X | Matriz X. La matriz puede estar vacia, nueva memoria será reservada. |
[out] | Y | Matriz Y. La matriz puede estar vacia, nueva memoria será reservada. |
Pds::Matrix Pds::Operate | ( | double(*)(double x, double y) | func, |
const Pds::Matrix & | X, | ||
const Pds::Matrix & | Y | ||
) |
Crea una matriz aplicando la función , elemento a elemento sobre las matrices y .
Pds::Matrix X=Pds::RandN(3,3);
Pds::Matrix Y=Pds::Eye(3);
Pds::Matrix Z=Pds::Operate(pow,X,Y);
[in] | func | Función a aplicar, esta debe tener a forma double func(double, double). |
[in] | X | Matriz X. |
[in] | Y | Matriz Y. |
Pds::Matrix Pds::Operate | ( | double(*)(double x, double y, double z) | func, |
const Pds::Matrix & | X, | ||
const Pds::Matrix & | Y, | ||
const Pds::Matrix & | Z | ||
) |
Crea una matriz aplicando la función , elemento a elemento sobre las matrices , y .
Pds::Matrix X=Pds::Ones(3,3);
Pds::Matrix Y=Pds::Eye(3);
Pds::Matrix Z=Pds::RandC(3,3);
auto func=[](double x,double y,double z)->double{return x+y+z;};
Pds::Matrix H=Pds::Operate(func,X,Y,Z);
[in] | func | Función a aplicar, esta debe tener a forma double func(double, double, double). |
[in] | X | Matriz X. |
[in] | Y | Matriz Y. |
[in] | Z | Matriz Z. |
Pds::Matrix Pds::MatrixId | ( | unsigned int | N | ) |
Crea una matriz con datos correspondentes ao Id de cada elemento.
Pds::Matrix A=Pds::MatrixId(3);
A.Print("A:\n");
La salida sería:
0 3 6 1 4 7 2 5 8
[in] | N | Número de lineas y columnas. |
Pds::Matrix Pds::MatrixId | ( | const Pds::Size & | S | ) |
Crea una matriz con datos correspondentes ao Id de cada elemento.
Pds::Matrix A=Pds::MatrixId(Pds::Size(3,3));
A.Print("A:\n");
La salida sería:
0 3 6 1 4 7 2 5 8
[in] | S | Tamaño de la matriz. |
Pds::Matrix Pds::MatrixId | ( | unsigned int | Nlin, |
unsigned int | Ncol | ||
) |
Crea una matriz con datos correspondentes ao Id de cada elemento.
Pds::Matrix A=Pds::MatrixId(3,3);
A.Print("A:\n");
La salida sería:
0 3 6 1 4 7 2 5 8
[in] | Nlin | Número de lineas. |
[in] | Ncol | Número de columnas. |
Pds::Matrix Pds::RandN | ( | unsigned int | N | ) |
Crea una matriz con datos aleatórios con distribución Normal de media cero 0.0 y desvío padrón 1.0.
Pds::Matrix A=Pds::RandN(3);
A.Print("A:\n");
La salida sería:
-1.0743635946361 -0.65705834043996 -2.4575761653009 1.22862653077 -0.11275232814368 -0.14186971563947 0.024275794651666 0.19490931901932 -0.42842407852154
[in] | N | Número de lineas y columnas. |
Pds::Matrix Pds::RandN | ( | const Pds::Size & | S | ) |
Crea una matriz con datos aleatórios con distribución Normal de media cero 0.0 y desvío padrón 1.0.
Pds::Matrix A=Pds::RandN(Pds::Size(3,3));
A.Print("A:\n");
La salida sería:
-1.0743635946361 -0.65705834043996 -2.4575761653009 1.22862653077 -0.11275232814368 -0.14186971563947 0.024275794651666 0.19490931901932 -0.42842407852154
[in] | S | Tamaño de la matriz. |
Pds::Matrix Pds::RandN | ( | unsigned int | Nlin, |
unsigned int | Ncol | ||
) |
Crea una matriz con datos aleatórios con distribución Normal de media cero 0.0 y desvío padrón 1.0.
Pds::Matrix A=Pds::RandN(3,3);
A.Print("A:\n");
La salida sería:
-1.0743635946361 -0.65705834043996 -2.4575761653009 1.22862653077 -0.11275232814368 -0.14186971563947 0.024275794651666 0.19490931901932 -0.42842407852154
[in] | Nlin | Número de lineas. |
[in] | Ncol | Número de columnas. |
Pds::Matrix Pds::RandU | ( | unsigned int | N | ) |
Crea una matriz con datos aleatórios uniformemente distribuidos entre 0.0 y 1.0.
Pds::Matrix A=Pds::RandU(3);
A.Print("A:\n");
La salida sería:
0.84018771676347 0.39438292663544 0.78309922339395 0.79844003310427 0.91164735751227 0.19755136920139 0.33522275555879 0.76822959445417 0.27777471067384
[in] | N | Número de lineas y columnas. |
Pds::Matrix Pds::RandU | ( | const Pds::Size & | S | ) |
Crea una matriz con datos aleatórios uniformemente distribuidos entre 0.0 y 1.0.
Pds::Matrix A=Pds::RandU(Pds::Size(3,3));
A.Print("A:\n");
La salida sería:
0.84018771676347 0.39438292663544 0.78309922339395 0.79844003310427 0.91164735751227 0.19755136920139 0.33522275555879 0.76822959445417 0.27777471067384
[in] | S | Tamaño de la matriz. |
Pds::Matrix Pds::RandU | ( | unsigned int | Nlin, |
unsigned int | Ncol | ||
) |
Crea una matriz con datos aleatórios uniformemente distribuidos entre 0.0 y 1.0.
Pds::Matrix A=Pds::RandU(3,3);
A.Print("A:\n");
La salida sería:
0.84018771676347 0.39438292663544 0.78309922339395 0.79844003310427 0.91164735751227 0.19755136920139 0.33522275555879 0.76822959445417 0.27777471067384
[in] | Nlin | Número de lineas. |
[in] | Ncol | Número de columnas. |
Pds::Matrix Pds::RandC | ( | unsigned int | N, |
double | p = 0.5 |
||
) |
Crea una matriz con datos aleatórios binários {0.0, 1.0} con P(1)=p.
Pds::Matrix A=Pds::RandC(3);
A.Print("A:\n");
La salida sería:
1 0 1 0 1 0 1 1 0
[in] | N | Número de lineas y columnas. |
[in] | p | Probabilidad P(1). |
Pds::Matrix Pds::RandC | ( | const Pds::Size & | S, |
double | p = 0.5 |
||
) |
Crea una matriz con datos aleatórios binários {0.0, 1.0} con P(1)=p.
Pds::Matrix A=Pds::RandC(Pds::Size(3,3));
A.Print("A:\n");
La salida sería:
1 0 1 0 1 0 1 1 0
[in] | S | Tamaño de la matriz. |
[in] | p | Probabilidad P(1). |
Pds::Matrix Pds::RandC | ( | unsigned int | Nlin, |
unsigned int | Ncol, | ||
double | p | ||
) |
Crea una matriz con datos aleatórios binários {0.0, 1.0} con P(1)=p.
Pds::Matrix A=Pds::RandC(3,3);
A.Print("A:\n");
La salida sería:
1 0 1 0 1 0 1 1 0
[in] | Nlin | Número de lineas. |
[in] | Ncol | Número de columnas. |
[in] | p | Probabilidad P(1). |
Pds::Matrix Pds::Diag | ( | Matrix | A | ) |
Retorna una matriz diagonal usando los dats de tra matriz, se lee primero todos los elementos de una columna y lueg se pasa a la siguiente.
Pds::Matrix A=Pds::Diag(Pds::Vector({1,2,3}));
A.Print("A:\n");
La salida sería:
1 0 0 0 2 0 0 0 3
[in] | A | La matriz donde se extraen los datos. |
Pds::Matrix Pds::Eye | ( | unsigned int | N | ) |
Retorna una matriz con unos en la diagonal y el resto ceros.
Pds::Matrix A=Pds::Eye(3);
A.Print("A:\n");
La salida sería:
1 0 0 0 1 0 0 0 1
[in] | N | El numero de lineas y columnas de la matriz. |
Pds::Matrix Pds::Ones | ( | const Pds::Size & | S | ) |
Retorna una matriz con unos.
Pds::Matrix A=Pds::Ones(Pds::Size(3,3));
A.Print("A:\n");
La salida sería:
1 1 1 1 1 1 1 1 1
[in] | S | El tamaño de la matriz. |
Pds::Matrix Pds::Ones | ( | unsigned int | Nlin, |
unsigned int | Ncol | ||
) |
Retorna una matriz con unos.
Pds::Matrix A=Pds::Ones(3,3);
A.Print("A:\n");
La salida sería:
1 1 1 1 1 1 1 1 1
[in] | Nlin | El numero de lineas de la matriz. |
[in] | Ncol | El numero de columnas de la matriz. |
Pds::Matrix Pds::Ones | ( | unsigned int | N | ) |
Retorna una matriz con unos.
Pds::Matrix A=Pds::Ones(3);
A.Print("A:\n");
La salida sería:
1 1 1 1 1 1 1 1 1
[in] | N | El numero de lineas y columnas de la matriz. |
Pds::Matrix Pds::Zeros | ( | const Pds::Size & | S | ) |
Retorna una matriz con ceros.
Pds::Matrix A=Pds::Zeros(Pds::Size(3,3));
A.Print("A:\n");
La salida sería:
0 0 0 0 0 0 0 0 0
[in] | S | El tamaño de la matriz. |
Pds::Matrix Pds::Zeros | ( | unsigned int | Nlin, |
unsigned int | Ncol | ||
) |
Retorna una matriz con ceros.
Pds::Matrix A=Pds::Zeros(3,3);
A.Print("A:\n");
La salida sería:
0 0 0 0 0 0 0 0 0
[in] | Nlin | El numero de lineas de la matriz. |
[in] | Ncol | El numero de columnas de la matriz. |
Pds::Matrix Pds::Zeros | ( | unsigned int | N | ) |
Retorna una matriz con ceros.
Pds::Matrix A=Pds::Zeros(3);
A.Print("A:\n");
La salida sería:
0 0 0 0 0 0 0 0 0
[in] | N | El numero de lineas y columnas de la matriz. |
Pds::Matrix Pds::CountingTable | ( | unsigned int | N, |
unsigned int | M | ||
) |
Retorna una matriz de columnas y lineas. La lineas de representan un conteo con numeros enteros que van de a .
Pds::Matrix A=Pds::CountingTable(2,3);
A.Print();
[in] | N | Cantidad de numeros usados en el conteo (número de columnas en la matriz). |
[in] | M | Cantidad de posibles digitos. |
Pds::Matrix Pds::CountingTable | ( | unsigned int | N, |
int | min, | ||
int | max, | ||
unsigned int | from_id | ||
) |
Calcula la matriz de columnas y lineas. Las lineas de representan un conteo con numeros enteros que van de a donde .
Despues retorna una sub matriz extraida desde la linea .
Pds::Matrix A=Pds::CountingTable(2,-1,1,5);
A.Print();
1 0 -1 1 0 1 1 1
[in] | N | Cantidad de numeros usados en el conteo (número de columnas en la matriz). |
[in] | min | Mínimo valor del conteo. |
[in] | max | Máximo valor del conteo. |
[in] | from_id | Indice incial del conteo. |
Pds::Matrix Pds::MultisetIndexSum | ( | unsigned int | N, |
unsigned int | M | ||
) |
Retorna una matriz de columnas y lineas. La lineas de tienen todas las combinaciones de numeros enteros que sumen . Para obter es usada recursivamente la siguiente ecuación.
Donde se sabe que
e es un vector columna lleno de .
ID=Pds::MultisetIndexSum(3,2);
ID.Print();
2 0 0 1 1 0 0 2 0 1 0 1 0 1 1 0 0 2
[in] | N | Cantidad de numeros usados en la suma (número de columnas en la matriz). |
[in] | M | Valor de la suma de todos los numeros en una linea. |
Pds::Matrix Pds::SetIndexSum | ( | unsigned int | N, |
unsigned int | M | ||
) |
Retorna una matriz de columnas y lineas. La lineas de tienen todas las combinaciones de numeros binários que sumen . Para obter es usada recursivamente la siguiente ecuación.
Donde se sabe que
e es un vector columna lleno de .
ID=Pds::SetIndexSum(4,2);
ID.Print();
1 1 0 0 1 0 1 0 0 1 1 0 1 0 0 1 0 1 0 1 0 0 1 1
[in] | N | Cantidad de numeros usados en la suma (número de columnas en la matriz). |
[in] | M | Valor de la suma de todos los numeros en una linea. |
std::string Pds::MultisetIndexSumToString | ( | const Pds::Matrix & | ID, |
std::string | Separator = ", " , |
||
unsigned int | n = 1 |
||
) |
Retorna una cadena que representa una matriz de indices con lineas y columnas. Los indices estan agrupados en las lineas de la matriz .
Donde el indice genera el monomio se entonces
ID=Pds::SetIndexSum(4,2);
ID.Print();
std::cout<<Pds::MultisetIndexSumToString(ID,", ")<<std::endl;
Obtemos:
1 1 0 0 1 0 1 0 0 1 1 0 1 0 0 1 0 1 0 1 0 0 1 1 x_{1}x_{2}, x_{1}x_{3}, x_{2}x_{3}, x_{1}x_{4}, x_{2}x_{4}, x_{3}x_{4}
[in] | ID | Una matriz con indices en las lineas. |
[in] | Separator | El texto separador entre monomios. |
[in] | n | Valor inicial de n en , si n=0 inicia en |
Pds::Matrix Pds::Monomials | ( | const Pds::Matrix & | X, |
unsigned int | M, | ||
Pds::Matrix & | ID | ||
) |
Dada uma matriz , compuesta por la concatenacion de vectores columna . La función retorna una matriz compuesta por vectores columnas que representan monomios de orden .
Donde , es la multiplicación elemento a elemento de las potencias de los vectores columna , donde . Los indices estan agrupados en las lineas de la matriz , esta tiene lineas y columnas
La función calcula los exponentes en los monomios usando Pds::MultisetIndexSum(N,M).
Pds::Matrix X = Pds::MatrixId(3,2);
X.Print("X:\n");
Pds::Matrix ID;
Pds::Matrix H=Pds::Monomials(X,2,ID);
ID.T().Print("ID.T():\n");
H.Print("H:\n");
X: 0 3 1 4 2 5 ID.T(): 2 1 0 0 1 2 H: 0 0 9 1 4 16 4 10 25
[in] | X | Matriz . |
[in] | M | Orden de los monomios. |
[out] | ID | Matriz de indices de todos los monomios en las columnas de la matriz . Para visualizar usa la función std::string str=Pds::MultisetIndexSumToString(ID). |
Pds::Matrix Pds::Monomials | ( | const Pds::Matrix & | X, |
unsigned int | M | ||
) |
Dada uma matriz , compuesta por la concatenacion de vectores columna . La función retorna una matriz compuesta por vectores columnas que representan monomios de orden .
Donde , es la multiplicación elemento a elemento de las potencias de los vectores columna , donde . Los indices estan agrupados en las lineas de la matriz , esta tiene lineas y columnas
La función calcula los exponentes en los monomios usando Pds::MultisetIndexSum(N,M).
Pds::Matrix X = Pds::MatrixId(3,2);
X.Print("X:\n");
Pds::Matrix H=Pds::Monomials(X,2);
H.Print("H:\n");
X: 0 3 1 4 2 5 H: 0 0 9 1 4 16 4 10 25
[in] | X | Matriz . |
[in] | M | Orden de los monomios. |
std::vector< unsigned int > Pds::Find | ( | const Pds::Matrix & | A | ) |
Retorna una lista de indices donde existe un 1 en la matriz A.
Pds::Matrix X = Pds::Eye(3);
std::vector<unsigned int> id=Pds::Find(X);
std::cout<<Pds::Ra::IndicesToString(id,",")<<"\n";
Obtemos:
0,4,8
[in] | A | Matriz a consultar. |
Pds::Matrix Pds::MergeVer | ( | const std::initializer_list< Pds::Matrix > | list | ) |
Retorna una matriz concatenando verticalmente otras.
Si las matrices no tienen el mismo número de columnas se considera um error.
Pds::Matrix A=Pds::MergeVer({Pds::Eye(3),Pds::Ones(3)});
A.Print();
Obtemos:
1 0 0 0 1 0 0 0 1 1 1 1 1 1 1 1 1 1
[in] | list | La lista de matrices a concatenar. |
Pds::Matrix Pds::MergeVer | ( | const std::list< Pds::Matrix > & | list | ) |
Retorna una matriz concatenando verticalmente otras.
Si las matrices no tienen el mismo número de columnas se considera um error.
std::list<Pds::Matrix> list={Pds::Eye(3),Pds::Ones(3)};
Pds::Matrix A=Pds::MergeVer(list);
A.Print();
Obtemos:
1 0 0 0 1 0 0 0 1 1 1 1 1 1 1 1 1 1
[in] | list | La lista de matrices a concatenar. |
Pds::Matrix Pds::MergeVer | ( | const std::vector< Pds::Matrix > & | vec | ) |
Retorna una matriz concatenando verticalmente otras.
Si las matrices no tienen el mismo número de columnas se considera um error.
std::vector<Pds::Matrix> vec={Pds::Eye(3),Pds::Ones(3)};
Pds::Matrix A=Pds::MergeVer(vec);
A.Print();
Obtemos:
1 0 0 0 1 0 0 0 1 1 1 1 1 1 1 1 1 1
[in] | vec | La lista de matrices a concatenar. |
Pds::Matrix Pds::MergeVer | ( | const std::vector< Pds::Vector > & | vec | ) |
Retorna una matriz concatenando verticalmente otras.
Si las matrices no tienen el mismo número de columnas se considera um error.
std::vector<Pds::Vector> vec={Pds::X2D(),Pds::Y2D()};
Pds::Matrix A=Pds::MergeVer(vec);
A.Print();
Obtemos:
1 0 0 1
[in] | vec | La lista de matrices a concatenar. |
Pds::Matrix Pds::MergeHor | ( | const std::initializer_list< Pds::Matrix > | list | ) |
Retorna una matriz concatenando horizontalmente otras.
Si las matrices no tienen el mismo número de lineas se considera um error.
Pds::Matrix A=Pds::MergeHor({Pds::Eye(3),Pds::Ones(3)});
A.Print();
Obtemos:
1 0 0 1 1 1 0 1 0 1 1 1 0 0 1 1 1 1
[in] | list | La lista de matrices a concatenar. |
Pds::Matrix Pds::MergeHor | ( | const std::list< Pds::Matrix > & | list | ) |
Retorna una matriz concatenando horizontalmente otras.
Si las matrices no tienen el mismo número de lineas se considera um error.
std::list<Pds::Matrix> list={Pds::Eye(3),Pds::Ones(3)};
Pds::Matrix A=Pds::MergeHor(list);
A.Print();
Obtemos:
1 0 0 1 1 1 0 1 0 1 1 1 0 0 1 1 1 1
[in] | list | La lista de matrices a concatenar. |
Pds::Matrix Pds::MergeHor | ( | const std::vector< Pds::Matrix > & | vec | ) |
Retorna una matriz concatenando horizontalmente otras.
Si las matrices no tienen el mismo número de lineas se considera um error.
std::vector<Pds::Matrix> vec={Pds::Eye(3),Pds::Ones(3)};
Pds::Matrix A=Pds::MergeHor(vec);
A.Print();
Obtemos:
1 0 0 1 1 1 0 1 0 1 1 1 0 0 1 1 1 1
[in] | vec | La lista de matrices a concatenar. |
Pds::Matrix Pds::MergeHor | ( | const std::vector< Pds::Vector > & | vec | ) |
Retorna una matriz concatenando horizontalmente otras.
Si las matrices no tienen el mismo número de lineas se considera um error.
std::vector<Pds::Vector> vec={Pds::X2D(),Pds::Y2D()};
Pds::Matrix A=Pds::MergeHor(vec);
A.Print();
Obtemos:
1 0 0 1
[in] | vec | La lista de matrices a concatenar. |
Pds::Matrix Pds::RegressorMatrix | ( | const std::initializer_list< Pds::Matrix > | list | ) |
Retorna una Regressor Matrix , creado concatenando verticalmente las matrices en una lista .
Si las matrices no tienen el mismo número de columnas se considera um error.
Pds::Matrix R=Pds::RegressorMatrix({Pds::Eye(3),Pds::Zeros(3)});
R.Print();
Obtemos:
1 1 0 0 1 0 1 0 1 0 0 1 1 0 0 0 1 0 0 0 1 0 0 0
[in] | list | La lista de matrices a concatenar. |
Pds::Matrix Pds::RegressorMatrix | ( | const Pds::Matrix & | B | ) |
Retorna una Regressor Matrix creado concatenando horizontalmente un vector de unos con una matriz .
Pds::Matrix R=Pds::RegressorMatrix(Pds::Eye(3));
R.Print();
Obtemos:
1 1 0 0 1 0 1 0 1 0 0 1
[in] | B | La matriz a usar. |
Pds::Matrix Pds::RegressorMatrix | ( | const Pds::Matrix & | B, |
unsigned int | M | ||
) |
Retorna una Regressor Matrix para una forma polinomial multivariada de orden M. es creado concatenando horizontalmente matrices .
Donde es una matriz con todos los monomios de grado creado a partir de la matriz , es decir = Pds::Monomials(B,m).
Pds::Matrix B=Pds::MatrixId(2);
Pds::Matrix R=Pds::RegressorMatrix(B,2);
R.Print();
Obtemos:
1 0 2 0 0 4 1 1 3 1 3 9
[in] | B | La matriz a usar. |
[in] | M | El orden del polinomio multivariado. |
Pds::Matrix Pds::RegressorMatrix | ( | const Pds::Matrix & | B, |
unsigned int | M, | ||
Pds::Matrix & | ID | ||
) |
Retorna una Regressor Matrix para una forma polinomial multivariada de orden M. es creado concatenando horizontalmente matrices .
Donde es una matriz con todos los monomios de grado creado a partir de la matriz , es decir =Pds::Monomials(B,m).
Pds::Matrix ID;
Pds::Matrix B=Pds::MatrixId(2);
Pds::Matrix R=Pds::RegressorMatrix(B,2,ID);
R.Print();
Obtemos:
1 0 2 0 0 4 1 1 3 1 3 9
[in] | B | La matriz a usar. |
[in] | M | El orden del polinomio multivariado. |
[out] | ID | La matriz donde sus lineas representan los indices de los monomios en las columnas de . |