Package org.apache.commons.math3.filter
Class DefaultProcessModel
java.lang.Object
org.apache.commons.math3.filter.DefaultProcessModel
- All Implemented Interfaces:
ProcessModel
Default implementation of a
ProcessModel for the use with a KalmanFilter.- Since:
- 3.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate RealMatrixThe control matrix, used to integrate a control input into the state estimation.private RealMatrixThe initial error covariance matrix of the observed process.private RealVectorThe initial state estimation of the observed process.private RealMatrixThe process noise covariance matrix.private RealMatrixThe state transition matrix, used to advance the internal state estimation each time-step. -
Constructor Summary
ConstructorsConstructorDescriptionDefaultProcessModel(double[][] stateTransition, double[][] control, double[][] processNoise) Create a newProcessModel, taking double arrays as input parameters.DefaultProcessModel(double[][] stateTransition, double[][] control, double[][] processNoise, double[] initialStateEstimate, double[][] initialErrorCovariance) Create a newProcessModel, taking double arrays as input parameters.DefaultProcessModel(RealMatrix stateTransition, RealMatrix control, RealMatrix processNoise, RealVector initialStateEstimate, RealMatrix initialErrorCovariance) Create a newProcessModel, taking double arrays as input parameters. -
Method Summary
Modifier and TypeMethodDescriptionReturns the control matrix.Returns the initial error covariance matrix.Returns the initial state estimation vector.Returns the process noise matrix.Returns the state transition matrix.
-
Field Details
-
stateTransitionMatrix
The state transition matrix, used to advance the internal state estimation each time-step. -
controlMatrix
The control matrix, used to integrate a control input into the state estimation. -
processNoiseCovMatrix
The process noise covariance matrix. -
initialStateEstimateVector
The initial state estimation of the observed process. -
initialErrorCovMatrix
The initial error covariance matrix of the observed process.
-
-
Constructor Details
-
DefaultProcessModel
public DefaultProcessModel(double[][] stateTransition, double[][] control, double[][] processNoise, double[] initialStateEstimate, double[][] initialErrorCovariance) throws NullArgumentException, NoDataException, DimensionMismatchException Create a newProcessModel, taking double arrays as input parameters.- Parameters:
stateTransition- the state transition matrixcontrol- the control matrixprocessNoise- the process noise matrixinitialStateEstimate- the initial state estimate vectorinitialErrorCovariance- the initial error covariance matrix- Throws:
NullArgumentException- if any of the input arrays isnullNoDataException- if any row / column dimension of the input matrices is zeroDimensionMismatchException- if any of the input matrices is non-rectangular
-
DefaultProcessModel
public DefaultProcessModel(double[][] stateTransition, double[][] control, double[][] processNoise) throws NullArgumentException, NoDataException, DimensionMismatchException Create a newProcessModel, taking double arrays as input parameters.The initial state estimate and error covariance are omitted and will be initialized by the
KalmanFilterto default values.- Parameters:
stateTransition- the state transition matrixcontrol- the control matrixprocessNoise- the process noise matrix- Throws:
NullArgumentException- if any of the input arrays isnullNoDataException- if any row / column dimension of the input matrices is zeroDimensionMismatchException- if any of the input matrices is non-rectangular
-
DefaultProcessModel
public DefaultProcessModel(RealMatrix stateTransition, RealMatrix control, RealMatrix processNoise, RealVector initialStateEstimate, RealMatrix initialErrorCovariance) Create a newProcessModel, taking double arrays as input parameters.- Parameters:
stateTransition- the state transition matrixcontrol- the control matrixprocessNoise- the process noise matrixinitialStateEstimate- the initial state estimate vectorinitialErrorCovariance- the initial error covariance matrix
-
-
Method Details
-
getStateTransitionMatrix
Returns the state transition matrix.- Specified by:
getStateTransitionMatrixin interfaceProcessModel- Returns:
- the state transition matrix
-
getControlMatrix
Returns the control matrix.- Specified by:
getControlMatrixin interfaceProcessModel- Returns:
- the control matrix
-
getProcessNoise
Returns the process noise matrix. This method is called by theKalmanFilterevery prediction step, so implementations of this interface may return a modified process noise depending on the current iteration step.- Specified by:
getProcessNoisein interfaceProcessModel- Returns:
- the process noise matrix
- See Also:
-
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:
getInitialStateEstimatein interfaceProcessModel- Returns:
- the initial state estimation vector
-
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:
getInitialErrorCovariancein interfaceProcessModel- Returns:
- the initial error covariance matrix
-