Dateien nach „BSP_1_G“ hochladen
This commit is contained in:
parent
c66074fc72
commit
174e3841cd
4 changed files with 242 additions and 0 deletions
53
BSP_1_G/matrixdense.cpp
Normal file
53
BSP_1_G/matrixdense.cpp
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
#include "matrixdense.h"
|
||||
#include "sigmoid.h"
|
||||
|
||||
MatrixDense::MatrixDense()
|
||||
{
|
||||
//ctor
|
||||
}
|
||||
|
||||
MatrixDense::MatrixDense(int n, int m)
|
||||
{
|
||||
nrow = n;
|
||||
mcol = m;
|
||||
mat = vector<double>(n*m);
|
||||
int nm = max(n,m);
|
||||
for(int i = 0; i<n; ++i)
|
||||
{
|
||||
for(int j = 0; j<m; ++j)
|
||||
{
|
||||
mat[i*m+j] = sigmoid(xk(i,nm))*sigmoid(xk(j,nm));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
vector<double> MatrixDense::Mult(const vector<double> &x) const
|
||||
{
|
||||
vector<double> y(nrow,0);
|
||||
for(int n=0; n<nrow; ++n)
|
||||
{
|
||||
for(int m=0; m<mcol; ++m)
|
||||
{
|
||||
y[n] += mat[n*mcol+m]*x[m];
|
||||
}
|
||||
}
|
||||
return y;
|
||||
}
|
||||
|
||||
vector<double> MatrixDense::MultT(const vector<double> &x) const
|
||||
{
|
||||
vector<double> y(mcol,0);
|
||||
for(int m=0; m<mcol; ++m) // over columns
|
||||
{
|
||||
for(int n=0; n<nrow; ++n) // over rows
|
||||
{
|
||||
y[m] += mat[n*mcol+m]*x[n];
|
||||
}
|
||||
}
|
||||
return y;
|
||||
}
|
||||
|
||||
MatrixDense::~MatrixDense()
|
||||
{
|
||||
//dtor
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue