Home | Develop | Download | Contact
test_matrix_operate.cpp
1
20#include <cmath>
21#include <Pds/Ra>
22
23double func_vec(const Pds::Vector &V)
24{
25 return V.Sum();
26}
27
28double func_vec_par(const Pds::Vector &V,const Pds::Vector &C)
29{
30 return V.Dot(C);
31}
32
33Pds::Vector func_vec_trans(const Pds::Vector &V,const Pds::Vector &C)
34{
35 return Pds::MergeVer({V,C});
36}
37
38int main(void)
39{
40 Pds::Matrix A(3,2);
43
44 A.FillId();
45
46 A.Print("\nA:\n");
47
49 B.Print("\nA.OperateCols(Pds::SumSquare):\n");
50
51 B=A.OperateCols(func_vec);
52 B.Print("\nA.OperateCols(func_vec):\n");
53
54 C="2 1 1";
55 B=A.OperateCols(func_vec_par,C);
56 B.Print("\nA.OperateCols(func_vec_par,C):\n");
57
58 A.Print("\nA:\n");
59
61 B.Print("\nA.OperateRows(Pds::SumSquare):\n");
62
64 B.Print("\nA.OperateRows(Pds::RMS):\n");
65
66 B=A.OperateRows(func_vec);
67 B.Print("\nA.OperateRows(func_vec):\n");
68
69 C="2 1";
70 B=A.OperateRows(func_vec_par,C);
71 B.Print("\nA.OperateRows(func_vec_par,C):\n");
72
73 A.Print("\nA:\n");
74
75 C="2 1";
76 B=A.TransformRows(func_vec_trans,C);
77 B.Print("\nA.TransformRows(func_vec_trans,C):\n");
78
79 return 0;
80}
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 MergeVer(const std::initializer_list< Pds::Matrix > list)
Retorna una matriz concatenando verticalmente otras. Si las matrices no tienen el mismo número de c...
double SumSquare(const Pds::Matrix &A)
Calcula el valor de la suma quadrática de una matriz.
double RMS(const Pds::Matrix &A)
Calcula el valor raiz quadrático medio de una matriz.
Pds::Matrix TransformRows(Pds::Vector(*func)(const Pds::Vector &Row, const Pds::Vector &C), const Pds::Vector &C) const
Opera la función func usando como entrada cada fila de la matriz.
double Sum(void) const
Calcula el valor de la suma de elementos de la matriz.
double Dot(const Pds::Matrix &B) const
Calcula el producto punto entre dos matrices.
Pds::Matrix OperateCols(double(*func)(const Pds::Matrix &Col)) const
Opera la función func usando como entrada cada columna de la matriz.
bool FillId(void)
Inicializa la matriz con el valor de la posición de cada elemento.
Pds::Matrix OperateRows(double(*func)(const Pds::Matrix &Row)) const
Opera la función func usando como entrada cada fila de la matriz.
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.

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed