# PolyFitEx

Advanced Analysis Library Only

AnalysisLibErrType PolyFitEx (double arrayX[], double arrayY[], int numberOfElements, int order, int specCoefficientOrder[], double specCoefficients[], int numberOfSpecCoefficients, int algorithm, double fittedData[], double coefficients[], double *mse);

## Purpose

Fits the data set (x, y) to a polynomial model using the Least Square method. The following equation represents the polynomial model:

where a0, a1, ... , am-1 are the polynomial coefficients.

## Parameters

Input
Name | Type | Description
arrayX | double-precision array | The x value of the data set (x, y). If fittedData is NULL, the best fit array overwrites arrayX.
arrayY | double-precision array | The y value of the data set (x, y).
numberOfElements | integer | The length of arrayX and arrayY.
order | integer | The order of the polynomial to which to fit the data set. order must be greater than or equal to 0.
specCoefficientOrder | integer array | specCoefficientOrder contains the orders on which the polynomial coefficients are constrained to be the known values specified in specCoefficients. Set specCoefficientOrder to NULL if there are no constrained coefficients.
specCoefficients | double-precision array | specCoefficients contains the coefficients on the orders specified in specCoefficientOrder. Set specCoefficients to NULL if there are no constrained coefficients.
numberOfSpecCoefficients | integer | The length of specCoefficientOrder and specCoefficients. numberOfSpecCoefficients is optional. Set numberOfSpecCoefficients to 0 if a specified order and coefficients are not available.
algorithm | integer | The algorithm used in polynomial fit. algorithm must be one of the following values: POLYFIT_SVD (0) POLYFIT_QR (1) POLYFIT_LU (2) POLYFIT_CHOLESKY (3)
Output
Name | Type | Description
fittedData | double-precision array | The y values calculated using the polynomial model. If fittedData is NULL, the best fit array overwrites arrayX.
coefficients | double-precision array | The coefficients of the fitted polynomial in ascending order of power.
mse | double-precision | The mean square error.

## Return Value

Name | Type | Description
status | AnalysisLibErrType | A value that specifies the type of error that occurred. Refer to analysis.h for definitions of these constants.