/// <summary> /// Рассчитывает коэффициенты полинома и возвращает массив значений y*(<c>xPoints</c>). /// </summary> /// <remarks> /// y*(X) = a[0] + a[1]*x + a[2]*x^2 + ... + a[m]*x^m. /// </remarks> /// <param name="xPoints">Массив точек Х</param> /// <param name="yPoints">Массив точек Y(Х)</param> /// <param name="polynomialDegree">Степень полинома</param> /// <returns>Массив значений y*(Х)</returns> public static double[] GetYFromXValue(double[] xPoints, double[] yPoints, byte polynomialDegree) { var polinom = new PolynomialRegression(polynomialDegree, xPoints, yPoints); polinom.GetCoefficients(); return(polinom.GetYFromXValue()); }
/// <summary> /// Рассчитывает коэффициенты полинома и возвращает массив значений y*(<c>xPoints</c>). /// </summary> /// <remarks> /// y*(X) = a[0] + a[1]*x + a[2]*x^2 + ... + a[m]*x^m. /// </remarks> /// <param name="xPoints">Массив точек Х</param> /// <param name="yPoints">Массив точек Y(Х)</param> /// <param name="error">Допустимая погрешность</param> /// <returns>Массив значений y*(Х)</returns> public static double[] GetYFromXValue(double[] xPoints, double[] yPoints, double error) { var polinom = new PolynomialRegression(xPoints, yPoints, error); polinom.GetCoefficients(); return(polinom.GetYFromXValue()); }
/// <summary> /// Возвращает среднеквадратичную погрешность для полиномиальной регрессии. /// </summary> /// <param name="coefficients">Массив полученных при полиномиальной регрессии коэффициентов</param> /// <returns>Среднеквадратичная погрешность</returns> public double GetRegressionError(double[] coefficients) { return(PolynomialRegression.GetError(Y.Take(RegressionSampleLength).ToArray(), GetRegressionYFromXValue(coefficients))); }
/// <summary> /// Возвращает массив значений y*(х), при коэффициентах <c>coefficients</c>. /// </summary> /// <remarks> /// y*(X) = a[0] + a[1]*x + a[2]*x^2 + ... + a[m]*x^m. /// </remarks> /// <param name="coefficients">Массив коэффициентов полинома</param> /// <returns>Массив значений y*(Х)</returns> public double[] GetRegressionYFromXValue(double[] coefficients) { return(PolynomialRegression.GetYFromXValue(coefficients, X.Take(RegressionSampleLength).ToArray())); }
/// <summary> /// Возвращает массив коэффициентов полинома y*(X) c заданной степенью полинома. /// </summary> /// <remarks> /// y*(X) = a[0] + a[1]*x + a[2]*x^2 + ... + a[m]*x^m. /// </remarks> /// <param name="polynomialDegree">Степень полинома</param> /// <returns>Массив коэффициентов полинома</returns> public double[] GetRegressionYFromXValue(byte polynomialDegree) { return(PolynomialRegression.GetYFromXValue(X.Take(RegressionSampleLength).ToArray(), Y.Take(RegressionSampleLength).ToArray(), polynomialDegree)); }
/// <summary> /// Возвращает массив коэффициентов полинома y*(X). /// </summary> /// <remarks> /// y*(X) = a[0] + a[1]*x + a[2]*x^2 + ... + a[m]*x^m. /// </remarks> /// <param name="error">Допустимая погрешность</param> /// <returns>Массив коэффициентов полинома</returns> public double[] GetRegressionYFromXValue(double error) { return(PolynomialRegression.GetYFromXValue(X.Take(RegressionSampleLength).ToArray(), Y.Take(RegressionSampleLength).ToArray(), error)); }
/// <summary> /// Возвращает массив коэффициентов полинома y*(X), учитывая заданную ступень полинома. /// </summary> /// <remarks> /// y*(X) = a[0] + a[1]*x + a[2]*x^2 + ... + a[m]*x^m. /// </remarks> /// <param name="polynomialDegree">Степень полинома</param> /// <returns>Массив коэффициентов полинома</returns> public double[] GetRegressionCoefficients(byte polynomialDegree) { return(PolynomialRegression.GetCoefficients(X.Take(RegressionSampleLength).ToArray(), Y.Take(RegressionSampleLength).ToArray(), polynomialDegree)); }
/// <summary> /// Возвращает массив коэффициентов полинома y*(X), учитывая заданную погрешность. /// </summary> /// <remarks> /// y*(X) = a[0] + a[1]*x + a[2]*x^2 + ... + a[m]*x^m. /// </remarks> /// <param name="error">Допустимая погрешность</param> /// <returns>Массив коэффициентов полинома</returns> public double[] GetRegressionCoefficients(double error) { return(PolynomialRegression.GetCoefficients(X.Take(RegressionSampleLength).ToArray(), Y.Take(RegressionSampleLength).ToArray(), error)); }