update
This commit is contained in:
parent
14d6bbc2f6
commit
a3dd80af5b
|
@ -9,10 +9,10 @@ const int tracking = 40;
|
||||||
static Random rnd = new Random();
|
static Random rnd = new Random();
|
||||||
|
|
||||||
// Array mit den Testwerten
|
// Array mit den Testwerten
|
||||||
static double[] _x = new double[M];
|
static double[] _x = new double[NumberOfSamples];
|
||||||
|
|
||||||
// Array mit den Gewichten
|
// Array mit den Gewichten
|
||||||
static double[,] w = new double[M, M];
|
static double[,] w = new double[NumberOfSamples, NumberOfSamples];
|
||||||
|
|
||||||
// Lernrate
|
// Lernrate
|
||||||
static double learnrate = 1;
|
static double learnrate = 1;
|
||||||
|
@ -27,10 +27,10 @@ main() des Programms
|
||||||
int main(){
|
int main(){
|
||||||
|
|
||||||
// Initialisierung des Test Array + Gewichte
|
// Initialisierung des Test Array + Gewichte
|
||||||
for (int i = 0; i < M; i++)
|
for (int i = 0; i < NumberOfSamples; i++)
|
||||||
{
|
{
|
||||||
_x[i] += ((255.0 / M) * i);
|
_x[i] += ((255.0 / NumberOfSamples) * i);
|
||||||
for (int k = 1; k < M; k++)
|
for (int k = 0; k < windowSize; k++)
|
||||||
{
|
{
|
||||||
w[k, i] = rnd.NextDouble();
|
w[k, i] = rnd.NextDouble();
|
||||||
//Console.WriteLine(String.Format("Weight: {0}", w[k, i]));
|
//Console.WriteLine(String.Format("Weight: {0}", w[k, i]));
|
||||||
|
@ -41,7 +41,7 @@ int main(){
|
||||||
// Zum erstellen eines Files mit den Gewichten vor den Updates
|
// Zum erstellen eines Files mit den Gewichten vor den Updates
|
||||||
for (int i = 0; i < tracking; i++)
|
for (int i = 0; i < tracking; i++)
|
||||||
{
|
{
|
||||||
for (int k = 1; k < tracking; k++)
|
for (int k = 0; k < windowSize; k++)
|
||||||
{
|
{
|
||||||
File.AppendAllText("weights.txt",
|
File.AppendAllText("weights.txt",
|
||||||
String.Format("[{0}][{1}] {2}\n", k, i, Math.Round(w[k, i], 2).ToString()),
|
String.Format("[{0}][{1}] {2}\n", k, i, Math.Round(w[k, i], 2).ToString()),
|
||||||
|
@ -55,7 +55,7 @@ int main(){
|
||||||
// Zum erstellen eines Files mit den Gewichten nach den Updates
|
// Zum erstellen eines Files mit den Gewichten nach den Updates
|
||||||
for (int i = 0; i < tracking; i++)
|
for (int i = 0; i < tracking; i++)
|
||||||
{
|
{
|
||||||
for (int k = 1; k < tracking; k++)
|
for (int k = 0; k < windowSize; k++)
|
||||||
{
|
{
|
||||||
File.AppendAllText("weights_after.txt",
|
File.AppendAllText("weights_after.txt",
|
||||||
String.Format("[{0}][{1}] {2}\n", k, i, Math.Round(w[k, i], 2).ToString()),
|
String.Format("[{0}][{1}] {2}\n", k, i, Math.Round(w[k, i], 2).ToString()),
|
||||||
|
@ -74,18 +74,20 @@ Errechnet die 1. Variante, mit abziehen des lokalen Mittelwertes
|
||||||
void lokalerMittelWert()
|
void lokalerMittelWert()
|
||||||
{
|
{
|
||||||
//Array in dem e(n) gespeichert wird
|
//Array in dem e(n) gespeichert wird
|
||||||
double[] x_error = new double[M];
|
double[] x_error = new double[NumberOfSamples];
|
||||||
|
|
||||||
//Laufzeitvariable
|
//Laufzeitvariable
|
||||||
int x_count = 0;
|
int x_count = 0;
|
||||||
|
|
||||||
// x_count + 1 da x_count > 0 sein muss
|
// x_count + 1 da x_count > 0 sein muss
|
||||||
while (x_count + 1 < M)
|
while (x_count + 1 < NumberOfSamples)
|
||||||
{
|
{
|
||||||
//Erstellt ein neues Array der letzten "windowSize" Werte
|
//Erstellt ein neues Array der letzten "windowSize" Werte
|
||||||
double[] x_part_Array = new double[x_count];
|
double[] x_part_Array = new double[x_count];
|
||||||
|
|
||||||
//Anfang des Fensters das erstellt wird
|
//Anfang des Fensters das erstellt wird
|
||||||
int _sourceIndex = (x_count > windowSize) ? x_count - windowSize : 0;
|
int _sourceIndex = (x_count > windowSize) ? x_count - windowSize : 0;
|
||||||
|
|
||||||
//Länge des Fensters das erstellt wird
|
//Länge des Fensters das erstellt wird
|
||||||
int _arrayLength = (x_count > windowSize) ? windowSize : (x_count > 0) ? x_count - 1 : 0;
|
int _arrayLength = (x_count > windowSize) ? windowSize : (x_count > 0) ? x_count - 1 : 0;
|
||||||
|
|
||||||
|
@ -153,13 +155,13 @@ Errechnet die 2. Variante, mit abziehen des direkten Vorgängers
|
||||||
void direkterVorgaenger()
|
void direkterVorgaenger()
|
||||||
{
|
{
|
||||||
//Array in dem e(n) gespeichert wird
|
//Array in dem e(n) gespeichert wird
|
||||||
double[] x_error = new double[M];
|
double[] x_error = new double[NumberOfSamples];
|
||||||
|
|
||||||
//Laufzeitvariable
|
//Laufzeitvariable
|
||||||
int x_count = 0;
|
int x_count = 0;
|
||||||
|
|
||||||
// x_count + 1 da x_count > 0 sein muss
|
// x_count + 1 da x_count > 0 sein muss
|
||||||
while (x_count + 1 < M)
|
while (x_count + 1 < NumberOfSamples)
|
||||||
{
|
{
|
||||||
// Variable für die errechnete Zahl
|
// Variable für die errechnete Zahl
|
||||||
double x_pred = 0.0;
|
double x_pred = 0.0;
|
||||||
|
@ -254,13 +256,13 @@ Errechnet die 3. Variante, mit abziehen des differenziellen Vorgängers
|
||||||
void differenziellerVorgaenger()
|
void differenziellerVorgaenger()
|
||||||
{
|
{
|
||||||
//Array in dem e(n) gespeichert wird
|
//Array in dem e(n) gespeichert wird
|
||||||
double[] x_error = new double[M];
|
double[] x_error = new double[NumberOfSamples];
|
||||||
|
|
||||||
//Laufzeitvariable
|
//Laufzeitvariable
|
||||||
int x_count = 0;
|
int x_count = 0;
|
||||||
|
|
||||||
// x_count + 1 da x_count > 0 sein muss
|
// x_count + 1 da x_count > 0 sein muss
|
||||||
while (x_count + 1 < M)
|
while (x_count + 1 < NumberOfSamples)
|
||||||
{
|
{
|
||||||
// Variable für die errechnete Zahl
|
// Variable für die errechnete Zahl
|
||||||
double x_pred = 0.0;
|
double x_pred = 0.0;
|
||||||
|
|
Loading…
Reference in New Issue