1
/***************************************************************************
4
--------------------------------------------------------------------
5
Copyright : (C) 2006 by Ion Vasilief, Tilman Benkert
6
Email (use @ for *) : ion_vasilief*yahoo.fr, thzs*gmx.net
7
Description : Polynomial Fit and Linear Fit classes
9
***************************************************************************/
11
/***************************************************************************
13
* This program is free software; you can redistribute it and/or modify *
14
* it under the terms of the GNU General Public License as published by *
15
* the Free Software Foundation; either version 2 of the License, or *
16
* (at your option) any later version. *
18
* This program is distributed in the hope that it will be useful, *
19
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
20
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
21
* GNU General Public License for more details. *
23
* You should have received a copy of the GNU General Public License *
24
* along with this program; if not, write to the Free Software *
25
* Foundation, Inc., 51 Franklin Street, Fifth Floor, *
26
* Boston, MA 02110-1301 USA *
28
***************************************************************************/
29
#ifndef POLYNOMIALFIT_H
30
#define POLYNOMIALFIT_H
34
class PolynomialFit : public Fit
39
PolynomialFit(ApplicationWindow *parent, Graph *g, int order = 2, bool legend = false);
40
PolynomialFit(ApplicationWindow *parent, Graph *g, QString& curveTitle, int order = 2, bool legend = false);
41
PolynomialFit(ApplicationWindow *parent, Graph *g, QString& curveTitle, double start, double end, int order = 2, bool legend = false);
43
virtual QString legendInfo();
46
static QString generateFormula(int order);
47
static QStringList generateParameterList(int order);
51
void calculateFitCurveData(double *par, double *X, double *Y);
57
class LinearFit : public Fit
62
LinearFit(ApplicationWindow *parent, Graph *g);
63
LinearFit(ApplicationWindow *parent, Graph *g, const QString& curveTitle);
64
LinearFit(ApplicationWindow *parent, Graph *g, const QString& curveTitle, double start, double end);
70
void calculateFitCurveData(double *par, double *X, double *Y);