Home | Develop | Download | Contact
example_vector_poly.cpp

Programa para el testeo de las funciones.

Programa para el testeo de las funciones.Para compilar o código example_vector_poly.cpp:

g++ -static -o example_vector_poly example_vector_poly.cpp -lpdsramm

Para executar o programa:

./example_vector_poly

Retornando por consola:

X.Size(): 1000  1
Y.Size(): 1000  1

P=Pds::PolyFit(X,Y,2);  P.T():
-0.0053770932721563 0.017219023067994   0.98828000248775    
X.T():  1  -1 2  -2 
P.T():  1 0 1 
Pds::PolyVal(P,X).T():  2 2 5 5 

U:
0 1 2 
3 4 5 
6 7 8 

Pds::PolyVal(P,U):
1  2  5  
10 17 26 
37 50 65 
M:
1  1  1  1  
1  2  4  8  
1  -1 1  -1 
1  3  9  27 
Pd.T(): 0 2 
Pm.T(): 1 3 3 1 
Ps.T(): 2 3 1 
Acc.T():        1 2 1 
Acc.T():        2 1 1 
Acc.T():        3 2 3 1 
Pp.T(): 3  -6 4

Código example_vector_poly.cpp:

#include <cmath>
#include <Pds/Ra>
int main(void)
{
unsigned int L=1000;
// Creating Vectors X in [0,1> and Y: Y=X^2+noise
Pds::Vector Y=Pds::Pow(X,2)+0.05*Pds::RandN(L,1);
// Print size of vectors
X.Size().Print("X.Size(): ");
Y.Size().Print("Y.Size(): ");
// Getting the polynomial P of order 2 that fit (X,Y)
P.T().Print("\nP=Pds::PolyFit(X,Y,2);\tP.T():\n");
// Creating vector X
X="1 -1 2 -2";
X.T().Print("X.T():\t");
// Creating vector X
P="1 0 1";
P.T().Print("P.T():\t");
// Getting Y=p(X)
Y=Pds::PolyVal(P,X);
Y.T().Print("Pds::PolyVal(P,X).T():\t");
// Creating vector Xa
Pds::Matrix U("0 1 2\n3 4 5\n6 7 8");
U.Print("\nU:\n");
// Getting Ya=p(U)
Ya.Print("\nPds::PolyVal(P,U):\n");
X="1\n 2\n -1\n 3";
M.Print("M:\n");
Pd.T().Print("Pd.T():\t");
Pds::Vector P1="1 1";
Pds::Vector P2="1 2 1";
Pm.T().Print("Pm.T():\t");
Ps.T().Print("Ps.T():\t");
Pds::PolyAcc(Acc,"1 2 1");
Acc.T().Print("Acc.T():\t");
Pds::PolyAcc(Acc,"1 -1");
Acc.T().Print("Acc.T():\t");
Pds::PolyAcc(Acc,"1 1 2 1");
Acc.T().Print("Acc.T():\t");
Pds::Vector Pp=Pds::PolyPoly("1 1 1","1 -2");
Pp.T().Print("Pp.T():\t");
return 0;
}
La clase tipo Pds::Matrix . Esta clase genera una matriz de Nlin lineas y Ncol columnas....
Definition: Matrix.hpp:96
La clase tipo Pds::Vector . Esta clase genera una matriz de Nlin lineas y 1 columna....
Definition: Vector.hpp:80
Pds::Matrix 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....
Vector LinSpace(double start, double end, unsigned int N)
Retorna un vector con elementos desde start hasta end con N elementos.
Pds::Matrix Pow(const Pds::Matrix &A, double var)
Retorna el resultado de evaluar elemento a elemento la función pow.
Pds::Matrix T(void) const
Transpuesta de si mismo (A), el resultado es cargado en B.
Pds::Size Size(void) const
Retorna un objeto de tipo Pds::Size con el número de lineas y columans.
void Print(const std::string &str, unsigned int precision) const
Imprime en pantalla el contenido de la matriz después del texto indicado en str.
void Print(std::string str="")
Muestra en pantalla el contenido de Pds::Size, elementos separados por tabulador.
Pds::Matrix PolyMat(const Pds::Vector &X, unsigned int N)
Retorna la Matriz de Vandermonde del vector X de M elementos.
Pds::Vector PolyAdd(const Pds::Vector &P, const Pds::Vector &Q)
Retorna la suma de los polinomio P(x) e Q(x).
Pds::Vector PolyVal(const Pds::Vector &P, const Pds::Vector &X)
Retorna El resultado de evaluar un polinomio P de grado N.
Pds::Vector PolyFit(const Pds::Vector &X, const Pds::Vector &Y, unsigned int N)
Retorna Un polinomio de grado N con el menor error cuadrático medio para el par X e Y.
Pds::Vector PolyDer(const Pds::Vector &P, unsigned int N=1)
Retorna la derivada D del polinomio P(x).
Pds::Vector PolyPoly(const Pds::Vector &P, const Pds::Vector &Q)
Dados los polinomios P(x) y P(x), la función retorna la evaluación de P(Q(x)).
bool PolyAcc(Pds::Vector &Acc, const Pds::Vector &P)
Retorna la suma de los polinomio Acc(x) e P(x).
Pds::Vector PolyMul(const Pds::Vector &P, const Pds::Vector &Q)
Retorna la multiplicación de los polinomio P(x) e Q(x).

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed