Dateien nach „BSP_1_G“ hochladen

This commit is contained in:
Georg Thomas Mandl 2025-10-23 00:49:21 +02:00
commit 174e3841cd
4 changed files with 242 additions and 0 deletions

53
BSP_1_G/matrixdense.cpp Normal file
View 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
}