Next: Linear fitting without a constant term, Previous: Fitting Overview, Up: Least-Squares Fitting [Index]

The functions described in this section can be used to perform
least-squares fits to a straight line model, *Y(c,x) = c_0 + c_1 x*.

- Function:
*int***gsl_fit_linear***(const double **`x`, const size_t`xstride`, const double *`y`, const size_t`ystride`, size_t`n`, double *`c0`, double *`c1`, double *`cov00`, double *`cov01`, double *`cov11`, double *`sumsq`) This function computes the best-fit linear regression coefficients (

`c0`,`c1`) of the model*Y = c_0 + c_1 X*for the dataset (`x`,`y`), two vectors of length`n`with strides`xstride`and`ystride`. The errors on`y`are assumed unknown so the variance-covariance matrix for the parameters (`c0`,`c1`) is estimated from the scatter of the points around the best-fit line and returned via the parameters (`cov00`,`cov01`,`cov11`). The sum of squares of the residuals from the best-fit line is returned in`sumsq`. Note: the correlation coefficient of the data can be computed using`gsl_stats_correlation`

(see Correlation), it does not depend on the fit.

- Function:
*int***gsl_fit_wlinear***(const double **`x`, const size_t`xstride`, const double *`w`, const size_t`wstride`, const double *`y`, const size_t`ystride`, size_t`n`, double *`c0`, double *`c1`, double *`cov00`, double *`cov01`, double *`cov11`, double *`chisq`) This function computes the best-fit linear regression coefficients (

`c0`,`c1`) of the model*Y = c_0 + c_1 X*for the weighted dataset (`x`,`y`), two vectors of length`n`with strides`xstride`and`ystride`. The vector`w`, of length`n`and stride`wstride`, specifies the weight of each datapoint. The weight is the reciprocal of the variance for each datapoint in`y`.The covariance matrix for the parameters (

`c0`,`c1`) is computed using the weights and returned via the parameters (`cov00`,`cov01`,`cov11`). The weighted sum of squares of the residuals from the best-fit line,*\chi^2*, is returned in`chisq`.

- Function:
*int***gsl_fit_linear_est***(double*`x`, double`c0`, double`c1`, double`cov00`, double`cov01`, double`cov11`, double *`y`, double *`y_err`) This function uses the best-fit linear regression coefficients

`c0`,`c1`and their covariance`cov00`,`cov01`,`cov11`to compute the fitted function`y`and its standard deviation`y_err`for the model*Y = c_0 + c_1 X*at the point`x`.