SourcePro® API Reference Guide

 
Loading...
Searching...
No Matches
RWAddObservations< T, S > Class Template Reference

Holds information about adding observations to a parameter calculation. More...

#include <rw/analytics/regcalc.h>

Inheritance diagram for RWAddObservations< T, S >:
RWRegressionDataChange< T, S >

Public Member Functions

 RWAddObservations ()
 
 RWAddObservations (const RWAddObservations< T, S > &a)
 
 RWAddObservations (const RWGenMat< T > &r, const RWMathVec< S > o, size_t numAdded, bool setBaseToLast=false)
 
int numAdded () const
 
void setNumAdded (int na)
 
- Public Member Functions inherited from RWRegressionDataChange< T, S >
bool baseToLast () const
 
const RWMathVec< S > & newObservationVec () const
 
const RWGenMat< T > & newRegressionMat () const
 
void setBaseToLast (bool s)
 
void setNewObservationVec (const RWMathVec< S > &o)
 
void setNewRegressionMat (const RWGenMat< T > &r)
 

Detailed Description

template<class T, class S>
class RWAddObservations< T, S >

Class RWAddObservations holds information about adding observations to a parameter calculation object's base calculation. This information must consist of the following:

  • The new regression matrix. This is the regression matrix used in the parameter calculation's objects base calculation with the rows representing the added observations appended.
  • The new observation vector. This is the observation vector used in the parameter calculation object's base calculation with the added observations appended.
  • The number of observations added.
Synopsis
#include <rw/analytics/regcalc.h>
Holds information about adding observations to a parameter calculation.
Definition regcalc.h:474
Example
#include <rw/analytics/lsqqr.h>
#include <rw/rstream.h>
int main() {
// Full model regression matrix.
"6x3 ["
" 1 1.3 .54"
" 1 3.5 .65"
" 1 -2.3 .88"
" 1 8.2 .76"
" 1 -4.2 .32"
" 1 2.4 .43"
"]");
// Reduced model regression matrix. Contains the first 5
// rows of regMat.
RWGenMat<double> reducedRegMat(regMat(RWSlice(0, 5), RWAll));
// Full model observation vector.
RWMathVec<double> observationVec( "[12.3 15.6 22.3
44.1 32.5 65.2]" );
// Reduced model observation vector. Contains the first 5
// elements of the full model observation vector.
RWMathVec<double> reducedObservationVec(
observationVec(RWSlice(0,5)) );
RWLeastSqQRCalc calcObject;
// Set the base calculation for the parameter calculation
// object to the reduced regression matrix.
calcObject.setBaseCalc( reducedRegMat,
reducedObservationVec );
if ( calcObject.fail() )
{
cout << "Parameter calculation for reduced model failed" << endl;
return 1;
}
cout << "Parameters for reduced model:" <<
calcObject.parameters() << endl;
// Add the observation contained in the last row of the full
// model regression matrix using the data change class
// RWAddObservations.
observationVec, 1 );
calcObject.addObsToBaseCalc( dataChange );
if ( calcObject.fail() )
{
cout << "Parameter calculation for full model failed" << endl;
return 1;
}
cout << "Parameters for full model:" <<
calcObject.parameters() << endl;
return 0;
}
A templatized general matrix class.
Definition genmat.h:741
Calculates linear regression parameters using QR decomposition.
Definition lsqqr.h:68
virtual void setBaseCalc(const RWGenMat< double > &, const RWMathVec< double > &)
virtual RWMathVec< double > parameters(void) const
virtual bool fail(void) const
Definition lsqqr.h:99
A templatized vector class.
Definition mathvec.h:667
virtual void addObsToBaseCalc(const RWAddObservations< T, S > &dataChange)
Represents an index that can be used for subscripting vectors, matrices, and arrays.
Definition rwslice.h:105

Constructor & Destructor Documentation

◆ RWAddObservations() [1/3]

template<class T , class S >
RWAddObservations< T, S >::RWAddObservations ( )
inline

Default constructor. Constructs an empty RWAddObservations object.

◆ RWAddObservations() [2/3]

template<class T , class S >
RWAddObservations< T, S >::RWAddObservations ( const RWAddObservations< T, S > & a)
inline

Copy constructor. Constructs a copy of a.

◆ RWAddObservations() [3/3]

template<class T , class S >
RWAddObservations< T, S >::RWAddObservations ( const RWGenMat< T > & r,
const RWMathVec< S > o,
size_t numAdded,
bool setBaseToLast = false )
inline

Constructs an RWAddObservations object with the given regression matrix and observation vector. It assumes that the matrix r is obtained from the base calculations regression matrix by appending numAdded rows, and that the observation vector o is obtained from the base calculations by appending numAdded values. If setBaseToLast is true, the base calculations regression matrix is set to r.

Member Function Documentation

◆ numAdded()

template<class T , class S >
int RWAddObservations< T, S >::numAdded ( ) const
inline

Returns the number of observations added.

◆ setNumAdded()

template<class T , class S >
void RWAddObservations< T, S >::setNumAdded ( int na)
inline

Sets the number of observations added.

Copyright © 2024 Rogue Wave Software, Inc., a Perforce company. All Rights Reserved.