![]() |
Bsoft 2.1.4
Bernard's software package
|
Solving sets of linear equations through matrix algebra. More...
Functions | |
double | linear_least_squares (int n1, int n2, double *x, double *y, double &a, double &b) |
Does a linear least squares fit between two vectors. More... | |
double | linear_least_squares (int n1, int n2, vector< double > &x, vector< double > &y, double &a, double &b) |
double | fit_polynomial (int n, vector< double > &x, vector< double > &y, int order, vector< double > &coeff) |
Fits a data set to a polynomial function. More... | |
double | fit_polynomial (int n, double *x, double *y, int order, double *coeff) |
Fits a data set to a polynomial function. More... | |
Vector3< double > | fit_plane (Matrix a, vector< double > b) |
Solves for fitting a plane through a model. More... | |
vector< double > | fit_conic (vector< Vector3< double > > v) |
Solves for fitting a conic through a model. More... | |
vector< double > | fit_ellipse (vector< Vector3< double > > v) |
Solves for fitting a conic through a model. More... | |
vector< double > | fit_ellipse2 (vector< Vector3< double > > v) |
Solves for fitting a conic through a model. More... | |
Variables | |
int | verbose |
Solving sets of linear equations through matrix algebra.
vector< double > fit_conic | ( | vector< Vector3< double > > | v | ) |
Solves for fitting a conic through a model.
v | set of xy coordinates. |
The conic is defined as: 0 = c0 + c1*x + c2*y + c3*x2 + c4*x*y + c5*y2
vector< double > fit_ellipse | ( | vector< Vector3< double > > | v | ) |
Solves for fitting a conic through a model.
v | set of xy coordinates. |
The conic is defined as: 0 = c0 + c1*x + c2*y + c3*x2 + c4*x*y + c5*y2
vector< double > fit_ellipse2 | ( | vector< Vector3< double > > | v | ) |
Solves for fitting a conic through a model.
v | set of xy coordinates. |
The conic is defined as: 0 = c0 + c1*x + c2*y + c3*x2 + c4*x*y + c5*y2
Solves for fitting a plane through a model.
a | 3x3 matrix with cross-terms. |
b | 3 vector with averages. |
A plane is fit through the components and the normal calculated from: n•p = d where n is the normal vector, p is a point in the plane, and d is the offset.
double fit_polynomial | ( | int | n, |
double * | x, | ||
double * | y, | ||
int | order, | ||
double * | coeff | ||
) |
Fits a data set to a polynomial function.
n | number of data points. |
*x | x array (at least order+1 values). |
*y | y array (at least order+1 values). |
order | polynomial order. |
*coeff | array in which coefficients are returned (order+1 values) (if NULL, no coefficients returned). |
A polynomial of any order is fitted to the data using a least squares. The polynomial is defined as: f(x) = a0 + a1*x + a2*x^2 + ... The number of coefficients returned is the order plus one. The deviation is defined as: R = sqrt(sum(y - f(x))^2/n)
double fit_polynomial | ( | int | n, |
vector< double > & | x, | ||
vector< double > & | y, | ||
int | order, | ||
vector< double > & | coeff | ||
) |
Fits a data set to a polynomial function.
n | number of data points. |
&x | x array (at least order+1 values). |
&y | y array (at least order+1 values). |
order | polynomial order. |
&coeff | array in which coefficients are returned (order+1 values) (if NULL, no coefficients returned). |
A polynomial of any order is fitted to the data using a least squares. The polynomial is defined as: f(x) = a0 + a1*x + a2*x^2 + ... The number of coefficients returned is the order plus one. The deviation is defined as: R = sqrt(sum(y - f(x))^2/n)
double linear_least_squares | ( | int | n1, |
int | n2, | ||
double * | x, | ||
double * | y, | ||
double & | a, | ||
double & | b | ||
) |
Does a linear least squares fit between two vectors.
n1 | the starting index in each vector (usually 0). |
n2 | the final index in each vector. |
*x | x vector (at least n2+1 elements). |
*y | y vector (at least n2+1 elements). |
&a | the intercept. |
&b | the slope. |
The two input vectors must have elements between indices n1 and n2.
double linear_least_squares | ( | int | n1, |
int | n2, | ||
vector< double > & | x, | ||
vector< double > & | y, | ||
double & | a, | ||
double & | b | ||
) |
|
extern |