org.apache.commons.math3.filter
Class DefaultProcessModel

java.lang.Object
  extended by org.apache.commons.math3.filter.DefaultProcessModel
All Implemented Interfaces:
ProcessModel

public class DefaultProcessModel
extends Object
implements ProcessModel

Default implementation of a ProcessModel for the use with a KalmanFilter.

Since:
3.0
Version:
$Id: DefaultProcessModel.java 1416643 2012-12-03 19:37:14Z tn $

Constructor Summary
DefaultProcessModel(double[][] stateTransition, double[][] control, double[][] processNoise)
          Create a new ProcessModel, taking double arrays as input parameters.
DefaultProcessModel(double[][] stateTransition, double[][] control, double[][] processNoise, double[] initialStateEstimate, double[][] initialErrorCovariance)
          Create a new ProcessModel, taking double arrays as input parameters.
DefaultProcessModel(RealMatrix stateTransition, RealMatrix control, RealMatrix processNoise, RealVector initialStateEstimate, RealMatrix initialErrorCovariance)
          Create a new ProcessModel, taking double arrays as input parameters.
 
Method Summary
 RealMatrix getControlMatrix()
          Returns the control matrix.
 RealMatrix getInitialErrorCovariance()
          Returns the initial error covariance matrix.
 RealVector getInitialStateEstimate()
          Returns the initial state estimation vector.
 RealMatrix getProcessNoise()
          Returns the process noise matrix.
 RealMatrix getStateTransitionMatrix()
          Returns the state transition matrix.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultProcessModel

public DefaultProcessModel(double[][] stateTransition,
                           double[][] control,
                           double[][] processNoise,
                           double[] initialStateEstimate,
                           double[][] initialErrorCovariance)
                    throws NullArgumentException,
                           NoDataException,
                           DimensionMismatchException
Create a new ProcessModel, taking double arrays as input parameters.

Parameters:
stateTransition - the state transition matrix
control - the control matrix
processNoise - the process noise matrix
initialStateEstimate - the initial state estimate vector
initialErrorCovariance - the initial error covariance matrix
Throws:
NullArgumentException - if any of the input arrays is null
NoDataException - if any row / column dimension of the input matrices is zero
DimensionMismatchException - if any of the input matrices is non-rectangular

DefaultProcessModel

public DefaultProcessModel(double[][] stateTransition,
                           double[][] control,
                           double[][] processNoise)
                    throws NullArgumentException,
                           NoDataException,
                           DimensionMismatchException
Create a new ProcessModel, taking double arrays as input parameters.

The initial state estimate and error covariance are omitted and will be initialized by the KalmanFilter to default values.

Parameters:
stateTransition - the state transition matrix
control - the control matrix
processNoise - the process noise matrix
Throws:
NullArgumentException - if any of the input arrays is null
NoDataException - if any row / column dimension of the input matrices is zero
DimensionMismatchException - if any of the input matrices is non-rectangular

DefaultProcessModel

public DefaultProcessModel(RealMatrix stateTransition,
                           RealMatrix control,
                           RealMatrix processNoise,
                           RealVector initialStateEstimate,
                           RealMatrix initialErrorCovariance)
Create a new ProcessModel, taking double arrays as input parameters.

Parameters:
stateTransition - the state transition matrix
control - the control matrix
processNoise - the process noise matrix
initialStateEstimate - the initial state estimate vector
initialErrorCovariance - the initial error covariance matrix
Method Detail

getStateTransitionMatrix

public RealMatrix getStateTransitionMatrix()
Returns the state transition matrix.

Specified by:
getStateTransitionMatrix in interface ProcessModel
Returns:
the state transition matrix

getControlMatrix

public RealMatrix getControlMatrix()
Returns the control matrix.

Specified by:
getControlMatrix in interface ProcessModel
Returns:
the control matrix

getProcessNoise

public RealMatrix getProcessNoise()
Returns the process noise matrix. This method is called by the KalmanFilter every prediction step, so implementations of this interface may return a modified process noise depending on the current iteration step.

Specified by:
getProcessNoise in interface ProcessModel
Returns:
the process noise matrix
See Also:
KalmanFilter.predict(), KalmanFilter.predict(double[]), KalmanFilter.predict(RealVector)

getInitialStateEstimate

public RealVector getInitialStateEstimate()
Returns the initial state estimation vector.

Note: if the return value is zero, the Kalman filter will initialize the state estimation with a zero vector.

Specified by:
getInitialStateEstimate in interface ProcessModel
Returns:
the initial state estimation vector

getInitialErrorCovariance

public RealMatrix getInitialErrorCovariance()
Returns the initial error covariance matrix.

Note: if the return value is zero, the Kalman filter will initialize the error covariance with the process noise matrix.

Specified by:
getInitialErrorCovariance in interface ProcessModel
Returns:
the initial error covariance matrix


Copyright © 2003-2013 The Apache Software Foundation. All Rights Reserved.