From 6b60fc561f8ee4d8bafd8c6791b76a3b848d3829 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9a=20Saviot?= Date: Thu, 2 Jul 2020 16:23:09 +0200 Subject: [PATCH] [apps/regression] Fix wrong proportional model fit --- apps/regression/model/proportional_model.cpp | 4 ---- apps/regression/model/proportional_model.h | 1 - apps/regression/test/model.cpp | 8 ++++++++ 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/apps/regression/model/proportional_model.cpp b/apps/regression/model/proportional_model.cpp index 22f62e5a4..3ae682488 100644 --- a/apps/regression/model/proportional_model.cpp +++ b/apps/regression/model/proportional_model.cpp @@ -27,10 +27,6 @@ double ProportionalModel::levelSet(double * modelCoefficients, double xMin, doub return y/a; } -void ProportionalModel::fit(Store * store, int series, double * modelCoefficients, Poincare::Context * context) { - modelCoefficients[0] = store->slope(series); -} - double ProportionalModel::partialDerivate(double * modelCoefficients, int derivateCoefficientIndex, double x) const { assert(derivateCoefficientIndex == 0); // Derivate: x diff --git a/apps/regression/model/proportional_model.h b/apps/regression/model/proportional_model.h index b2eca094f..8c2ff44d3 100644 --- a/apps/regression/model/proportional_model.h +++ b/apps/regression/model/proportional_model.h @@ -12,7 +12,6 @@ public: I18n::Message formulaMessage() const override { return I18n::Message::ProportionalRegressionFormula; } double evaluate(double * modelCoefficients, double x) const override; double levelSet(double * modelCoefficients, double xMin, double step, double xMax, double y, Poincare::Context * context) override; - void fit(Store * store, int series, double * modelCoefficients, Poincare::Context * context) override; double partialDerivate(double * modelCoefficients, int derivateCoefficientIndex, double x) const override; int numberOfCoefficients() const override { return 1; } int bannerLinesCount() const override { return 2; } diff --git a/apps/regression/test/model.cpp b/apps/regression/test/model.cpp index ff07521e7..0abbad61a 100644 --- a/apps/regression/test/model.cpp +++ b/apps/regression/test/model.cpp @@ -50,6 +50,14 @@ QUIZ_CASE(proportional_regression) { assert_regression_is(x, y, 5, Model::Type::Proportional, coefficients); } +QUIZ_CASE(proportional_regression2) { + constexpr int numberOfPoints = 4; + double x[numberOfPoints] = {5.0, 2.0, 3.0, 4.0}; + double y[numberOfPoints] = {10.0, 6.0, 7.0, 8.0}; + double coefficients[] = {2.12963963}; + assert_regression_is(x, y, numberOfPoints, Model::Type::Proportional, coefficients); +} + QUIZ_CASE(quadratic_regression) { double x[] = {-34.0, -12.0, 5.0, 86.0, -2.0}; double y[] = {-8241.389, -1194.734, -59.163, - 46245.39, -71.774};