|
| | nmrLinearRegressionWindowRecursiveSolver (size_t length) |
| | ~nmrLinearRegressionWindowRecursiveSolver () |
| bool | Sample (const _elementType &x, const _elementType &y) |
| bool | EstimateAsFractions (SummationType &slope_num, SummationType &yint_num, SummationType &denom, SummationType *tse_num=0) |
| | nmrLinearRegressionWindowSolver (size_t length) |
| | ~nmrLinearRegressionWindowSolver () |
| virtual size_t | WindowLength () const |
| bool | Sample (const _elementType &x, const _elementType &y) |
| bool | Sample (const vctDynamicVector< _elementType > &CMN_UNUSED(x), const vctDynamicVector< _elementType > &CMN_UNUSED(y)) |
| bool | Sample (const vctDynamicConstVectorRef< _elementType > &CMN_UNUSED(x), const vctDynamicConstVectorRef< _elementType > &CMN_UNUSED(y)) |
| bool | Sample (const std::vector< _elementType > &CMN_UNUSED(x), const std::vector< _elementType > &CMN_UNUSED(y)) |
| virtual bool | Recalculate () |
| bool | EstimateAsFractions (SummationType &slope_num, SummationType &yint_num, SummationType &denom, SummationType *tse_num=0) |
| | nmrLinearRegressionSolver (_elementType tol=cmnTypeTraits< _elementType >::DefaultTolerance) |
| virtual | ~nmrLinearRegressionSolver () |
| size_t | NumPoints () const |
| _elementType | GetTolerance () const |
| void | SetTolerance (_elementType tol) |
| virtual void | Clear () |
| virtual bool | Sample (const vctFixedSizeVector< _elementType, 2 > &in) |
| virtual bool | Sample (const vctFixedSizeConstVectorRef< _elementType, 2, 1 > &in) |
| virtual bool | Sample (const vctDynamicVector< _elementType > &x, const vctDynamicVector< _elementType > &y) |
| virtual bool | Sample (const vctDynamicConstVectorRef< _elementType > &x, const vctDynamicConstVectorRef< _elementType > &y) |
| virtual bool | Sample (const std::vector< _elementType > &x, const std::vector< _elementType > &y) |
| virtual bool | Estimate (_elementType &slope, _elementType &yint, _elementType *mse=0) |
template<class _elementType>
class nmrLinearRegressionWindowRecursiveSolver< _elementType >
This class provides a recursive moving window linear regression solver using a least-squares solution. The window size is specified in the constructor. This implementation is recursive and therefore extremely efficient, regardless of window size. But, note that for floating point types, there is a chance for accumulation of round-off error with the recursive solver. There are two solutions: (1) use the non-recursive solver, nmrLinearRegressionWindowSolver, or (2) periodically call the Recalculate method, which is inherited from nmrLinearRegressionWindowSolver.