示例#1
0
文件: Form1.cs 项目: Xobr/Neuro_Labs
        private void button3_Click(object sender, EventArgs e)
        {
            Clear();

            var res = Constatnts.GetArray(double.Parse(textBox1.Text), double.Parse(textBox2.Text), double.Parse(textBox3.Text));

            foreach (var elem in res)
            {
                chart1.Series[0].Points.AddXY(elem.X, elem.Y);
                chart1.Series[2].Points.AddXY(elem.X, elem.Y);
            }

            int    cp        = int.Parse(textBox5.Text);
            double step      = double.Parse(textBox3.Text);
            double lastPoint = double.Parse(textBox2.Text) - (cp * step);
            var    data      = Constatnts.GetArray(double.Parse(textBox1.Text), double.Parse(textBox2.Text), double.Parse(textBox3.Text));
            var    ls        = new List <double>();

            for (int i = data.Length - 2 * cp; i < data.Length - cp; i++)
            {
                ls.Add(Constatnts.TransformerAlong(data[i].Y));
            }
            // lastPoint += step;
            int index = data.Length - cp;

            for (int i = 0; i < cp; i++)
            {
                neuro.SetX(ls.ToArray());
                double s    = neuro.GetResult();
                double real = Constatnts.TransformerBack(s);
                chart1.Series[1].Points.AddXY(lastPoint, real);
                chart1.Series[3].Points.AddXY(lastPoint, real);
                ls.Add(s);
                ls.RemoveAt(0);
                lastPoint += step;
                dataGridView1.Rows.Add(i + 1, data[index + i].Y.ToString("N4"), real.ToString("N4"), (Constatnts.GetPercError(real, data[index + i].Y) * 100).ToString("N2"));
            }
            this.Refresh();
        }