This commit is contained in:
kbecke23 2018-05-09 13:09:33 +02:00
parent 14d6bbc2f6
commit a3dd80af5b
1 changed files with 15 additions and 13 deletions

View File

@ -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;