9 #ifndef IMPALGEBRA_PARABOLIC_FIT_H
10 #define IMPALGEBRA_PARABOLIC_FIT_H
14 #include <cereal/access.hpp>
17 IMPALGEBRA_BEGIN_NAMESPACE
35 double get_a()
const {
return a_; }
38 double get_b()
const {
return b_; }
41 double get_c()
const {
return c_; }
44 out <<
"y = " << a_ <<
"x^2 + " << b_ <<
"x + " << c_ << std::endl;
45 out <<
"Error = " << error_ << std::endl;
49 void find_regression(
const Vector2Ds& data);
50 void evaluate_error(
const Vector2Ds& data);
56 friend class cereal::access;
58 template<
class Archive>
void serialize(Archive &ar) {
59 ar(a_, b_, c_, error_);
68 IMPALGEBRA_END_NAMESPACE
Base class for geometric types.
double get_b() const
get b value (b*x)
#define IMP_SHOWABLE_INLINE(Name, how_to_show)
Declare the methods needed by an object that can be printed.
Calculate parabola that fits best the input data points.
Vector< VectorD< 2 > > Vector2Ds
#define IMP_VALUES(Name, PluralName)
Define the type for storing sets of values.
Base class for geometric types.
double get_c() const
get c value (constant)
double get_fit_error() const
fit error
double get_a() const
get a value (a*x^2)