diff --git a/BSP_1_G/matrixprod.cpp b/BSP_1_G/matrixprod.cpp new file mode 100644 index 0000000..85d456e --- /dev/null +++ b/BSP_1_G/matrixprod.cpp @@ -0,0 +1,48 @@ +#include "matrixprod.h" +#include "sigmoid.h" + +MatrixProd::MatrixProd() +{ + //ctor +} + +MatrixProd::MatrixProd(vector uc, vector vc) +{ + nrow = uc.size(); + mcol = vc.size(); + u = uc; + v = vc; +} + +vector MatrixProd::Mult(const vector &x) const +{ + vector y(nrow,0); + for(int n=0; n MatrixProd::MultT(const vector &x) const +{ + vector y(mcol,0); + for(int m=0; m + +using namespace std; + +class MatrixProd +{ + public: + /** Default constructor */ + MatrixProd(); + /** Constructor */ + MatrixProd(vector uc, vector vc); + + vector Mult(const vector &x) const; + + vector MultT(const vector &x) const; + + /** Default destructor */ + virtual ~MatrixProd(); + + + protected: + + private: + vector u; //!< Member variable "u" + vector v; //!< Member variable "v" + int nrow; //!< Member variable "nrow" + int mcol; //!< Member variable "mcol" +}; + +#endif // MATRIXPROD_H diff --git a/BSP_1_G/sigmoid.cpp b/BSP_1_G/sigmoid.cpp new file mode 100644 index 0000000..232c527 --- /dev/null +++ b/BSP_1_G/sigmoid.cpp @@ -0,0 +1,11 @@ +#include "sigmoid.h" + +double sigmoid(const double &x) +{ + return 1.0/(1+exp(-x)); +} + +double xk(const int & k, const int & nm) +{ + return 10*k/(nm-1) - 5; +} diff --git a/BSP_1_G/sigmoid.h b/BSP_1_G/sigmoid.h new file mode 100644 index 0000000..8941a52 --- /dev/null +++ b/BSP_1_G/sigmoid.h @@ -0,0 +1,10 @@ +#ifndef SIGMOID_H_INCLUDED +#define SIGMOID_H_INCLUDED + +#include "cmath" + +double sigmoid(const double &x); + +double xk(const int & k, const int & nm); + +#endif // SIGMOID_H_INCLUDED