/// <summary>
        /// Расчет одного значения
        /// </summary>
        /// <param name="inp">Независимая переменная</param>
        /// <returns>Прогноз</returns>
        public double Predict(double inp)
        {
            Vector data = ExtensionOfFeatureSpace.GaussRBF(inp, X, sig);
            double outp = GeomFunc.ScalarProduct(data, param);

            return(outp);
        }
        private void Param()
        {
            A = new Matrix(n, n);

            Vector[] vect = new Vector[n];
            for (int i = 0; i < n; i++)
            {
                vect[i] = ExtensionOfFeatureSpace.GaussRBF(newX[i], newX, sigma);
            }

            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < n; j++)
                {
                    A[i, j] = vect[i][j];
                }
            }

            Kramer kram = new Kramer();

            param = kram.GetAnswer(A, newY);
        }
        private void Param()
        {
            Matrix A = new Matrix(X.N, X.N);

            Vector[] vect = new Vector[X.N];
            for (int i = 0; i < X.N; i++)
            {
                vect[i] = ExtensionOfFeatureSpace.GaussRBF(X[i], X, sig);
            }

            for (int i = 0; i < X.N; i++)
            {
                for (int j = 0; j < X.N; j++)
                {
                    A[i, j] = vect[i][j];
                }
            }

            Kramer kram = new Kramer();

            param = kram.GetAnswer(A, Y);
        }
        /// <summary>
        /// Прогноз
        /// </summary>
        /// <param name="inp">Значение незав. переменной</param>
        public double Predict(double inp)
        {
            Vector X = ExtensionOfFeatureSpace.GaussRBF(inp, newX, sigma);

            return(GeomFunc.ScalarProduct(X, param));
        }