QtiPlot
0.9.8.2
Main Page
Related Pages
Classes
Files
File List
File Members
qtiplot
src
analysis
Integration.h
Go to the documentation of this file.
1
/***************************************************************************
2
File : Integration.h
3
Project : QtiPlot
4
--------------------------------------------------------------------
5
Copyright : (C) 2007 by Ion Vasilief
6
Email (use @ for *) : ion_vasilief*yahoo.fr
7
Description : Numerical integration of data sets
8
9
***************************************************************************/
10
11
/***************************************************************************
12
* *
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. *
17
* *
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. *
22
* *
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 *
27
* *
28
***************************************************************************/
29
#ifndef INTEGRATION_H
30
#define INTEGRATION_H
31
32
#include "
Filter.h
"
33
34
class
Integration
:
public
Filter
35
{
36
Q_OBJECT
37
38
public
:
39
enum
Integrand
{
DataSet
,
AnalyticalFunction
};
40
41
Integration
(
ApplicationWindow
*parent,
Graph
*g = 0);
42
Integration
(
ApplicationWindow
*parent, QwtPlotCurve *c);
43
Integration
(
ApplicationWindow
*parent, QwtPlotCurve *c,
double
start,
double
end);
44
Integration
(
ApplicationWindow
*parent,
Graph
*g,
const
QString& curveTitle);
45
Integration
(
ApplicationWindow
*parent,
Graph
*g,
const
QString& curveTitle,
double
start,
double
end);
46
Integration
(
ApplicationWindow
*parent,
Table
*t,
const
QString& xCol,
const
QString& yCol,
int
start = 0,
int
end = -1,
bool
sort =
false
);
47
Integration
(
const
QString&
formula
,
const
QString& var,
ApplicationWindow
*parent,
Graph
*g,
double
start,
double
end);
48
49
void
setWorkspaceSize
(
int
size){
d_workspace_size
= size;};
50
51
double
area
(){
return
d_area
;};
52
QString
variable
(){
return
d_variable
;};
53
QString
formula
(){
return
d_formula
;};
54
55
private
:
56
void
init
();
57
QString
logInfo
();
58
59
void
output
();
60
61
double
trapez
();
62
double
gslIntegration
();
63
65
double
d_area
;
67
double
d_error
;
69
int
d_workspace_size
;
70
72
Integrand
d_integrand
;
74
QString
d_formula
;
76
QString
d_variable
;
77
};
78
79
#endif
Generated on Sat Jun 8 2013 23:27:26 for QtiPlot by
1.8.3.1