Пример #1
0
        public bool SetData(String filename)
        {
            _initialized = false;
            Data.Clear();
            try {
                StreamReader sr    = new StreamReader(filename);
                int          index = 0;
                while (!sr.EndOfStream)
                {
                    var line      = sr.ReadLine();
                    var lines     = line.Split(new char[] { '\t', ' ' });
                    var linaeList = lines.ToList();
                    for (int i = linaeList.Count - 1; i >= 0; i--)
                    {
                        if (linaeList[i] == "")
                        {
                            linaeList.RemoveAt(i);
                        }
                    }

                    double[] point = new double[linaeList.Count - 1];
                    for (int i = 0; i < linaeList.Count - 1; i++)
                    {
                        point[i] = Convert.ToSingle(linaeList[i].Replace('.', ','));
                    }

                    Data.Add(new Point(point, Convert.ToSingle(linaeList.Last().Replace('.', ','))));
                    index++;
                }
                sr.Close();
                _initialized = true;

                makeFields();

                func = x => {
                    List <double> retValue = new List <double>();
                    retValue.Add(1.0);
                    for (int i = 0; i < x.Count(); i++)
                    {
                        retValue.Add(x[i]);
                        for (int j = i; j < x.Count(); j++)
                        {
                            retValue.Add(x[i] * x[j]);
                        }
                    }
                    return(retValue.ToArray());
                };

                double[] y = new double[Data.Count];
                for (int i = 0; i < Data.Count; i++)
                {
                    y[i] = Data[i].Y;
                }
                _Y = new Matrix(1, y.ToArray());

                return(true);
            }
            catch (Exception) { return(false); }
        }
Пример #2
0
        public bool SetData(String filename)
        {
            _initialized = false;
              Data.Clear();
              try {
            StreamReader sr = new StreamReader(filename);
            int index = 0;
            while (!sr.EndOfStream) {
              var line = sr.ReadLine();
              var lines = line.Split(new char[] { '\t', ' ' });
              var linaeList = lines.ToList();
              for (int i = linaeList.Count - 1; i >= 0; i--)
            if (linaeList[i] == "") linaeList.RemoveAt(i);

              double[] point = new double[linaeList.Count - 1];
              for (int i = 0; i < linaeList.Count - 1; i++)
            point[i] = Convert.ToSingle(linaeList[i].Replace('.',','));

              Data.Add(new Point(point, Convert.ToSingle(linaeList.Last().Replace('.', ','))));
              index++;
            }
            sr.Close();
            _initialized = true;

            makeFields();

            func = x => {
              List<double> retValue = new List<double>();
              retValue.Add(1.0);
              for (int i = 0; i < x.Count(); i++) {
            retValue.Add(x[i]);
            for (int j = i; j < x.Count(); j++)
              retValue.Add(x[i] * x[j]);
              }
              return retValue.ToArray();
            };

            double[] y = new double[Data.Count];
            for (int i = 0; i < Data.Count; i++) y[i] = Data[i].Y;
            _Y = new Matrix(1, y.ToArray());

            return true;
              }
              catch (Exception) { return false; }
        }