Class DefaultProcessModel
- java.lang.Object
-
- org.apache.commons.math4.legacy.filter.DefaultProcessModel
-
- All Implemented Interfaces:
ProcessModel
public class DefaultProcessModel extends Object implements ProcessModel
Default implementation of aProcessModel
for the use with aKalmanFilter
.- Since:
- 3.0
-
-
Constructor Summary
Constructors Constructor Description DefaultProcessModel(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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.
-
-
-
Constructor Detail
-
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 isnull
NoDataException
- 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
KalmanFilter
to default values.- Parameters:
stateTransition
- the state transition matrixcontrol
- the control matrixprocessNoise
- the process noise matrix- Throws:
NullArgumentException
- if any of the input arrays isnull
NoDataException
- 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 Detail
-
getStateTransitionMatrix
public RealMatrix getStateTransitionMatrix()
Returns the state transition matrix.- Specified by:
getStateTransitionMatrix
in interfaceProcessModel
- Returns:
- the state transition matrix
-
getControlMatrix
public RealMatrix getControlMatrix()
Returns the control matrix.- Specified by:
getControlMatrix
in interfaceProcessModel
- Returns:
- the control matrix
-
getProcessNoise
public RealMatrix getProcessNoise()
Returns the process noise matrix. This method is called by theKalmanFilter
every prediction step, so implementations of this interface may return a modified process noise depending on the current iteration step.- Specified by:
getProcessNoise
in interfaceProcessModel
- 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 interfaceProcessModel
- 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 interfaceProcessModel
- Returns:
- the initial error covariance matrix
-
-