COSMOS core
1.0.2 (beta)
Comprehensive Open-architecture Solution for Mission Operations Systems
Main Page
Related Pages
Modules
Classes
Files
File List
File Members
lsfit.h
Go to the documentation of this file.
1
/********************************************************************
2
* Copyright (C) 2015 by Interstel Technologies, Inc.
3
* and Hawaii Space Flight Laboratory.
4
*
5
* This file is part of the COSMOS/core that is the central
6
* module for COSMOS. For more information on COSMOS go to
7
* <http://cosmos-project.com>
8
*
9
* The COSMOS/core software is licenced under the
10
* GNU Lesser General Public License (LGPL) version 3 licence.
11
*
12
* You should have received a copy of the
13
* GNU Lesser General Public License
14
* If not, go to <http://www.gnu.org/licenses/>
15
*
16
* COSMOS/core is free software: you can redistribute it and/or
17
* modify it under the terms of the GNU Lesser General Public License
18
* as published by the Free Software Foundation, either version 3 of
19
* the License, or (at your option) any later version.
20
*
21
* COSMOS/core is distributed in the hope that it will be useful, but
22
* WITHOUT ANY WARRANTY; without even the implied warranty of
23
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
24
* Lesser General Public License for more details.
25
*
26
* Refer to the "licences" folder for further information on the
27
* condititons and terms to use this software.
28
********************************************************************/
29
30
#ifndef _MATH_LSFIT_H
31
#define _MATH_LSFIT_H
32
33
#include "
support/configCosmos.h
"
34
#include "
vector.h
"
35
// #include "quaternion.h"
36
// TODO: remove dependency from mathlib (uvector)
37
#include "
math/mathlib.h
"
38
39
#include <cstdint>
40
41
// TODO: bring LsFit from mathlib
42
43
//class LsFit
44
//{
45
//private:
46
// //! Least Squares Fit Element
47
// /*! Contains the dependent (x) and independent (y) values for a single element of a ::fitstruc.
48
// * The ::uvector allows both quaternions and rvector to be fit.
49
// */
50
// struct fitelement
51
// {
52
// // Independent variable
53
// double x;
54
// // Double, rvector or quaternion dependent variable
55
// uvector y;
56
// } ;
57
58
// //! Least Squares Fit Structure
59
// /*! Contains the data for a second order least squares fit of N elements that are type
60
// * ::rvector or ::quaternion.
61
// */
62
// // Number of elements in fit
63
// uint16_t element_cnt;
64
// // Number of axes (double, rvector, quaternion)
65
// uint16_t depth;
66
// // Order of fit
67
// uint32_t order;
68
// // base level subtracted from independent variable before fitting
69
// double basex;
70
// // Of size element_cnt
71
// deque<fitelement> var;
72
73
// vector< vector<double> > parms;
74
75
// void fit();
76
77
//public:
78
// double meanx;
79
// uvector meany;
80
// double stdevx;
81
// uvector stdevy;
82
// // Minimum reasonable step in dependent variable
83
// double resolution;
84
85
// // constructors
86
// LsFit();
87
// LsFit(uint16_t element_cnt);
88
// LsFit(uint16_t element_cnt, uint16_t ord);
89
// LsFit(uint16_t cnt, uint16_t ord, double res);
90
91
// void update(double x, double y);
92
// void update(double x, rvector y);
93
// void update(double x, quaternion y);
94
// void update(fitelement cfit, uint16_t dep);
95
// double lastx();
96
// double eval(double x);
97
// rvector evalrvector(double x);
98
// quaternion evalquaternion(double x);
99
// double slope(double x);
100
// rvector slopervector(double x);
101
// quaternion slopequaternion(double x);
102
// vector<vector<double> > getparms(double x);
103
//};
104
105
#endif // _MATH_LSFIT_H
configCosmos.h
Headers and definitions common to all COSMOS.
mathlib.h
mathlib include file
vector.h
libraries
math
lsfit.h
Generated on Thu Jan 28 2021 02:43:45 for COSMOS core by
1.8.11