private void button3_Click(object sender, EventArgs e) { for (int i = 0; i < 1000; i++) { Point P = new Point(Constatnts.GetDouble(0, 7), Constatnts.GetDouble(1, 5)); double[] x = new double[] { P.X, P.Y }; neuro.SetX(x); var res = neuro.GetOut(); DataPoint dp = new DataPoint(P.X, P.Y); if (res[0] > 0.9) { dp.Color = System.Drawing.Color.Red; } else if (res[1] > 0.9) { dp.Color = System.Drawing.Color.Green; } else if (res[2] > 0.9) { dp.Color = System.Drawing.Color.Blue; } else { dp.Color = System.Drawing.Color.Orange; } chart1.Series[1].Points.Add(dp); } this.Refresh(); }
private void button1_Click(object sender, EventArgs e) { int first = 30; int second = 3; neuro = new RBFNeuroSystem(first * 3, second); int i = 0; List <double[]> ls = new List <double[]>(); for (; i < first; i++) { var nr = (RBFNeuron)neuro.Neurons[0][i]; nr.X = new double[] { Constatnts.GetDouble(1, 2), Constatnts.GetDouble(2, 4) }; ls.Add(nr.X); } for ( ; i < 2 * first; i++) { var nr = (RBFNeuron)neuro.Neurons[0][i]; nr.X = new double[] { Constatnts.GetDouble(3, 4), Constatnts.GetDouble(2, 4) }; ls.Add(nr.X); } for ( ; i < 3 * first; i++) { var nr = (RBFNeuron)neuro.Neurons[0][i]; nr.X = new double[] { Constatnts.GetDouble(5, 6), Constatnts.GetDouble(2, 4) }; ls.Add(nr.X); } int counter = 1; double E = double.MaxValue; while (E > Constatnts._Epselon) { for (int j = 0; j < counter; j++) { while (E > Constatnts._Epselon) { neuro.Teach(ls[j], getT(new Point(ls[j][0], ls[j][1]))); E = Constatnts.GetE(neuro.GetOut(), getT(new Point(ls[j][0], ls[j][1]))); } E = double.MaxValue; } if (counter != ls.Count) { counter++; E = double.MaxValue; } else { E = double.MinValue; } } MessageBox.Show("Done!"); }