STK++ 0.9.13
STK::SinesCoefficients< Data, Coefs > Class Template Reference

SinesCoefficients class allows to compute the coefficients of a sampled function using sines basis functions. More...

#include <STK_SinesCoefficients.h>

Inheritance diagram for STK::SinesCoefficients< Data, Coefs >:
Inheritance graph

Public Types

typedef IBasis< Data, CoefsBase
 
typedef Data::Type Type
 
- Public Types inherited from STK::IBasis< Data, Coefs >
typedef Data::Type Type
 

Public Member Functions

 SinesCoefficients (Data const *p_data=0, int dim=1, bool useDataValues=true)
 default constructor
 
 SinesCoefficients (Data const &data, int dim, bool useDataValues=true)
 constructor
 
 SinesCoefficients (SinesCoefficients const &coefs)
 copy constructor.
 
virtual ~SinesCoefficients ()
 Destructor.
 
SinesCoefficientsclone () const
 clone pattern implementation
 
virtual bool run ()
 run the computations.
 
- Public Member Functions inherited from STK::IBasis< Data, Coefs >
 IBasis ()
 default constructor
 
 IBasis (Data const *p_data, int dim, bool useDataValues=true)
 constructor
 
 IBasis (Data const &data, int dim, bool useDataValues=true)
 constructor
 
 IBasis (IBasis const &basis)
 copy constructor.
 
virtual ~IBasis ()
 destructor
 
int dim () const
 
Coefs constcoefficients () const
 
Type minValue () const
 
Type maxValue () const
 
void setData (Data const &data)
 Set the data set.
 
void setDim (int dim)
 
void setMinValue (Type const &minValue)
 
void setMaxValue (Type const &maxValue)
 
bool initializeStep ()
 Initialize the parameters minValue_ and maxValue_ using data set.
 
- Public Member Functions inherited from STK::IRunnerBase
String consterror () const
 get the last error message.
 

Public Attributes

Data constp_data_
 the input data set
 
Coefs coefficients_
 Array2D of the coefficients.
 
int dim_
 number of dimension to build
 
Type minValue_
 Minimal value of the data.
 
Type maxValue_
 Maximal value of the data.
 

Additional Inherited Members

- Protected Member Functions inherited from STK::IBasis< Data, Coefs >
virtual void update ()
 update IBasis if a parameter or a new data set is set, update the state of this runner.
 
- Protected Member Functions inherited from STK::IRunnerBase
 IRunnerBase ()
 default constructor
 
 IRunnerBase (IRunnerBase const &runner)
 copy constructor
 
virtual ~IRunnerBase ()
 destructor
 
- Protected Attributes inherited from STK::IBasis< Data, Coefs >
Data constp_data_
 the input data set
 
int dim_
 number of dimension to build
 
bool useDataValues_
 
Type minValue_
 Minimal value of the data.
 
Type maxValue_
 Maximal value of the data.
 
Coefs coefficients_
 Array2D of the coefficients.
 
- Protected Attributes inherited from STK::IRunnerBase
String msg_error_
 String with the last error message.
 
bool hasRun_
 true if run has been used, false otherwise
 

Detailed Description

template<class Data, class Coefs = ArrayXX>
class STK::SinesCoefficients< Data, Coefs >

SinesCoefficients class allows to compute the coefficients of a sampled function using sines basis functions.

Definition at line 47 of file STK_SinesCoefficients.h.

Member Typedef Documentation

◆ Base

template<class Data , class Coefs = ArrayXX>
typedef IBasis<Data, Coefs> STK::SinesCoefficients< Data, Coefs >::Base

Definition at line 50 of file STK_SinesCoefficients.h.

◆ Type

template<class Data , class Coefs = ArrayXX>
typedef Data::Type STK::SinesCoefficients< Data, Coefs >::Type

Definition at line 51 of file STK_SinesCoefficients.h.

Constructor & Destructor Documentation

◆ SinesCoefficients() [1/3]

template<class Data , class Coefs = ArrayXX>
STK::SinesCoefficients< Data, Coefs >::SinesCoefficients ( Data const p_data = 0,
int  dim = 1,
bool  useDataValues = true 
)
inline

default constructor

Parameters
p_datapointer on the data set
dimnumber of basis to use
useDataValuesif true use data in order to find the minValue_ and maxValue_, use values set otherwise.

Definition at line 67 of file STK_SinesCoefficients.h.

68 : Base(p_data, dim, useDataValues){}
int dim() const
Definition STK_IBasis.h:77
IBasis< Data, Coefs > Base

◆ SinesCoefficients() [2/3]

template<class Data , class Coefs = ArrayXX>
STK::SinesCoefficients< Data, Coefs >::SinesCoefficients ( Data const data,
int  dim,
bool  useDataValues = true 
)
inline

constructor

Parameters
datareference on the data set
dimnumber of basis to use
useDataValuesif true use data in order to find the minValue_ and maxValue_, use values set otherwise.

Definition at line 75 of file STK_SinesCoefficients.h.

76 : Base(data, dim, useDataValues){}

◆ SinesCoefficients() [3/3]

template<class Data , class Coefs = ArrayXX>
STK::SinesCoefficients< Data, Coefs >::SinesCoefficients ( SinesCoefficients< Data, Coefs > const coefs)
inline

copy constructor.

Parameters
coefsthe coefficients to copy

Definition at line 80 of file STK_SinesCoefficients.h.

80: Base(coefs){}

◆ ~SinesCoefficients()

template<class Data , class Coefs = ArrayXX>
virtual STK::SinesCoefficients< Data, Coefs >::~SinesCoefficients ( )
inlinevirtual

Destructor.

Definition at line 82 of file STK_SinesCoefficients.h.

82{}

Member Function Documentation

◆ clone()

template<class Data , class Coefs = ArrayXX>
SinesCoefficients * STK::SinesCoefficients< Data, Coefs >::clone ( ) const
inline

clone pattern implementation

Definition at line 84 of file STK_SinesCoefficients.h.

84{ return new SinesCoefficients(*this);}
SinesCoefficients(Data const *p_data=0, int dim=1, bool useDataValues=true)
default constructor

◆ run()

template<class Data , class Coefs >
bool STK::SinesCoefficients< Data, Coefs >::run ( )
virtual

run the computations.

Implements STK::IRunnerBase.

Definition at line 91 of file STK_SinesCoefficients.h.

92{
93 // check if data exists
94 if (!p_data_)
95 {
97 return false;
98 }
99 if (!this->initializeStep()) return false;
100 if (dim_>1)
101 {
102 coefficients_.col(0) = Type(1);
103 Type period = Type(2)*Const::_PI_/(maxValue_ - minValue_);
104 for(int j=1; j<coefficients_.endCols(); ++j)
105 {
106 coefficients_.col(j) = (*p_data_ * Type(j)*period).sin();
107 }
108 }
109 this->hasRun_ = true;
110 return true;
111
112}
#define STKERROR_NO_ARG(Where, Error)
Definition STK_Macros.h:49
bool initializeStep()
Initialize the parameters minValue_ and maxValue_ using data set.
Definition STK_IBasis.h:181
String msg_error_
String with the last error message.
Definition STK_IRunner.h:96
bool hasRun_
true if run has been used, false otherwise
Definition STK_IRunner.h:98
Data const * p_data_
the input data set
Definition STK_IBasis.h:110
Type minValue_
Minimal value of the data.
Definition STK_IBasis.h:116
virtual bool run()
run the computations.
Type maxValue_
Maximal value of the data.
Definition STK_IBasis.h:118
int dim_
number of dimension to build
Definition STK_IBasis.h:112
Coefs coefficients_
Array2D of the coefficients.
Definition STK_IBasis.h:121

References STK::IRunnerBase::hasRun_, STK::IRegression< Array, Array, Weight >::initializeStep(), STK::IRunnerBase::msg_error_, STK::SinesCoefficients< Data, Coefs >::run(), and STKERROR_NO_ARG.

Referenced by STK::ChebyshevCoefficients< Data, Coefs >::run(), and STK::SinesCoefficients< Data, Coefs >::run().

Member Data Documentation

◆ coefficients_

template<class Data , class Coefs = ArrayXX>
Coefs STK::IBasis< Data, Coefs >::coefficients_

Array2D of the coefficients.

Definition at line 121 of file STK_IBasis.h.

◆ dim_

template<class Data , class Coefs = ArrayXX>
int STK::IBasis< Data, Coefs >::dim_

number of dimension to build

Definition at line 112 of file STK_IBasis.h.

◆ maxValue_

template<class Data , class Coefs = ArrayXX>
Type STK::IBasis< Data, Coefs >::maxValue_

Maximal value of the data.

Definition at line 118 of file STK_IBasis.h.

◆ minValue_

template<class Data , class Coefs = ArrayXX>
Type STK::IBasis< Data, Coefs >::minValue_

Minimal value of the data.

Definition at line 116 of file STK_IBasis.h.

◆ p_data_

template<class Data , class Coefs = ArrayXX>
Data const* STK::IBasis< Data, Coefs >::p_data_

the input data set

Definition at line 110 of file STK_IBasis.h.


The documentation for this class was generated from the following file: